Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Разбор

Атрибут hreflang: полный разбор настройки

Открываем разбор мультиязычности и мультирегиональности самым важным инструментом — атрибутом hreflang.

Зачем нужен hreflang

Если у вас есть русская, английская и немецкая версии одной страницы, поисковая система должна понимать, что это не три разных документа и не дубли, а варианты одного и того же для разной аудитории. Атрибут hreflang объясняет эту связь и подсказывает системе, какую версию показывать пользователю с учётом его языка и региона.

Как выглядит разметка

<link rel="alternate" hreflang="ru" href="https://example.com/ru/delivery/">
<link rel="alternate" hreflang="en" href="https://example.com/en/delivery/">
<link rel="alternate" hreflang="de" href="https://example.com/de/delivery/">
<link rel="alternate" hreflang="x-default" href="https://example.com/delivery/">

Каждая строка — одна версия страницы. Важно: этот набор строк размещается на каждой из версий и включает все версии, в том числе саму текущую.

Группа версийодной страницыru/ru/delivery/en/en/delivery/de/de/delivery/x-defaultвыбор языка
Группа версийодной страницыru/ru/delivery/en/en/delivery/de/de/delivery/x-defaultвыбор языка
Все версии перечисляют друг друга — и самих себя

Коды языков и регионов

Значение состоит из кода языка и, при необходимости, кода региона через дефис.

Примеры значений hreflang
ЗначениеЧто означаетЗамечание
ruРусский языкЛюбой регион
ru-RUРусский для РоссииЯзык и регион
en-GBАнглийский для ВеликобританииНе en-UK
uk-UAУкраинский для УкраиныКод языка — uk, не ua
kk-KZКазахский для КазахстанаКод языка — kk
x-defaultВерсия по умолчаниюДля выбора языка или запасной версии

Язык указывается по стандарту ISO 639-1, регион — по ISO 3166-1. Регион без языка указывать нельзя.

Три способа размещения

Способы указания hreflang
СпособГде размещаетсяКогда подходит
Теги в <head>В коде каждой страницыНебольшое число версий
HTTP-заголовокВ ответе сервераФайлы, не являющиеся страницами, например PDF
Карта сайтаВ файле sitemap.xmlМного версий или страниц — см. hreflang в карте сайта

Обязательные правила

  • Взаимность. Если страница A указывает на B, то B обязана указывать на A.
  • Ссылка на себя. Каждая версия включает в набор и собственный адрес.
  • Полные адреса. Указываются абсолютные URL с протоколом.
  • Рабочие страницы. Адреса не должны вести на редиректы, ошибки или закрытые от индексации страницы.
  • Один способ. Не смешивайте разные способы указания для одних и тех же страниц.

О том, как избежать типичных ошибок, — в статье про ошибки hreflang. Выбор структуры адресов для версий описан в статье про мультиязычный сайт.

Пошаговое внедрение

  1. Составьте таблицу версий: для каждой страницы — её адреса на всех языках и регионах.
  2. Выберите способ указания: теги, заголовки или карту сайта.
  3. Сформируйте наборы программно из этой таблицы, чтобы взаимность обеспечивалась автоматически.
  4. Проверьте несколько групп вручную и весь сайт краулером.
  5. Закрепите процесс: при добавлении страницы или языка таблица версий обновляется первой.

Hreflang и региональные настройки в панелях

В панелях вебмастера есть отдельные настройки региональной привязки сайта. Они дополняют hreflang, но не заменяют его: атрибут описывает связи между конкретными страницами, а настройки панели относятся к сайту в целом. Используйте оба механизма согласованно и не создавайте противоречий между ними.

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

Нужно ли указывать hreflang на странице, если у неё нет других версий?

Нет: атрибут нужен, когда у страницы есть версии для других языков или регионов.

Обязательно ли включать в набор адрес текущей страницы?

Да: каждая версия должна ссылаться и на себя, и на остальные версии из группы.

Можно ли указать только регион, без языка?

Нет: значение начинается с кода языка, а регион добавляется к нему через дефис.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также