Атрибут hreflang: зачем нужен и как правильно настроить

12 июля 202610 мингайд

Что такое hreflang и зачем он

hreflang — это атрибут, которым ты говоришь поисковику: «у этой страницы есть версии на других языках или для других регионов, вот они». Дальше робот сам показывает пользователю из Германии немецкую версию, а из России — русскую, вместо того чтобы гадать. Значение — это код языка и, по желанию, региона: ru, en, ru-RU, en-US.

Задача у hreflang одна: развести языковые версии, чтобы они не конкурировали между собой за один запрос и чтобы человек попадал на понятную ему страницу. Разберём, кому он реально нужен (спойлер — не всем), как его прописать тремя способами, соберём теги в генераторе и пройдёмся по ошибкам, на которых спотыкаются даже опытные.

Сразу главное: hreflang — сигнал прежде всего для Google. Яндекс опирается на регион из Вебмастера и доменную зону. Если сайт на одном языке для одной страны, hreflang тебе не нужен — переходи сразу к проверке ниже.

Нужен ли hreflang именно тебе

Половина проблем с hreflang — у тех, кому он вообще не был нужен. Прогони свой случай через дерево, прежде чем что-то прописывать.

Нужен ли тебе hreflang?

Как прописать hreflang

Есть три места, куда можно поставить hreflang. Ставят в одном из них, без дублирования по всем сразу.

1. В <head> страницы. Самый частый способ: теги <link> в шапке каждой страницы. Подходит большинству сайтов.

2. В HTTP-заголовке. Для нестраничных файлов вроде PDF, где нет <head>. Задаётся на сервере.

3. В sitemap.xml. Удобно для больших сайтов: все версии перечислены в карте, страницы не раздуваются. Про саму карту — в гайде по robots.txt и sitemap.xml.

Вот как выглядит связка в <head> для русской и английской версий с международной по умолчанию:

<link rel="alternate" hreflang="ru" href="https://site.ru/"> <link rel="alternate" hreflang="en" href="https://site.com/en/"> <link rel="alternate" hreflang="x-default" href="https://site.com/">
Этот блок ставится в <head> каждой из версий — включая ту, где он прописан.

Три железных правила, без которых hreflang не работает:

1. Само-ссылка
Каждая страница перечисляет все версии, включая саму себя. Русская ссылается и на русскую тоже.
2. Обратные ссылки
Связь взаимна: если A указывает на B, то B обязан указывать на A. Иначе Google игнорирует связку.
3. Верные коды
Язык по ISO 639-1 (ru, en), регион по ISO 3166-1 (RU, US). Формат язык-РЕГИОН.

Генератор тегов hreflang

Впиши свои версии — язык (или язык-РЕГИОН) и адрес — и забери готовый блок. Всё считается прямо в браузере, ничего не отправляется.

hreflangURL версии
теги для <head>

          
Готовый блок ставь в <head> каждой версии. Пустые строки не попадают в вывод.

Частые ошибки hreflang

hreflang капризен: одна оплошность — и Google молча игнорирует всю связку. Топ ошибок, которые ловлю на аудитах.

✗ Так ломается
Нет само-ссылки на текущую версию
Ссылки не взаимны (A→B, но B→A нет)
Код региона как язык: hreflang="RU"
Ссылки на страницы с noindex или редиректом
Абсолютные URL перепутаны с относительными
✓ Так работает
Каждая версия ссылается на все, включая себя
Связи взаимны у всех страниц
Формат язык-РЕГИОН: ru-RU, en-US
Ссылки ведут на живые страницы с кодом 200
Везде полные абсолютные URL
Проверить связку по сайту удобно краулером — как это делает Screaming Frog, разбирал в отдельном гайде, а общую техничку — в техническом аудите.

Чек-лист hreflang

Перед тем как выкатывать — пройдись по пунктам. Галочки сохраняются в браузере.

hreflang мне действительно нужен. У сайта несколько языковых или региональных версий одного контента — случай именно для hreflang.
Каждая версия ссылается на все, включая себя. Само-ссылка стоит на всех страницах связки.
Ссылки взаимны. Если A указывает на B, то B указывает на A — по всем парам.
Коды языка и региона верные. Язык по ISO 639-1, регион по ISO 3166-1, формат язык-РЕГИОН.
Есть x-default. Указана страница по умолчанию для остальных языков и регионов.
URL абсолютные и живые. Полные адреса, все отдают код 200, без редиректов и noindex.
Способ один. hreflang прописан в одном месте — в head, в HTTP-заголовке или в sitemap, без дублирования по всем трём.
Все семь пунктов закрыты — hreflang настроен корректно, Google покажет нужную версию.
Чек-лист настройки hreflang. Прогресс сохраняется в браузере.

Частые вопросы

Что такое hreflang?
Это атрибут, который говорит поисковику, на каком языке и для какого региона сделана страница, чтобы он показывал пользователю нужную языковую версию. Прописывается в теге head, в HTTP-заголовке или в sitemap как link rel=alternate hreflang с кодом языка и региона.
Когда нужен hreflang, а когда нет?
hreflang нужен, если у сайта есть несколько языковых или региональных версий одного и того же контента: например, русская и английская страницы или версии для России и Казахстана. Если сайт на одном языке и для одной страны, hreflang не нужен — лишние теги только добавят ошибок и работы.
Как правильно прописать hreflang?
Соблюдай три правила: каждая страница ссылается на все языковые версии, включая саму себя; ссылки взаимны — если страница A указывает на B, то B указывает на A; коды языка и региона по стандартам (ru, en, ru-RU, en-US). Дополнительно добавь версию x-default для пользователей, чей язык не совпал ни с одной из версий.
Что такое x-default в hreflang?
Значение hreflang x-default указывает страницу по умолчанию для пользователей, чей язык или регион не совпал ни с одной из перечисленных версий. Обычно это международная или англоязычная версия сайта либо страница выбора языка. Указывать x-default необязательно, но желательно.
Влияет ли hreflang на позиции в поиске?
Напрямую hreflang позиции не поднимает — это техническая подсказка о языке и регионе, без прямого влияния на ранжирование. Но он убирает конкуренцию между своими же языковыми версиями за один запрос и показывает пользователю правильную страницу, что улучшает поведенческие факторы и снижает возвраты в поиск.
Google и Яндекс одинаково понимают hreflang?
hreflang — сигнал в первую очередь для Google. Яндекс учитывает его слабее и опирается на региональность через настройки в Вебмастере и через доменную зону. Поэтому для сайта на одном языке в рунете hreflang чаще всего не нужен, и региональность настраивается через Яндекс Вебмастер.

Главное

Если коротко

hreflang говорит Google, какую языковую или региональную версию страницы показать пользователю. Нужен он только сайтам с несколькими версиями одного контента — для одноязычного сайта под одну страну это лишняя работа и источник ошибок. Если нужен: пропиши в одном месте (head, HTTP-заголовок или sitemap), соблюди три правила — само-ссылка, взаимные ссылки, верные коды — и добавь x-default. Собери теги в генераторе выше и проверь связку краулером перед выкаткой.

Нужен разбор техники сайта, включая hreflang и региональность? Проведу аудит сайта с планом правок по приоритету.

Больше разборов и инструментов в Telegram — «Digital-трафик»

Читать дальше

Все статьи
Скопировано