Cloxy

CloxySEO блогURL адреси на кирилица

URL адреси на кирилица

Фактор ли са адресите на кирилица за SEO? Как правилно да ги кодираме и линкваме? На къде да сочи canonical релацията при такъв URL? Да пренасочим ли варианта с големи букви към варианта с малки?


Налични формати: 720p WebM (VP8) | 1080p WebM (VP9) | 360p MP4 (H.264)

Транскрипция

Здравейте! Аз съм Васил Тошков от Cloxy, а темата днес са адресите на кирилица. Първо - защо ни се налага да използваме адреси на кирилица? Мисля, че вече е ясно, правихме и експерименти. Те са фактор за SEO. Освен че са фактор за SEO, в някои случаи са много лесни за използване. Примерно, при блог платформи, форум платформи, социални мрежи - изобщо всички сайтове в Web 2.0 ни се иска потребителят просто да пише едно заглавие, описание и да публикува.

При такъв вариант адресът на съответния пост може да е в 2 варианта - или да е на кирилица, т.е. да пренапишем заглавието с малки букви и да го направим на кирилица с тирета, вместо разделители, или да е някакво ID, което не изглежда сериозно и нищо не говори на потребителя, а и на търсачките, когато потребителите виждат резултата в търсачките.

Понякога ни се налага да работим с адреси на кирилица искаме не искаме. В това видео искам да засегна някои проблеми, които често се срещат при адресите на кирилица и поне според мен как са техните решения. За съжаление няма някакви утвърдени стандарти и ще видите малко по-късно, че не се работи толкова лесно, не е толкова лесно да се каже така е правилно да се прави, така не е правилно.

Всяко нещо е относително, спрямо случая, с който се работи. Първото нещо, което трябва да отбележим при адресите на кирилица, е че реално в HTTP протокола няма такова нещо, като адреси на кирилица. Спрямо HTTP протокола за URL и URI адреси, адресът съдържа малки и главни букви от A-Z, числа и някои специални знаци, като някои от тях са запазени, други - не. Всички останали символи се кодират по този начин, като в тях влиза кирилицата, т.е. всички специални знаци.

В случая ще разгледаме случая /аб/. Реално погледнато той в същност представлява следното нещо, кодирано шестнадесетично. Всеки един байт се кодира, тъй като кирилицата се кодира в случая с Уникод и всяка една буква се кодира с 2 байта, и има по две двойки шестнадесетични числа, които въпреки че са букви, в същност представят числа, които помагат на системите и по този начин се комуникира с адресите на кирилица.

Принципно всяка една функция в PHP, в Java Script, в PHP urlencode() или rawurlencode(). В Java Script се нарича encodeURIComponent() и т.н. При кодиране на този адрес в същност ни връща този адрес, който е с големите букви. Моят съвет е в URL адресите да няма никакви големи букви. Това не е закон, не е практика, но е моят съвет.

При адресите на кирилица, както виждате, има големи букви. Моят съвет е винаги да ги приравнявате към малки букви. Когато съхранявате URL адреса във вашата система, независимо как го съхранявате и как правите структурата, винаги правете така, че всички адреси да са с малки букви. Това е една добра практика, да няма никакви адреси с големи букви.

Не пречи със strtolower() под PHP или в зависимост от езика, който използвате, да си ги направите малки и по този начин да работите с тях. Както и всеки един URL адрес. Това означава, че реално каноничният ни адрес, ако имаме някакъв сайт /аб/, каноничният ни адрес ще е, както аз препоръчвам, адресът, наклонена и ако е на кирилица - с малки букви, ако е на латиница - там е съвсем друг въпрос, нямаме никакъв проблем.

Това ни е каноничният адрес. Не зависимо, че потребителят може да отвори адреса с големи букви и просто да го въведе така. Всъщност адресът ни представлява това. За това съм го подчертал. За мен това е най-правилния вариант. Освен, че натам трябва да сочи canonical-ът, по този начин трябва и да линкваме навсякъде.

Много често се задава тази тема в Интернет. Как да линкваме адресите на кирилица? Дали да ги линкваме в оригиналния им вариант или чрез кодирания вариант? Моят съвет е - чрез кодирания вариант. Тъй като, както казах, в HTTP протокола няма такова нещо, като адрес на кирилица. И правилният вариант е кодираният.

Да, ако го направите с варианта на кирилица, Google ще го разпознае. Този проблем им е ясен. Дори canonical-а да сочи към варианта с кирилица, отново всичко работи, но проблемът е, че всички останали системи не могат да се оправят, ако адресите ви сочат към некодирания вариант.

Примерно търсачката Bing изпада в ужас, като види подобно нещо в a href и започва да цикли и накрая се отказва. Тъй като аз съм се опитвал да правя такива ботове , който обхождат Интернет, всички стандартни инструменти, дори и най-елементарният - примерно wget под Linux командата няма да се справи с такова нещо или последно, когато съм пробвал, не се е справяла и всичко се зацикля и реално погледнато това са най-големите проблеми - адресите.

Всички останали системи ще имат проблеми, дори и някои популярни SEO инструменти, когато анализират целия сайт, казват не мога да прочетат такъв адрес. Винаги използвайте кодирания вариант, може дори и с големи букви. Спрямо HTTP протокола тези неща са едно и също.

Така е написано в протокола, независимо как ще го напишем трябва да представя едно и също нещо, което също е проблем. Тази липса на стандарт създава проблема, че реално това не са едни и същи адреси. Аз мога да направя на тези два адреса да се отварят различни неща, въпреки че те изглеждат едни и същи. Така че го имайте предвид. Моят съвет е вариант с малки букви и canonical към него.

Преди една година Google тези два варианта ги възприемаше като два различни адреса, даже в Webmaster Tools се ревеше, че има дублирано съдържание между различни адреси. Това, което направих и моя съвет тогава беше да се редиректва варианта с големи букви към варианта с малки букви. Тъй като това е най-естественото нещо.

Примерно, ако на адрес на кирилица напише някой /аб/ с големи букви, напълно нормално е да редиректне с малки, както браузърите редиректват, ако напишеш домейна с големи букви. Това е една добра практика, по която върви целия Интернет. Проблемът е, че ако Google редиректне при кирилица варианта с големи букви към варианта с малки, а то реално се редиректва.

Проблемът е, че Google изпада в цикъл. Когато му кажеш да пренасочи към варианта с малки букви, той се опитва да зареди варианта с малки, но всъщност се опитва да зареди варианта с големи и се задълбава и не може да индексира адресите на кирилица. Този проблем със сигурност го нямаше до преди няколко месеца или година.

Тогава го тествахме и работеше, вижте нещата се променят. В момента прави проблем и временно аз съм спрял, лично при моите проекти, пренасочването от големи към малки букви като цяло и разчитам само на canonical, но се надявам, а и между другото съм писал репорт, ако някой го прочете, да го оправят това нещо и тъй като правилния вариант, според мен е да се редиректва.

То е много по-естествено. Аз съм казал, че canonical трябва да се използва само в два случая - когато работим с параметри и с SSL сертификати. За всички останали случаи принципно перфектният вариант е 301 пренасочване. В случая има изключение, което се надявам да оправят един ден.

Имайте предвид, че както Google, Bing и други търсачки по подразбиране винаги отварят адреса с големи букви, може би, защото така е написано в HTTP протокола, че е едно и също и очакват от нас да е едно и също. Липсата на стандарти е голям проблем.

Подобно нещо се случва и при браузърите. При всички браузъри, дори да сме заредили варианта с малки букви, при копиране от адрес от адрес бара, ни го копира във временната памет на компютъра или като кирилица, което е тенденция да става така (Opera, Firefox). Проблемът е, че, ако не е на кирилица ни го копира с големи букви, въпреки че сме заредили варианта с малки.

Имайте това предвид. Потребителите, когато копират отново и да искат да ви линкват, пак ще ви линкват към варианта с големи букви. Този проблем трябва да се реши. Най-добре с canonical. WordPress са го решили по този начин и аз много го харесвам, въпреки че не харесвам като цяло системата. Решението им е перфектно.

Винаги използват варианта с малки букви, като canonical, като линкване и навсякъде. Ако някой отвори варианта с големи букви, пак разчитат на canonical да насочва към варианта с малки. Не пренасочват и може би са видели проблемите с Google и другите търсачки.

Нещо, което искам накрая да отбележа като друг проблем и то много голям при адресите на кирилица - това е, че дори всичко да е перфектно и ние да редиректваме от варианта с големи букви към варианта с малки, при кирилицата няма как да редиректнем самата кирилица варианта с големи към варианта с малки. Какво имам предвид?

Ако тук напишем голямо АБ, то кодът на това нещо, кодирано ще е съвсем различен. Голямото А ще се кодира с два байта, съвсем различни от малкото а. Това е един проблем, който, ако трябва да решим, трябва да правим някакви хеш таблици, в които да търсим голямата буква и ако я намерим да пренаписва адреса към малката. Не, че не е възможно, но просто искам да го отбележа като проблем.

Не може просто да редиректнеш големите букви към малките и да ги редиректнеш по този начин. Различно е кодирането. Това е за днес. Най-важното, което трябва да се запомни и като съвет е да използвате този вариант - кодирания и то с малки букви. Всичко останало като се отвори трябва да сочи като canonical към него.

Това е за днес. Надявам се да е било полезно. До следващия път! Чао за сега!

бутон за споделяне
Публикувано от на
Средна оценка 4.33 / 5 (6 гласа)

6 коментара

Васил Тошков

Име: Васил Тошков

Дата: 06.02.2014 10:24:07

Оценка: 5 / 5

Web 2.0 имах предвид, но изядох двойката :)

ilko

Име: ilko

Дата: 07.02.2014 09:15:44

Оценка: 5 / 5

Благодаря за урока и атрактивното и популярното поднасяне на темата за различните вариации на представяне на URL адресите на кирилица.
Очаквах да чуя обаче едно изречение за това дали използването на адреси, изписани на кирилица имат някакво предимство пред варианта с транслирането на символите в думите към латински букви. Може ли кратък текстов отговор?

Васил Тошков

Име: Васил Тошков

Дата: 07.02.2014 09:36:30

Оценка: 4 / 5

Лично аз не предпочитам транслитерирането, защото изглежда грозно. Но има случаи в които може да е полезно. Примерно ако оптимизираме тинейджърски сайт и искаме да хванем търсенията на шльокавица. Не върви да пишем на чатовски в заглавието на документа, но в този случай не е фатално да е по този начин в адреса.

Всичко е спрямо случая. Но автоматично лично аз никога не бих пуснал да се заменят буквите на кирилица с латински. Поне не се сещам за случай, в който да е полезно, може и да има такъв.

Огнян Цонев

Име: Огнян Цонев

Дата: 01.03.2014 16:39:43

Оценка: 4 / 5

Аз бих казал, че ако има предимство е минимално и то главно в търсачки различни от Google. Аз се сещам за случай в който транслирането е предимство: ако публикувате линка си на печатен носител или го закодирате в QR код. Потребителите ще видят нещо което биха прочели вместо ужасяващи символи и яроглифи.
Бих изтъкнал още, че някои браузъри все още имат проблем с линкове на кирилица, копирането им и пействането им (пример: Firefox).

Относно SEO не мисля, че везните са наклонени в едната или другата посока, просто е модерно да се ползват линкове на кирилица!

Anton Katsarov

Име: Anton Katsarov

Дата: 15.05.2015 21:06:00

Оценка: 4 / 5

Не бих казал, че е грозно. В българския език има правило за транслитерация, макар че доста се е променяло през годините [1]. Честно казано, аз съм го използвал в сайтове и при търсене на кирилица в Google, резултат се разпознава в транслитерирания адрес. Според мен не е грозно, ако се спазва стандартa, а и очевидно Google го поддържа. Мраза "шлцокавицата", но транслитерирането не е "шльокавица".

На мен кодирания адрес ми изглежда по-зле, честно казано. Но не мога да твърдя кой от двата варианта е по-ефективен за SEO,

[1] https://goo.gl/m5u6KM

Petko Nikiforov

Име: Petko Nikiforov

Дата: 23.05.2015 08:48:14

Оценка: 4 / 5

Здравей. Поздравления за поредното изключително полезно видео. Към днешна дата търсачките продължават ли да изпадат в цикъл ако адресът с големи букви се пренасочи към адреса с малки букви?

Добавяне на коментар