Хрефланг Это небольшой фрагмент разметки, который сообщает поисковым системам, что у страницы есть версии на других языках или в других регионах, а также какая версия принадлежит какой аудитории. По словам Google, вы use hreflang «to tell Google about the variations of your content, so that we can understand that these pages are localized variations of the same content.»
Без этого возникают две проблемы. Во-первых, Google может предоставить поисковику неверную языковую версию, показывая итальянскому посетителю вашу англоязычную страницу. Во-вторых, почти идентичные страницы (переведенная страница разделяет вашу структуру, изображения и макет) могут выглядеть так: дублированный контент, в результате чего Google не знает, какой из них ранжировать. Hreflang решает обе проблемы: он группирует версии как один фрагмент контента на разных языках и указывает каждому пользователю, ищущему нужную версию.

Простой пример тега hreflang
Хрефланг живет в <head> вашей страницы как набор <link> теги — по одному на каждую языковую версию. Представьте себе страницу, существующую на английском, итальянском и немецком языках:
<link rel="alternate" hreflang="en" href="https://example.com/page/" />
<link rel="alternate" hreflang="it" href="https://example.com/it/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page/" />
The hreflang значение — это код языка (например, en), за которым необязательно следует регион (en-GB). Google принимает три эквивалентных метода чтобы объявить их: HTML <link> теги, HTTP Link заголовки или карта сайта — вам понадобится только один. URL-адреса всегда должны быть полными, включая https://.
Тег x-default (не пропускайте его)
В последней строке выше используется зарезервированное значение: x-default. Согласно Google, «the reserved x-default value is used when no other language/region matches the user’s browser setting.» Рассматривайте это как запасной вариант: когда на ваш сайт заходит человек, говорящий на португальском или японском языке, а у вас нет для него версии, x-default сообщает Google, какую страницу показывать. Он идеально подходит для выбора языка или домашней страницы с автоматическим перенаправлением и незаметно предотвращает ошибочные предположения вашего сайта для всех, на кого вы явно не нацелены.
Наиболее распространенные ошибки hreflang
Hreflang не прощает мелких ошибок — неработающая аннотация просто игнорируется. Вот те, которые больше всего сбивают с толку людей:
- Отсутствуют теги возврата. Это самый большой. Google требует, чтобы ссылки были двунаправленными: «If two pages don’t both point to each other, the tags will be ignored.» Если ваша итальянская страница указывает на английскую страницу, английская страница должна указывать назад — и каждая версия также должна ссылаться на себя.
- Неправильный код языка или региона. В кодах языков используются двухбуквенные ИСО 639-1 формат (
en, нетeng;ja, нетjp). В кодах регионов используется ISO 3166-1 Alpha 2 (en-GB, не инвалидen-UK). Иen-EUis wrong because «EU» is not a country. - Заказ отменен. Его
language-REGION(en-GB), никогдаGB-en. - Нет x-по умолчанию. Необязательно, но если его пропустить, посетители за пределами целевых языков останутся без определенного запасного варианта.
- Относительные или неканонические URL-адреса. Всегда используйте абсолютные URL-адреса с протоколом и указывайте hreflang на каноническую версию каждой страницы.

Как hreflang связан со структурой вашего URL-адреса
Hreflang не определяет ваши URL-адреса, но они лучше всего работают вместе. Самая чистая настройка для одного домена — это языковой подкаталог: example.com/it/, example.com/de/, и так далее. Это сохраняет все ваши полномочия в одном домене, упрощает сканирование и делает сопоставление hreflang очевидным — каждый URL-адрес с префиксом просто соответствует одному hreflang ценить.
Подкаталог становится href в вашем теге, и язык становится hreflang ценить. Поскольку структура предсказуема, аннотации можно создавать механически, а не поддерживать вручную — именно здесь плагин и заслуживает своего существования.
Почему не стоит вручную кодировать hreflang
Рукописный hreflang — это то место, где проекты ломаются. На каждой новой странице увеличивается количество тегов, которые необходимо синхронизировать, а один отсутствующий возвращаемый тег автоматически аннулирует всю аннотацию. Он не масштабируется, и его утомительно проверять.
Хороший многоязычный плагин полностью снимает эту работу. TranslateRocket — бесплатный плагин перевода WordPress, поддерживающий неограниченное количество языков — автоматически генерирует правильные, самоссылающиеся, двунаправленные теги hreflang (включая x-default) рядом с чистым /it/, /de/ URL-адреса SEO, поэтому каждая версия указывает на другую, не касаясь <head>. Вы можете переводить вручную, использовать бесплатный машинный перевод или подключить свои собственные ключи AI, и он импортирует существующие переводы из WPML, TranslatePress, Polylang и Weglot. Встроенный режим предварительного просмотра позволяет проверить результат перед публикацией. Вывод соответствует правилам Google, поэтому поисковая система может отображать правильную языковую версию и рассматривать ваши переводы как единую часть контента, а не как дубликаты.
Часто задаваемые вопросы
- Является ли hreflang фактором ранжирования? Не напрямую. Это сигнал, который помогает Google предоставлять правильный язык или региональную версию нужному пользователю и избегать путаницы из-за дублированного контента, что улучшает качество обслуживания и может повысить производительность на каждом рынке.
- Нужен ли мне hreflang, если мой сайт на одном языке? Нет. Hreflang применяется только в том случае, если один и тот же контент существует на нескольких языках или в региональных вариантах.
- Только язык или язык и регион? Используйте только язык (
en), когда контент подходит всем носителям этого языка. Добавьте регион (en-GB,en-US) только в том случае, если у вас действительно есть разные версии для каждой страны. - Требуется ли x-default? Нет, но настоятельно рекомендуется, чтобы посетители за пределами целевых языков имели определенную резервную страницу.
- HTML-теги, HTTP-заголовки или карта сайта? Google рассматривает все три как эквивалентные — выбирайте тот, который проще. Большинство сайтов WordPress используют HTML.
<link>теги, которые плагин может выводить автоматически.
Источники
- Центр поиска Google — локализованные версии ваших страниц — Developers.google.com
Сделайте свой сайт многоязычным — бесплатно