Hreflang — це атрибут HTML-тега <link>, який вказує пошуковим системам мовну та регіональну версію сторінки, щоб показувати користувачам у видачі саме той варіант, що відповідає їхній мові та місцезнаходженню. Тег розміщується в секції <head> кожної мовної версії сторінки і посилається на всі її альтернативи, включно з самою сторінкою.
Як це працює?
Hreflang — це сигнал для Google, а не директива: пошукова система враховує атрибут разом з іншими факторами (мова контенту, локація сервера, поведінка користувачів), тому неправильно налаштований hreflang може частково ігноруватися.
Синтаксис атрибута
Атрибут складається з коду мови за стандартом ISO 639-1 та, за потреби, коду країни за стандартом ISO 3166-1 Alpha 2 через дефіс (наприклад, uk-UA, en-US, en-GB). Значення x-default вказує сторінку за замовчуванням для користувачів, чия мова чи регіон не збігається з жодною із зазначених версій.
Принцип взаємного підтвердження
Усі мовні версії сторінки повинні посилатися одна на одну, включно із self-referencing hreflang — тегом, яким сторінка вказує сама на себе. Якщо сторінка A посилається на B, але B не посилається у відповідь на A, Google може проігнорувати весь блок hreflang-зв'язків.
Навіщо це потрібно?
Hreflang запобігає показу користувачам нерелевантної мовної версії сторінки у пошуковій видачі та усуває внутрішню канібалізацію, коли кілька мовних версій однієї сторінки конкурують між собою за одні й ті самі запити.
Коректне налаштування також покращує поведінкові фактори (знижує показник відмов), оскільки користувач одразу потрапляє на сторінку своєю мовою, а не шукає перемикач мови самостійно.
Приклад використання
<!-- На українській версії сторінки -->
<link rel="alternate" hreflang="uk-UA" href="https://example.com/ua/page/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="pl-PL" href="https://example.com/pl/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" /><!-- Альтернативний спосіб через Sitemap.xml -->
<url>
<loc>https://example.com/ua/page/</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/en/page/" />
<xhtml:link rel="alternate" hreflang="uk-UA" href="https://example.com/ua/page/" />
</url>Поширені помилки
Відсутнє взаємне підтвердження
Сторінки посилаються одна на одну неповністю (A → B, але не B → A), через що Google може відкинути весь набір hreflang-зв'язків на сторінці.
Неправильний код мови або країни
Використання нестандартних кодів (наприклад, ua замість uk для української мови — ua є кодом країни, а не мови) робить атрибут нечитабельним для пошукової системи.
Конфлікт hreflang і canonical
Якщо canonical кожної мовної версії вказує на одну «головну» мову замість самої себе, локалізовані сторінки випадають з індексу попри коректний hreflang.
Відсутній self-referencing hreflang
Сторінка не включає посилання на саму себе в блоці hreflang-тегів, через що порушується вимога взаємного підтвердження.
Hreflang на сторінку, закриту в robots.txt
Якщо альтернативна мовна версія заблокована для сканування, Google не може підтвердити її вміст і ігнорує відповідний hreflang-запис.
Як перевірити?
Конкретну сторінку можна перевірити через інструмент перевірки URL (URL Inspection) у Google Search Console, а також вручну — переглянувши вихідний код <head> кожної мовної версії та переконавшись, що всі версії посилаються одна на одну.
FAQ
Чи обов'язково вказувати код країни в hreflang?
Ні, код країни опціональний. Можна вказати лише мову (uk) для всіх україномовних користувачів незалежно від країни або уточнити регіон (uk-UA) для більшої точності таргетингу.
Що означає x-default у hreflang?
Це сторінка за замовчуванням для користувачів, чия мова чи регіон не збігається з жодною із зазначених версій — часто це сторінка вибору мови або основна міжнародна версія сайту.
Чи впливає hreflang на позиції сайту в пошуку?
Безпосередньо hreflang не є фактором ранжування, але коректне налаштування запобігає показу нерелевантної версії сторінки, що опосередковано впливає на CTR і поведінкові фактори.
Чи можна використовувати hreflang без кількох мовних версій контенту?
Так, можна вказати регіональні варіанти однієї мови (наприклад, en-US і en-GB з однаковим текстом), якщо потрібно показувати різні версії різним англомовним регіонам — наприклад, із різними цінами чи валютою.
Пов'язані терміни
- Canonical URLМає вказувати на саму сторінку на кожній мовній версії, інакше конфліктує з hreflang.
- Robots.txtНе повинен блокувати сканування жодної з мовних версій, згаданих у hreflang.
- Duplicate content (дублі контенту)Проблема, яку hreflang вирішує для мультимовних сайтів, щоб версії не сприймалися як дублі.
- Sitemap.xmlАльтернативний спосіб розмістити hreflang-зв'язки замість HTML-тегів у head.
- Crawl budget (краулінговий бюджет)Некоректні hreflang-зв'язки змушують краулер повторно перевіряти сторінки, витрачаючи бюджет сканування.
- Indexation (індексація)Hreflang впливає на те, яку мовну версію Google обере для показу в конкретному регіоні.
Матеріал підготовлено командою LuchanLabs