SEO
21 юли 2022

Оптимизация на URL адреси

1. Какво представлява SEF URL адресът

1.1 За термина

SEF (Search Engine Friendly) URL е адрес, изграден логично и разбираем за човек. Среща се и като clean URL, pretty URL, user-friendly URL, а в рускоезичната и в нашата практика – като ЧПУ.

Първата подробност си заслужава да се спомене: търсачките не използват този термин. В документацията на Google няма „SEF". Google пише за URL структура, описателни адреси, slug и permalink.[1][2] Терминът идва от средите на системите за управление на съдържание, където обозначава пренаписването на адреси от вида index.php?option=com_content&id=42 в четим път.

Това има практическо значение. Ако търсите официално потвърждение за „SEF практики", няма да го намерите под това име. То е разпръснато из десетина документа, които тази статия събира на едно място.

1.2 От какво се състои адресът

От какво се състои SEF URL адресът

Протокол https:// или http://
Хост поддомейнът, домейнът и домейнът от първо ниво заедно
Път йерархията от сегменти, разделени с наклонена черта
Параметри низът след въпросителния знак
Фрагмент всичко след диеза

За инфраструктурата за обхождане на Google „сайт" означава уникален хост.

1.3 Едно определение, което ще ни трябва по-нататък

За инфраструктурата за обхождане на Google „сайт" означава уникален хост. https://www.example.com/ и https://code.example.com/ са два отделни сайта с два отделни бюджета за обхождане.[5]

Ще се върнем към това два пъти – при поддомейните и при многоезичните сайтове.

2. Кое Google изисква и кое препоръчва

Тази разлика редкo се прави в българските материали, а е основната. Документацията за URL структура е разделена на две отделни таблици – изисквания и добри практики.[1]

Ако адресите не покриват изискванията, Google предупреждава, че вероятно ще обхожда сайта неефективно, включително с прекомерно висока честота на обхождане или изобщо няма да го обхожда.[1]

2.1 Трите изисквания

Съответствие с IETF STD 66. Google поддържа адресите така, както ги дефинира стандартът. Символите, които стандартът определя като резервирани, задължително се кодират процентно.[1]

Без фрагменти за смяна на съдържанието. Google по принцип не поддържа фрагменти в адреса. Адрес от вида https://example.com/#/potatoes създава проблем. Когато съдържанието се сменя чрез JavaScript, решението е History API.[1][17]

Стандартно кодиране на параметрите. Знак за равенство между ключа и стойността, амперсанд между отделните параметри. За няколко стойности на един ключ – символ, който не влиза в конфликт със стандарта, например запетая.[1]

Google дава изричен пример какво не приема:

Препоръчително

Непрепоръчително

?category=dresses&sort=low-to-high&sid=789

?[category:dresses][sort:price-low-to-high][sid:789]

?category=dresses&color=purple,pink,salmon

?category,dresses,,sort,lowtohigh,,sid,789


Ако филтрите на магазина ви генерират адреси от втората колона, това не е въпрос на естетика, а неизпълнено изискване.

2.2 Седемте препоръки

  1. Описателни думи вместо дълги идентификатори. example.com/wiki/Aviation вместо example.com/index.php?topic=42&area=3a5ebc944f41daa6f849f730f1[1]

  2. Езикът на аудиторията в адреса, „и ако е приложимо, транслитерирани думи"[1]

  3. Процентно кодиране в атрибутите href, където се налага[1]

  4. Тирета вместо долни черти[1]

  5. Възможно най-малко параметри. Тези, които не променят съдържанието, отпадат[1]

  6. Съобразяване с това, че адресите са чувствителни към регистъра[1]

  7. Структура, която улеснява геотаргетирането при многорегионални сайтове[1]

2.3 Тиретата: формулировката на Google е по-полезна от обичайната

Обичайното обяснение е, че тирето се чете като интервал, а долната черта – не. Google го формулира по-конкретно:

По исторически причини не препоръчваме долни черти, защото този стил вече се използва широко за обозначаване на понятия, които трябва да останат заедно – например при именуването на функции в програмните езици, като format_date.[1]

Стилистичното ръководство на Google за техническа документация казва същото за имената на файлове и папки.[18]

Още през 2007 г. Matt Cutts, тогава ръководител на екипа Webspam в Google, добави важното уточнение: ако сайтът работи с долни черти, преправянето им не си заслужава. Тиретата са изборът за нови адреси.[19]

Практически извод: aко имате ресурс за едно нещо, покрийте изискванията. Препоръките надграждат, но не заместват основата.

3. Пет неща, за които Google казва, че нямат значение

Тази глава е за задачи, които спокойно могат да отпаднат от списъка.

Google поддържа страница „Митове и факти за обхождането", на която сам поставя разпространени твърдения и им отговаря.[3]

Разпространено твърдение

Отговорът на източника

Google предпочита чисти адреси и не харесва параметри

Невярно. Параметрите се обхождат[3]

По-късите адреси се класират по-добре

Дължината няма значение. Адресите служат като идентификатори[4]

Повече наклонени черти вредят на класирането

Броят наклонени черти не влияе на класирането[4]

По-честото обхождане води до по-добро класиране

Невярно. Обхождането е необходимо, но не е сигнал за класиране[3]

Ключовата дума в адреса е сериозен фактор

Ключовите думи в домейна или в пътя почти нямат ефект извън появата им в навигационната пътека[2]

3.1 Защо тогава проучванията откриват по-къси адреси в челните позиции

Отговорът е публичен, но рядко се цитира.

В епизод на #AskGooglebot John Mueller от Google отговаря директно: дължината няма значение, защото адресите служат като идентификатори. Лично той държи адресите под 1 000 знака, но заради удобството при наблюдение, не заради SEO.[4]

След това идва уточнението, което обяснява всичко:

Единствената част от системите ни, в която дължината на адреса играе роля, е канонизацията. Когато открием няколко копия на една страница и трябва да изберем един адрес за индексиране, при по-кратък и по-ясен адрес системите ни са склонни да изберат него.[4]

Това не влияе на класирането. Влияе на въпроса кой от няколко дублирани адреса ще се покаже.[4]

Ето и механизмът зад корелацията. Големите сайтове с натрупан авторитет имат кратки адреси на важните си категорийни страници. Дългите адреси обикновено принадлежат на дълбоко разположено съдържание с по-малко връзки към него. Корелацията е реална. Причината обаче е другаде.

3.2 Дълбочината на папките не е дълбочина на кликовете

Двете лесно се смесват, а разликата има значение.

Google ги разделя изрично. На твърдението „колкото по-близо е съдържанието до началната страница, толкова по-важно е за Google" отговорът е отчасти вярно:

Началната страница често е най-важната на сайта, затова страниците, свързани директно с нея, може да се възприемат като по-важни и да се обхождат по-често. Това обаче не означава, че ще се класират по-високо от останалите страници на сайта.[3]

Тоест броят кликове от началната страница влияе върху честотата на обхождане. Броят наклонени черти в адреса не влияе върху нищо.[3][4]

3.3 Още пет уточнения от същия източник

  • noindex не пести бюджет за обхождане. Google трябва да свали страницата, за да види правилото[3][5]

  • crawl-delay в robots.txt не се обработва от Google[3]

  • Страниците със статус 4xx, с изключение на 429, не изразходват бюджет за обхождане[3]

  • Компресираните карти на сайта не увеличават бюджета за обхождане[3]

  • Алтернативните адреси (hreflang, AMP), CSS, JavaScript и заявките XHR изразходват бюджет за обхождане[3]

4. Адресът като идентификатор: дубликати и канонизация

Ако имате време за една глава, нека е тази. Почти всички реални проблеми с адресите се свеждат до един въпрос – колко адреса водят до едно и също съдържание.

4.1 Всяка разлика в изписването създава нов документ

Канонизацията е процесът, при който търсачката избира представителен адрес за дадено съдържание. Google изброява типичните причини за дубликати: регионални варианти, версии за различни устройства, варианти по протокол, функциите за сортиране и филтриране, както и случайни варианти – например забравена тестова среда, достъпна за роботите.[13]

Bing допълва техническия списък: параметри в адреса, версии по HTTP и HTTPS, главни и малки букви, наклонена черта в края, версии за печат, публично достъпни тестови или архивни страници.[10]

Bing допълва техническия списък: параметри в адреса, версии по HTTP и HTTPS, главни и малки букви, наклонена черта в края, версии за печат, публично достъпни тестови или архивни страници

4.2 Регистърът: широко разпространено схващане, което не се потвърждава

Често се твърди, че днес почти всички сървъри третират главните и малките букви еднакво.

Документацията на Google казва друго, при това недвусмислено:

Като всеки друг HTTP клиент, който следва IETF STD 66, обработката на адреси в Google Search е чувствителна към регистъра. Например Google третира /APPLE и /apple като различни адреси със собствено съдържание.[1]


Следва и препоръката:

Ако вашият сървър третира двете еднакво, приведете целия текст към един регистър, за да е по-лесно на Google да разбере, че адресите сочат към една и съща страница.[1]

На практика: изберете малки букви и наложете правилото на ниво сървър.

4.3 Как се избира каноничният адрес

Google подрежда методите по сила на въздействие в самата документация.[14] Две подробности изненадват.

Нито един метод не е задължителен. Дословно: сайтът най-вероятно ще се справи и без посочен каноничен адрес, защото ако не го направите, Google ще прецени коя версия е обективно най-подходяща за показване.[14]

Методите се допълват. Използването на два или повече увеличава шанса предпочитаният от вас адрес да се появи в резултатите.[14]

Каноничната страница се обхожда най-редовно. Дубликатите се обхождат по-рядко, за да се намали натоварването върху сайта.[13]

Каноничната страница се обхожда най-редовно. Дубликатите се обхождат по-рядко, за да се намали натоварването върху сайта.[13]

4.4 Дублираното съдържание не се наказва

Google, в SEO Starter Guide, под заглавието „Неща, върху които според нас не си струва да се фокусирате":

Ако имате съдържание, достъпно на няколко адреса, това е нормално и няма за какво да се притеснявате. Неефективно е, но не води до ръчна санкция.[2]

Bing описва същото по-подробно: дублиращите се адреси сами по себе си не вредят на сайта, но размиват информацията, с която търсачките разбират съдържанието и оценяват релевантността. Сигналите – кликове, връзки, импресии, ангажираност – се разпределят между няколко адреса, вместо да усилят един.[10]

Сигналите – кликове, връзки, импресии, ангажираност – се разпределят между няколко адреса, вместо да усилят един.[10]

4.5 Един инструмент на Bing, за който рядко се говори

Bing предлага URL Normalization в Bing Webmaster Tools – правила за нормализация, които се задават директно в инструмента, без промени по кода. Логиката е, че роботът продължава да посещава каноничните източници, за да провери дали целта не се е сменила, и така изразходва ресурс. Правилата за нормализация решават въпроса по-рано в процеса.[28]

Полезно, когато екипът за разработка няма капацитет да въведе канонични тагове веднага.

4.6 Класическият случай: продукт в две категории


Два различни адреса с идентично съдържание. Решенията са три:

  1. Продуктите извън категорийната йерархия – /product-1. Google препоръчва точно това при варианти на продукти: за каноничен се използва адресът без параметри[23]

  2. Каноничен таг от вложените версии към основната

  3. Последователност във вътрешните връзки, за да сочат всички към каноничния адрес

Третото се пропуска най-често, а има най-голямо значение.

5. Параметри, филтри и бюджет за обхождане

5.1 Първо: отнася ли се темата до вашия сайт

Google дава конкретни ориентири за кои сайтове бюджетът за обхождане (crawl budget) има смисъл:[5]

  • Големи сайтове с над 1 милион уникални страници, чието съдържание се променя умерено често, около веднъж седмично

  • Средни и по-големи сайтове с над 10 000 уникални страници с ежедневно променящо се съдържание

  • Сайтове, при които голяма част от адресите попадат в Search Console в категорията „Discovered – currently not indexed"

Google уточнява, че числата са груб ориентир, а не точни прагове.[5] И добавя изречението, което спестява доста излишна работа:

Ако сайтът ви няма голям брой бързо променящи се страници или ако страниците изглежда се обхождат в деня на публикуване, това ръководство не ви е нужно.[5]


За блог с 200 страници темата е обща култура, а не приоритет.

5.2 Как работи

Бюджетът за обхождане се формира от две неща.[5]

Лимит на капацитета за обхождане, наричан и hostload. Той ограничава общото време, в което сървърът ви държи връзки отворени за Google. Всеки сайт започва с еднакъв консервативен лимит. При стабилни отговори и добри времена лимитът се вдига. При забавяне, при грешки 5xx или при сигнали за ограничаване като 429 лимитът пада.[5]

Потребност от обхождане. Зависи от размера на сайта, честотата на обновяване, качеството и релевантността спрямо други сайтове. Факторът, върху който имате най-голямо влияние, Google нарича perceived inventory: без насока от вас Google се опитва да обходи всички адреси, за които знае. Ако много от тях са дубликати или ненужни страници, това изразходва време.[5]

Двете заедно дават определението: бюджетът за обхождане е наборът от адреси, които Google може и иска да обходи.[5][16]

Едно важно допълнение: лимитът на капацитета е споделен между всички роботи на Google. По-високата потребност на един бот намалява капацитета за останалите.[5]

5.3 Филтърна навигация

Филтрите в онлайн магазините са най-честият източник на проблеми с обхождането. Google има отделен документ по темата.[9]

Механизмът е следният: всяка комбинация от филтри създава нов адрес. Понеже адресите изглеждат нови, а роботът не може да прецени дали са полезни, преди да ги свали, той обхожда огромен брой безполезни адреси, докато системите му установят, че са безполезни. Страничният ефект е по-бавно откриване на новото съдържание.[9]

Ако не искате филтрите да се индексират, Google предлага два подхода.[9]

Правила в robots.txt, с конкретен пример:

user-agent: Googlebot

disallow: /*?*products=

disallow: /*?*color=

disallow: /*?*size=

allow: /*?products=all$

Или – и това изненадва мнозина – филтриране чрез фрагменти. Понеже Google по принцип не поддържа фрагменти при обхождане, филтър, базиран на фрагмент, няма никакво отражение върху обхождането, нито положително, нито отрицателно:[9]

Google посочва, че rel="canonical" и rel="nofollow" също са възможност, но в дългосрочен план са по-малко ефективни от горните два метода.[9]

Ако искате филтрите да се индексират, правилата са три.[9]

  1. Използвайте стандартния разделител &. Запетаята, точката и запетаята и скобите се разпознават трудно като разделители, защото най-често не изпълняват такава роля

  2. Ако кодирате филтрите в пътя, например /products/fish/green/tiny, логическият им ред трябва да остава винаги един и същ и не бива да съществуват дублирани филтри

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

5.4 Компромисът, който си струва да се направи съзнателно

Подход

Пести бюджет за обхождане

Обединява сигналите

Блокиране в robots.txt

Да

Не

rel="canonical"

Не – роботът трябва да свали всеки дубликат, за да види тага

Да

Фрагменти

Да

Не се налага


Google добавя две уточнения за robots.txt. Файлът не се използва за временно преразпределяне на бюджет, а само за блокиране на неща, които изобщо не искате обходени. И блокираните адреси остават в опашката за обхождане много по-дълго, докато 404 или 410 са силен сигнал адресът да не се обхожда повече.[5]

5.5 Идентификатори на сесия и параметри за проследяване

Google е недвусмислен: избягвайте идентификаторите на сесия в адресите и обмислете бисквитки вместо тях.[1]

Проблемът е конкретен. Ако идентификаторът се добавя като параметър, Googlebot получава нов номер при всяко посещение, а всички тези адреси съдържат едно и също.

Същото важи за параметрите за препращане и за сортиране – Google ги изброява поименно като „нерелевантни параметри", които създават голям брой адреси.[1]

Решението е саморефериращ каноничен таг към чистия адрес:

<link rel="canonical" href="https://sait.bg/blog/saveti-url-optimizatsia">

вместо

5.6 Безкрайни пространства от адреси

Google посочва два класически източника.[1]

Календари. Динамично генериран календар може да създава връзки към бъдещи и минали дати без ограничение. Решението е nofollow към динамично създаваните бъдещи страници.

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

5.7 Какво се случи с инструмента за параметри

Инструментът URL Parameters в Search Console беше обявен за спиране на 28 март 2022 г. и изключен на 26 април същата година.

Google посочи причината: едва около 1% от конфигурациите в инструмента са били полезни за обхождането. Останалите не са носели полза, а от собствениците на сайтове не се е изизквало никакво действие.[15]

Днес контролът върху параметрите минава през правила в robots.txt и през hreflang за езиковите варианти.[15]

6. Кирилица, транслитерация и многоезични сайтове

Тук разликата между писаното на български и документираното е най-голяма.

6.1 Езикът на страницата не се разпознава по адреса

Изречението стои в документацията за многоезични сайтове и почти не се цитира:

Google използва видимото съдържание на страницата, за да определи езика ѝ. Не използваме информация на ниво код, като атрибути lang, нито URL адреса.[8]

Следствието е директно: доводът „сложи кирилица в slug-а, за да разбере Google, че страницата е на български" няма основание. Езикът се разпознава по текста.

Google допълва: използвайте един език за съдържанието и навигацията на всяка страница и избягвайте паралелни преводи един до друг.[8

5.6 Безкрайни пространства от адреси

Google посочва два класически източника.[1]

Календари. Динамично генериран календар може да създава връзки към бъдещи и минали дати без ограничение. Решението е nofollow към динамично създаваните бъдещи страници.

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

5.7 Какво се случи с инструмента за параметри

Инструментът URL Parameters в Search Console беше обявен за спиране на 28 март 2022 г. и изключен на 26 април същата година.

Google посочи причината: едва около 1% от конфигурациите в инструмента са били полезни за обхождането. Останалите не са носели полза, а от собствениците на сайтове не се е изизквало никакво действие.[15]

Днес контролът върху параметрите минава през правила в robots.txt и през hreflang за езиковите варианти.[15]

6. Кирилица, транслитерация и многоезични сайтове

Тук разликата между писаното на български и документираното е най-голяма.

6.1 Езикът на страницата не се разпознава по адреса

Изречението стои в документацията за многоезични сайтове и почти не се цитира:

Google използва видимото съдържание на страницата, за да определи езика ѝ. Не използваме информация на ниво код, като атрибути lang, нито URL адреса.[8]

Следствието е директно: доводът „сложи кирилица в slug-а, за да разбере Google, че страницата е на български" няма основание. Езикът се разпознава по текста.

Google допълва: използвайте един език за съдържанието и навигацията на всяка страница и избягвайте паралелни преводи един до друг.[8]

Google допълва: използвайте един език за съдържанието и навигацията на всяка страница и избягвайте паралелни преводи един до друг.[8]

6.2 Какво препоръчва Google за самите адреси

От документацията за URL структура: използвайте думи на езика на аудиторията, „и ако е приложимо, транслитерирани думи".[1]

От документацията за многоезични сайтове: локализирани думи в адреса са допустими, както и интернационализирани домейни, но задължително с кодиране UTF-8 и с правилно екраниране при поставяне на връзки.[8]

6.3 Процентното кодиране в таблицата на Google

В таблицата „Use percent encoding as necessary" кодираният вариант стои в колоната препоръчително, а нативният – в колоната непрепоръчително. Примерите включват арабски, китайски, немски с умлаут и емоджи:[1]

Google дава официален пример дори с емоджи и препоръчва кодираната версия.

6.4 Какво се случва с кирилицата на практика

Кирилицата в адресите се индексира. Затруднението не е в индексирането, а в споделянето. Думата здравей в кодиран вид изглежда така:

%D0%B7%D0%B4%D1%80%D0%B0%D0%B2%D0%B5%D0%B9

Ето къде поведението се различава:

Среда

Какво се случва

Адресна лента на браузъра

Разкодира и показва кирилицата

Копиране и поставяне в чат или имейл

Обикновено поставя кодирания низ

Карти при споделяне в социалните мрежи

Зависи от платформата

Сървърни записи и аналитика

Кодиран низ, труден за четене в отчетите

Печат, диктуване по телефона, QR код

На практика неизползваем

6.5 Официалният български стандарт и това, което прави приставката

Тук няма източник от Google или Bing и си струва да се каже. Нормативната рамка е българска.

Законът за транслитерацията, обнародван в Държавен вестник бр. 19 от 13 март 2009 г., въвежда така наречената Обтекаема система за транслитерация на българските букви с латински.[40]

Разминаванията в практиката са три:

Буква

Закон 2009

ISO 9

Типична приставка

ж

zh

ž

zh

ч

ch

č

ch

ш

sh

š

sh

щ

sht

ŝ

sht или sch

ъ

a

ʺ

u или y

ю

yu

û

yu или ju

я

ya

â

ya или ja

Два практически извода:

  1. ISO 9 не става за slug. Диакритиките изискват процентно кодиране и връщат точно затруднението, което транслитерацията би трябвало да реши

  2. Проверете какво прави вашата приставка с буквата „ъ". Много инструменти прилагат руски правила върху български текст и дават u или y вместо a. Изберете едно поведение и го запишете като вътрешен стандарт на проекта, преди да сте публикували хиляди адреса

6.6 Структура за многоезични сайтове

Google дава пълна таблица с предимствата и недостатъците.[8]

Структура

Предимства

Недостатъци

Национален домейн


example.de

Ясно геотаргетиране. Локацията на сървъра няма значение. Лесно разделяне на сайтовете

Скъпо и с ограничена наличност. Изисква повече инфраструктура. Понякога строги изисквания. Таргетира само една държава

Поддомейн


de.example.com

Лесно за настройка. Позволява различни локации на сървъра. Лесно разделяне

Потребителите може да не разпознаят геотаргетирането само по адреса. Не е ясно „de" език ли е или държава

Поддиректория


example.com/de/

Лесно за настройка. Ниска поддръжка, същият хост

Потребителите може да не разпознаят геотаргетирането. Една локация на сървъра. По-трудно разделяне

Параметър


site.com?loc=de

Не се препоръчва

Трудно сегментиране по адрес. Потребителите не разпознават геотаргетирането

Тук се връща фактът от първата глава: поддомейнът е отделен хост и следователно има отделен бюджет за обхождане.[5] При голям сайт това е практически довод в полза на поддиректорията.

6.7 Какво Google пренебрегва и как обхожда

  • Пренебрегва локационните мета тагове като geo.position и distribution, както и геотаргетиращите HTML атрибути[8]

  • Googlebot обхожда предимно от САЩ и не изпраща Accept-Language в заявките. Ако сменяте съдържанието динамично според езиковата настройка, Google може да не открие всички варианти[8]

  • Не пренасочвайте автоматично потребителите между езиковите версии. Това пречи и на потребителите, и на търсачките да видят всички версии[8]

  • Анализът по IP адрес не е надежден метод за адаптиране на съдържанието[8]

6.8 Кои домейни Google приема за общи

Полезно за проекти с модерни разширения. Google третира като общи домейни (gTLD):[8]

  • Регионалните .eu и .asia

  • Част от националните домейни, които на практика се използват като общи: .io, .co, .me, .tv, .fm, .la, .cc, .ai, .ws и други

Тоест .io домейнът няма да ви таргетира към Британската територия в Индийския океан. Практическото значение: ако използвате такова разширение и таргетирате конкретна държава, задайте таргетирането изрично чрез hreflang.[8][22]

6.9 Hreflang и канонизацията се съгласуват

Когато предлагате сходно или дублирано съдържание на един и същ език на различни адреси – например example.de/ и example.com/de/ – изберете предпочитана версия и използвайте rel="canonical" и hreflang заедно.[8]

Bing добавя съществено уточнение: истинската локализация изисква смислени разлики – терминология, примери, регулации, продуктови детайли. Регионални страници, които се различават само по шаблонния текст, се третират като дубликати.[10]

7. Как изглеждат адресите в резултатите днес

Тук има промяна, която прави остарели доста материали, включително по-ранни наши.

7.1 Хронология

Април 2015 г. Google заменя видимия адрес на мобилни устройства с името на сайта и навигационна пътека.

23 януари 2025 г. Google премахва навигационната пътека от мобилните резултати. Обявлението е на Caitlin Dorsey, продуктов мениджър в Google Search:[12]

  • На компютър видимият адрес продължава да има две части – домейн и навигационна пътека

  • На мобилно устройство видимият адрес се свежда само до домейна

  • Промяната важи за всички езици и региони

  • Ако използвате разметка за навигационна пътека, не се налага да правите нищо. Google продължава да я поддържа за резултатите на компютър

  • Отчетът за навигационната пътека в Search Console продължава да работи, а разметката се проверява с Rich Results Test


Причината, посочена от Google: елементът не е бил особено полезен при търсене от мобилно устройство, защото се е отрязвал на малки екрани.[12]

7.2 Какво следва оттук

Доводът, че ключовите думи в адреса вдигат честотата на кликване, защото се виждат в резултатите, вече не работи на мобилно. Там се вижда само домейнът.[12]

Това не прави разметката излишна. Тя остава активна за компютър и Google изрично препоръчва да не се маха.[12][25]

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

8. Адресите и генеративното търсене

През май 2026 г. Google публикува официално ръководство за оптимизация за генеративните функции.[11][32] То дава рамката, която липсва в повечето материали по темата.

8.1 Позицията на Google

От гледна точка на Google Search оптимизацията за генеративно търсене е оптимизация за търсенето, тоест пак SEO.[11]

Причината е техническа: генеративните функции стъпват върху основните системи за класиране и оценка на качеството в Search.[11]

8.2 Условието за допустимост

Ето и частта, която засяга адресите пряко:

За да е допустима за показване в генеративните функции на Google Search, страницата трябва да е индексирана и допустима за показване в Google Search с описание, покривайки техническите изисквания на Search.[11]

Тоест всичко от глави 2, 4 и 5 е предпоставка. Ясната техническа структура е изрично посочена като една от основите. Начинът, по който Google открива и обработва страниците, „остава ядрото на това как AI системите ни достигат до данните ви".[11]

В същата глава Google включва и намаляването на дублираното съдържание сред техническите препоръки за генеративното търсене.[11]

8.3 Какво казва Bing

Указанията на Bing вече описват изрично, че покриват начина, по който Bing открива, обхожда, индексира, оценява и показва съдържание в Bing, в Copilot и в резултатите от grounding интерфейса. Неспазването им може да намали допустимостта за grounding.[27]

8.4 Механизмът, който засяга адресите пряко

Ето и най-полезното изречение по темата, което сме срещали в официален източник. То идва от Bing:

Езиковите модели групират близките дубликати в една група и после избират една страница, която да представлява целия набор. Ако разликите между страниците са минимални, моделът може да избере версия, която е остаряла или не е тази, която сте искали да изведете.[10]

Bing добавя и че дублирането забавя появата на обновленията в AI отговорите, защото роботите се връщат на дубликати вместо на обновените страници.[10]

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

9. Какво позволява вашата платформа

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

9.1. WordPress

По подразбиране. Структурата на постоянните връзки се настройва от Settings → Permalinks. Наличните варианти включват дата и име, месец и име, числов, име на публикацията и собствена структура.[34]

Как се обработва slug-ът. Функцията sanitize_title() превръща заглавието в slug. В контекст „save" тя минава през remove_accents(), заменя интервалите с тирета и премахва символите извън разрешения набор.[33]

Какво не може по подразбиране. WordPress няма вградена транслитерация за кирилица. Буквите се запазват и се кодират процентно, освен ако не добавите приставка. Тук се връща глава 6.5 – проверете как приставката обработва „ъ".

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

9.2. Shopify

Какво не може да се промени. Началните сегменти на пътя са фиксирани. Всеки магазин използва /products/, /collections/, /pages/ и /blogs/. Те не могат да се махнат или преименуват.[37]

Какво може. Последната част от адреса, така нареченият handle, се редактира.

Къде се получават изненади. Продукт, достъпен през колекция, дава вложен път /collections/mens/products/shoe, докато директният достъп дава /products/shoe. Каноничният таг сочи към втория, но вътрешните връзки често сочат към първия. Резултатът е излишно обхождане. Решението е промяна в темата, така че вътрешните връзки да водят направо към каноничния адрес.

9.3. OpenCart, PrestaShop, Magento

Трите системи имат общо: адресите се пазят в база данни и се обслужват през таблица за пренаписване.

  • OpenCart. Настройката е „Use SEO URLs", изисква правила в .htaccess, а slug-овете се пазят в отделна таблица. Няма вградена защита срещу еднакви slug-ове за различни типове обекти

  • PrestaShop. Има настройка „Friendly URL", но структурата на маршрута обикновено включва числов идентификатор. Премахването му изисква намеса извън ядрото

  • Magento и Adobe Commerce. Таблицата за пренаписване расте пропорционално на броя продукти, умножен по броя категории, в които участват. При голям каталог тя достига милиони редове

Едно уточнение заради прозрачността: описанията в тази подглава стъпват върху практика, а не върху цитирана документация. Проверете конкретното поведение във вашата версия, преди да планирате структура.

Next.js и headless архитектури

Next.js използва маршрутизация по файловата система. Динамичните сегменти се задават със скоби в името на файла или папката. Семантичните адреси се препоръчват и в собствената документация на фреймуърка.[38]

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

При headless архитектура каноничният адрес се решава във фронтенда, не в системата за съдържание. Тя подава съдържание и предложен slug, а фронтендът отговаря за маршрутизацията и за генерирането на каноничния таг. Ако това не е направено изрично, средите за преглед и алтернативните фронтенди могат да попаднат в индекса.

10. Промяна на URL адресите и пренасочване

Ако решите да сменяте адреси, това е главата, по която се работи. Всичко в нея идва от документацията на Google.

10.1 Първо: струва ли си?

Google описва какво да очаквате:

При всяка значителна промяна на сайта може да наблюдавате колебания в класирането, докато Google преобхожда и преиндексира сайта. Като общо правило: при сайтове със среден размер може да отнеме няколко седмици или повече, докато Google постепенно започне да показва новите адреси вместо старите. При по-големи сайтове – още повече.[6]

Съпоставете това с това, което печелите. Ключовите думи в пътя почти нямат ефект върху класирането.[2] Дължината и дълбочината също не влияят.[4]

Затова работещите адреси не си струва да се пренаписват заради естетика или заради ключова дума. Смяната има смисъл при реален проблем – дублиране, счупена структура, миграция към нова платформа, преминаване към HTTPS, смяна на домейн.

10.2 Статус кодовете

Google групира пренасочванията по това как ги тълкува индексиращият процес, а не само по номер.[7]

Тип

Методи

Как се третира

Постоянно

301, 308, незабавен meta refresh (0 сек.), HTTP refresh (0 сек.), JavaScript location, крипто пренасочване

Googlebot следва пренасочването, а индексиращият процес приема целта за канонична

Временно

302, 303, 307, забавен meta refresh, забавен HTTP refresh

Googlebot следва пренасочването, но целта не се приема за канонична. Тя може да бъде индексирана при наличие на други сигнали

Три подробности, които рядко се срещат:

  • Незабавният meta refresh се тълкува като постоянно пренасочване. Забавеният – като временно[7]

  • Пренасочване чрез JavaScript се използва само когато сървърното и meta refresh не са възможни. Google рендира страниците, но рендирането може да се провали и тогава пренасочването остава невидимо[7]

  • Постоянните пренасочвания не водят до загуба на PageRank[6]

Следва редът от документацията на Google за преместване на сайт.[6]

Постоянните пренасочвания не водят до загуба на PageRank[6]

Подготовка

  1. Инвентаризирайте старите адреси. Google посочва къде да ги търсите: в картите на сайта, в сървърните записи и аналитиката за най-посещаваните адреси, в отчета за връзки в Search Console. Включете и адресите на изображения, видео, JavaScript и CSS файлове – те се местят наравно с всичко останало

  2. Направете съответствие стар → нов адрес. Едно към едно, без сливане на несвързани страници

  3. Обновете анотациите на новите страници. Саморефериращ rel="canonical" на всеки нов адрес и обновени hreflang анотации, ако сайтът е многоезичен

  4. Сменете вътрешните връзки на новия сайт от старите към новите адреси, по съответствието

  5. Запазете два списъка. Карта на сайта с новите адреси и списък със сайтовете, които сочат към старите ви адреси

Изпълнение

  1. Пуснете пренасочванията. Google препоръчва сървърни постоянни пренасочвания, 301 или 308, където това е технически възможно

  2. Проверете rel="canonical" и правилата robots. Уверете се, че каноничните тагове сочат новите адреси и че noindex, поставен по време на разработката, е премахнат

  3. Тествайте пренасочванията. С URL Inspection за отделни адреси или със скрипт за големи количества

  4. Change of Address в Search Console – само при смяна на домейн или поддомейн. Не е нужен при преминаване от HTTP към HTTPS, при смяна между www и без www на същия домейн и при смяна на пътища в рамките на същия домейн. При смяна на домейн подайте заявка за всички верифицирани варианти на стария домейн, включително поддомейните и версиите със и без www

  5. Подайте новата карта на сайта в Search Console. На този етап старата може да се премахне, защото Google ще използва новата

След това

  1. Обновете външните точки. Връзките от други сайтове, профилите в социалните мрежи, рекламните кампании

  2. Наблюдавайте. Картите на сайта, отчета за индексиране, заявките в Search Console, сървърните записи и аналитиката

10.4 Вериги от пренасочвания

Googlebot следва до 10 прехода във верига от пренасочвания. Google въпреки това съветва пренасочване направо към крайната цел. Ако това не е възможно, дръжте броя ниско – идеално не повече от 3 и под 5.[6]

Причината не е само в SEO. Веригите добавят забавяне за потребителите, а не всички браузъри и потребителски агенти поддържат дълги вериги.[6]

10.5 Колко дълго се пазят пренасочванията

Този въпрос най-често се цитира без източник. Ето формулировката от документацията:

Пазете пренасочванията колкото е възможно по-дълго, като правило поне 1 година. Този период позволява на Google да прехвърли всички сигнали към новите адреси, включително преобхождане и преоценка на връзките от други сайтове, които сочат към старите ви адреси.[6]

И допълнението: от гледна точка на потребителите обмислете да ги запазите безсрочно. Понеже обаче пренасочванията забавят зареждането, обновявайте собствените си връзки и високотрафичните външни връзки към новите адреси.[6]

10.6 Пет грешки, които Google изброява поименно

От таблицата с чести грешки в документацията:[6]

Грешка

Какво се случва

Забравен noindex или блокиране в robots.txt от разработката

Новият сайт не се индексира изцяло

Неправилни пренасочвания

Google често вижда пренасочвания към несъществуващи адреси на новия сайт

Недостатъчен сървърен капацитет

След миграция Google обхожда новия сайт по-интензивно от обичайното

Необновени карти на сайта

Новите адреси се откриват по-бавно

Много стари адреси към една нерелевантна страница

Може да се третира като soft 404

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

Още едно уточнение, което спестява излишно притеснение: отчетът за карти на сайта може да покаже предупреждения за старата карта, че адресите се пренасочват. Google казва, че това е нормално и може да се пренебрегне, защото вие наистина се местите на нови адреси.[6]

10.7 Защо старият адрес продължава да се показва

Явление, което рядко се обяснява. При пренасочване Google следи и източника, и целта. Единият от двата става каноничен, а другият става алтернативно име на каноничния. Алтернативните имена са различни версии на каноничния адрес, които потребителите може да разпознават и да им се доверяват повече. Те се появяват в резултатите, когато заявката подсказва, че потребителят би се доверил на стария адрес.[7]

Google дава и конкретния случай: след смяна на домейн е много вероятно старите адреси да продължат да се появяват от време на време в резултатите, въпреки че новите вече са индексирани. Това е нормално и отшумява от само себе си, докато потребителите свикват с новото име.[7]

10.8 Какво добавя Bing

Bing препоръчва същата логика с едно допълнение:[10]

  • 301 за обединяване на вариантите в един предпочитан адрес

  • Каноничен таг, когато няколко версии трябва да останат достъпни

  • Последователна структура на адресите в целия сайт

  • Блокиране на тестовите и архивните адреси от обхождане и индексиране

  • IndexNow за ускоряване. Когато обединявате страници, обновявате канонични тагове или премахвате дубликати, IndexNow уведомява участващите търсачки веднага[10][29]

11. Митовете, събрани на едно място

Твърдение

Какво казва официалният източник

Google не харесва параметри

Обявено за мит. Параметрите се обхождат[3]

Кратките адреси се класират по-добре

Дължината не влияе на класирането. Влияе само на избора на каноничен адрес[4]

Повече от три нива папки вредят

Броят наклонени черти не влияе на класирането[4]

Долните черти водят до наказание

Наказание няма. Има разлика в разчитането и изрична препоръка старите адреси да не се преправят[1][19]

Дублираното съдържание води до санкция

Не е нарушение на правилата срещу спам[2]

По-честото обхождане води до по-добро класиране

Обхождането не е сигнал за класиране[3]

noindex пести бюджет за обхождане

Не. Google трябва да свали страницата, за да види правилото[3][5]

Кирилицата в адреса помага на Google да разбере езика

Езикът не се определя по адреса[8]

12. Списък за проверка преди публикуване

  • Адресът покрива изискванията от глава 2, а не само препоръките;

  • Само малки букви, наложени на ниво сървър;

  • Тирета между думите, без долни черти и без слети думи;

  • Едно правило за наклонената черта в края, приложено последователно;

  • Описателни думи вместо идентификатори, доколкото платформата позволява;

  • Кирилицата е транслитерирана по един фиксиран стандарт;

  • Няма идентификатори на сесия и параметри за проследяване в каноничната версия;

  • Има саморефериращ каноничен таг;

  • Адресът в картата на сайта, в каноничния таг, във вътрешните връзки и в структурираните данни е един и същ;

  • Ако адресът заменя стар, има 301 и вътрешните връзки са обновени;

  • Няма верига от пренасочвания към този адрес;

  • Филтрите и сортирането не генерират индексируеми адреси без причина.

13. Често задавани въпроси

Google харесва ли параметри в URL адресите? Google изрично посочва като мит твърдението, че предпочита чисти адреси и не харесва параметри. Обяснението му е, че параметрите се обхождат.[3] Изискването е да използвате стандартното кодиране – знак за равенство между ключа и стойността, амперсанд между параметрите.[1]

Дължината на адреса фактор за класиране ли е? Не. John Mueller от Google казва директно, че дължината няма значение, защото адресите служат като идентификатори. Единствената ѝ роля е при канонизацията, където при избор между дубликати системите клонят към по-краткия и ясен адрес. Това не влияе на класирането, а на въпроса кой адрес се показва.[4]

Кирилица или транслитерация в адресите? Google препоръчва думи на езика на аудиторията, „и ако е приложимо, транслитерирани думи", а в таблицата си поставя кодирания вариант като препоръчителен пред нативния.[1] Практическият довод за транслитерацията е споделянето – кирилицата се разпада на дълъг кодиран низ при копиране.

Разпознава ли Google езика на страницата по адреса ѝ? Не. Google използва видимото съдържание и изрично посочва, че не използва нито атрибути lang, нито URL адреса.[8]

Колко дълго се пазят пренасочванията след смяна на адресите? Google препоръчва да се пазят колкото е възможно по-дълго, като правило поне една година. Този период позволява прехвърляне на всички сигнали, включително преоценка на връзките от други сайтове.[6]

Наклонена черта в края – да или не? Google не дава предпочитание. Важното е да изберете едно правило и да го приложите последователно, включително във вътрешните връзки и в каноничните тагове.[21]

Нужен ли ми е файл llms.txt за да обходи адресите в ИИ? За Google Search – не. Google посочва, че не използва такива файлове и че създаването им нито помага, нито вреди на видимостта.[11] Дали ги ползват други системи или биха ги ползвали в бъдеще, е отделен въпрос.

Кога бюджетът за обхождане наистина се отнася до моя сайт? При сайтове с над 1 милион страници, които се променят седмично, при сайтове с над 10 000 страници с ежедневни промени или когато голяма част от адресите ви попадат в „Discovered – currently not indexed". Ако страниците ви се обхождат в деня на публикуване, темата не е приоритет.[5]

14. Обобщение

Три неща си струва да останат.

Изискванията и препоръките са различни неща. Изискванията са три и покриването им е задължително. Препоръките надграждат, а част от тях имат по-малко значение, отколкото се твърди.[1]

Затруднението почти никога не е в думите в адреса, а в броя на адресите. Едно съдържание, един адрес, последователен навсякъде – в каноничния таг, в картата на сайта, във вътрешните връзки и в структурираните данни. Това решава повече от която и да е ключова дума в slug-а.

Ако нещо работи, оставете го да работи. Смяната на адреси носи реален риск и предвидим период на колебания.[6] Когато се налага, глава 10 описва процедурата.

И последното, което Google повтаря в почти всеки път в своите документи: 

Оптимизирайте за хората!

Търсачките се справят и с несъвършените адреси, но е най-важно хората да намерят отговорите, които търсят в съдържанието, което се сервира от тези адреси.

Източници

  1. Google Search Central. URL structure best practices for Google Search. Обн. 10.12.2025 г. https://developers.google.com/search/docs/crawling-indexing/url-structure

  2. Google Search Central. Search Engine Optimization (SEO) Starter Guide. https://developers.google.com/search/docs/fundamentals/seo-starter-guide

  3. Google Crawling Infrastructure. Myths and facts about crawling. Обн. 18.12.2025 г. https://developers.google.com/crawling/docs/myths-about-crawling

  4. Google Search Central. #AskGooglebot: Does URL length matter? Отговор на John Mueller, октомври 2021 г. https://www.youtube.com/watch?v=WmEpP9aPq8o

  5. Google Crawling Infrastructure. Optimize your crawl budget. Обн. 22.07.2026 г. https://developers.google.com/crawling/docs/crawl-budget

  6. Google Search Central. How to move a site (Move a site with URL changes). Обн. 20.08.2026 г. https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes

  7. Google Search Central. Redirects and Google Search. Обн. 14.04.2026 г. https://developers.google.com/search/docs/crawling-indexing/301-redirects

  8. Google Search Central. Managing multi-regional and multilingual sites. Обн. 10.12.2025 г. https://developers.google.com/search/docs/specialty/international/managing-multi-regional-sites

  9. Google Crawling Infrastructure. Managing crawling of faceted navigation URLs. Обн. 18.12.2025 г. https://developers.google.com/crawling/docs/faceted-navigation

  10. Fabrice Canel, Krishna Madhavan, Microsoft Bing. Does Duplicate Content Hurt SEO and AI Search Visibility? Bing Webmaster Blog, 19.12.2025 г. https://blogs.bing.com/webmaster/December-2025/Does-Duplicate-Content-Hurt-SEO-and-AI-Search-Visibility

  11. Google Search Central. Optimizing your website for generative AI features on Google Search. Обн. 10.07.2026 г. https://developers.google.com/search/docs/fundamentals/ai-optimization-guide

  12. Caitlin Dorsey, продуктов мениджър, Google Search. Simplifying the visible URL element on mobile search results. Google Search Central Blog, 23.01.2025 г. https://developers.google.com/search/blog/2025/01/simplifying-breadcrumbs

  13. Google Search Central. What is URL canonicalization. https://developers.google.com/search/docs/crawling-indexing/canonicalization

  14. Google Search Central. How to specify a canonical URL with rel="canonical" and other methods. https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls

  15. John Mueller, Google. Spring cleaning: the URL Parameters tool. Google Search Central Blog, 28.03.2022 г. https://developers.google.com/search/blog/2022/03/url-parameters-tool-deprecated

  16. Gary Illyes, Google. What Crawl Budget Means for Googlebot. Google Search Central Blog, 16.01.2017 г. https://developers.google.com/search/blog/2017/01/what-crawl-budget-means-for-googlebot

  17. Google Search Central. Understand the JavaScript SEO basics. https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics

  18. Google. Google developer documentation style guide: Filenames and file types. https://developers.google.com/style/filenames

  19. Matt Cutts, по онова време ръководител на екипа Webspam в Google. Dashes vs. underscores, 2007 г. https://www.mattcutts.com/blog/dashes-vs-underscores/

  20. John Mueller, Google. Изказване за ключовите думи в URL адресите, X, 08.03.2017 г. https://twitter.com/JohnMu/status/839527508371513344

  21. John Mueller, Google. Изказване за наклонената черта в края на адреса, X, 19.12.2017 г. https://twitter.com/JohnMu/status/943198409492656128

  22. Google Search Central. Tell Google about localized versions of your page. https://developers.google.com/search/docs/specialty/international/localized-versions

  23. Google Search Central. Ecommerce URL structure best practices. https://developers.google.com/search/docs/specialty/ecommerce/designing-a-url-structure-for-ecommerce-sites

  24. Google Search Central Blog. Deprecating our AJAX crawling scheme, 14.10.2015 г. https://developers.google.com/search/blog/2015/10/deprecating-our-ajax-crawling-scheme

  25. Google Search Central. Breadcrumb structured data. https://developers.google.com/search/docs/appearance/structured-data/breadcrumb

  26. Google Search Central. Visual Elements gallery. https://developers.google.com/search/docs/appearance/visual-elements-gallery

  27. Microsoft Bing. Bing Webmaster Guidelines. Обн. февруари 2026 г. https://www.bing.com/webmasters/help/webmaster-guidelines-30fba23a

  28. Microsoft Bing. Better than canonical: URL Normalization. Bing Webmaster Blog, април 2012 г. https://blogs.bing.com/webmaster/April-2012/Better-than-canonical;-URL-Normalization

  29. Microsoft Bing. IndexNow. https://www.bing.com/indexnow

  30. Google Search Central. Search Essentials: Technical requirements. https://developers.google.com/search/docs/essentials/technical

  31. Google Search Central. Build and submit a sitemap. https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

  32. Google Search Central Blog. A new resource for optimizing for generative AI in Google Search, 15.05.2026 г. https://developers.google.com/search/blog/2026/05/a-new-resource-for-optimizing

  33. WordPress Developer Resources. sanitize_title(). https://developer.wordpress.org/reference/functions/sanitize_title/

  34. WordPress. Using Permalinks. https://wordpress.org/documentation/article/customize-permalinks/

  35. Joomla! Documentation. Search Engine Friendly URLs. https://docs.joomla.org/Special:MyLanguage/Search_Engine_Friendly_URLs

  36. Joomla! Documentation. Enabling Search Engine Friendly (SEF) URLs on Apache. https://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs_on_Apache

  37. Shopify Community. URL structure. https://community.shopify.com/t/url-structure/402527/2

  38. Next.js. SEO: URL Structure. https://nextjs.org/learn/seo/url-structure

  39. Закон за транслитерацията. Обн. ДВ бр. 19 от 13 март 2009 г.

28
8
0
Открихте грешка? Маркирайте я и натиснете Ctrl + Enter.