Генератор hreflang

Вставьте версии страниц для разных языков и получите полный взаимный блок hreflang — в виде link‑тегов, HTTP‑заголовков или XML‑карты сайта.

Один на строку: код языка, пробел, затем полный URL. Коды регионов, такие как en-GB или es-MX разрешены, при этом код региона должен быть в верхнем регистре.
x-default — это страница, показываемая посетителю, язык которого не указан. Идеальной целью является селектор языка; ваша основная версия обычно используется в качестве такой.
Тот же блок размещается на каждой версии, включая саму страницу. Эта самоссылка обязательна, а не опциональна.
Блок hreflang

          

Ничего, что вы вводите здесь, не загружается, не сохраняется и не отправляется куда-либо. Всё работает в вашем браузере.

Три ошибки, которые ломают кластер hreflang

  • Отсутствует тег возврата. Если страница A указывает, что \"русская версия — B\", но B не указывает, что \"английская версия — A\", Google полностью игнорирует эту пару. Каждая страница в кластере должна содержать весь блок, включая тег, указывающий на саму себя. Поэтому этот инструмент выводит один и тот же блок для каждого URL — это один и тот же блок.
  • Относительные URL‑адреса. /ru/pricing тихо отбрасывается. URL‑адреса hreflang должны быть абсолютными, включать протокол и хост.
  • Код региона используется как код языка. hreflang="uk" это украинский, а не Великобритания. Британский английский — это en-GB. Это самая распространённая ошибка в реальном мире, и она перенаправляет вашу страницу для Великобритании в Киев.

Где разместить

Выберите одно из трёх мест и используйте только его. Link‑теги в <head> являются обычным выбором. HTTP Link: заголовки предназначены для файлов без head — PDF, изображений. Аннотации в карте сайта — наименее болезненный вариант, когда у вас тысячи URL, потому что редактируется один файл вместо тысяч. Объявление hreflang в двух местах одновременно не считается ошибкой, но удваивает вероятность несоответствия, и когда они расходятся, Google выбирает то, которое вы не имели в виду.

Hreflang не делает того, чего люди ожидают

Это не останавливает конкуренцию между переведёнными страницами, когда одна обгоняет другую — такое не происходит между языками. Это не консолидирует сигналы ранжирования, как делает canonical; каждая версия ранжируется по своим достоинствам и требует собственных ссылок. То, что делает hreflang, узко: он сообщает Google, что эти URL — одна и та же страница на разных языках, поэтому правильная версия показывается нужному пользователю. Это полезно, и это всё, что он делает.

Каноническая ловушка

Каждая языковая версия канонизируется в самой, никогда не к оригиналу на английском. Русская страница, у которой canonical указывает на английский URL, сообщает Google, что русскую страницу не следует индексировать вовсе, и кластер hreflang её не спасёт. Если вы возьмёте что‑то из этой статьи, возьмите именно это.

Вопросы, которые задают люди

Нужен ли hreflang, если мой сайт только на одном языке?

Нет. Hreflang существует для различения версий одной и той же страницы. При наличии единственной версии нечего различать, и добавление самоссылочных hreflang‑тегов на монолингвальный сайт ничего не меняет — ни в лучшую, ни в худшую сторону.

Требуется ли код региона?

Нет, и большинству сайтов не следует его использовать. es обслуживает всех испаноговорящих. es-MX обслуживает только испаноговорящих в Мексике. Используйте код региона, когда у вас действительно есть контент, специфичный для страны — разные цены, доставка, законы — а не потому, что контент был написан в определённой стране.

Почему Search Console сообщает "no return tags"?

Потому что страница, на которую вы указали, не ссылается обратно. Получите эту страницу и посмотрите её сгенерированный head. Обычные причины — кластер, построенный только на исходном языке, несоответствие завершающего слеша между двумя URL, или hreflang, внедрённый JavaScript, который Google не выполнил.

Имеет ли значение порядок тегов?

Нет. Google читает весь набор. Единственное правило относительно позиции: теги link должны находиться в <head> — тег hreflang, который оказывается в <body>, что происходит, когда тег в начале head сформирован неверно, игнорируется.

Отправляется ли что‑то из того, что я вставляю здесь, куда‑либо?

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

Переведённые страницы всё равно нуждаются в ссылках

Hreflang указывает Google, какую версию показывать. Он не сообщает Google, что страница стоит показывать. За это отвечают ссылки.

Посмотреть пакеты построения ссылок Связаться с Hayk