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.
- Краулинговый бюджетНекорректные hreflang-связи заставляют краулер повторно проверять страницы, расходуя бюджет сканирования.
- Indexation (индексация)Hreflang влияет на то, какую языковую версию Google выберет для показа в конкретном регионе.
Материал подготовлен командой LuchanLabs