Если у вас есть несколько версий страницы для разных языков или регионов, сообщите Google об этих различных вариантах. Это поможет Google Search направлять пользователей на наиболее подходящую версию вашей страницы в зависимости от языка или региона.
Обратите внимание, что даже без каких-либо действий Google может найти альтернативные языковые версии вашей страницы, но обычно лучше явно указывать свои языковые или региональные страницы.

Некоторые примеры сценариев, в которых рекомендуется указывать альтернативные страницы:
- Если вы оставляете основной контент на одном языке и переводите только шаблон, например, навигацию и нижний колонтитул. Страницы с пользовательским контентом, например форумы, обычно делают это.
- Если ваш контент имеет небольшие региональные различия с похожим контентом на одном языке. Например, у вас может быть контент на английском языке, ориентированный на США, Великобританию и Ирландию.
- Если контент вашего сайта полностью переведен на несколько языков. Например, у вас есть немецкая и английская версии каждой страницы.
Локализованные версии страницы считаются дубликатами только в том случае, если основной контент страницы остается непереведенным.
Методы указания альтернативных страниц
Существует три способа сообщить Google о нескольких языковых/региональных версиях страницы:

Все три метода эквивалентны с точки зрения Google, и вы можете выбрать тот, который наиболее удобен для вашего сайта. Хотя вы можете использовать все три метода одновременно, в поиске нет никакой выгоды (на самом деле, может быть намного сложнее управлять тремя реализациями, чем просто выбрать одну).
Используйте hreflang , чтобы сообщить Google о вариантах вашего контента, чтобы мы могли понять, что эти страницы являются локализованными вариантами одного и того же контента. Google не использует
hreflang или HTML-атрибут lang для определения языка страницы; вместо этого мы используем алгоритмы для определения языка.
Рекомендации для всех методов
- Каждая языковая версия должна ссылаться на саму себя а также на все другие языковые версии.
- Альтернативные URL-адреса должны быть полностью квалифицированными, включая метод передачи (http/https), например:
https://example.com/foo, не//example.com/fooили/foo - Альтернативные URL-адреса не обязательно должны находиться в одном домене.
- Если у вас есть несколько альтернативных URL-адресов, ориентированных на пользователей, говорящих на одном языке, но в разных регионах, рекомендуется также предоставить универсальный URL-адрес для пользователей этого языка, чье местоположение не определено. Например, если у вас есть специальные URL-адреса для англоговорящих в Ирландии (
en-ie), Канаде (en-ca) и Австралии (en-au), предоставьте общую английскую (en) страницу для пользователей в США, Великобритании и всех других англоязычных местах. При желании это может быть одна из специальных страниц. - Если две страницы не указывают друг на друга, теги будут проигнорированы. Это сделано для того, чтобы кто-то на другом сайте не мог произвольно создать тег, называющий себя альтернативной версией одной из ваших страниц.
- Если становится трудно поддерживать полный набор двусторонних ссылок для каждого языка, вы можете опустить некоторые языки на некоторых страницах; Google все равно будет обрабатывать те, которые указывают друг на друга. Однако важно связывать недавно расширенные языковые страницы двусторонними ссылками с исходным/доминирующим языком(ами). Например, если ваш сайт был изначально создан на французском языке с URL-адресами на
.fr, важнее связать более новые мексиканские (.mx) и испанские (.es) страницы двусторонними ссылками с вашим сильным.frприсутствием, чем связывать ваши новые страницы на испанском языке (.mxи.es) друг с другом. - Рассмотрите возможность добавления резервной страницы для языков, которые не совпадают, особенно на селекторах языка/страны или домашних страницах с автоматическим перенаправлением. Используйте the
x-defaultзначение:
<link rel="alternate" href="https://example.com/" hreflang="x-default" />
HTML-теги
Добавьте <link rel="alternate" hreflang="lang_code"... > элементы в заголовок вашей страницы, чтобы сообщить Google обо всех языковых и региональных вариантах страницы. Это полезно, если у вас нет карты сайта или возможности указать HTTP-заголовки ответа для вашего сайта.
Для каждого варианта страницы включите набор <link> элементов в
<head> элемент, одна ссылка для каждого варианта страницы включая саму себя. Набор ссылок идентичен для каждой версии страницы.
См. дополнительные рекомендации.
Вот синтаксис каждого ссылка элемент:
| Синтаксис | |
|---|---|
lang_code | A поддерживаемый код языка/региона на который нацелена эта версия страницы, или x-default для соответствия любому языку, явно не указанному вhreflang теге на странице. |
url_of_page | Полный URL для версии этой страницы для указанного языка/региона. |
The <link> теги должны находиться внутри
правильно сформированного <head> раздел
HTML. Если вы сомневаетесь, вставьте код с вашей отрендеренной страницы в
валидатор HTML чтобы убедиться, что ссылки находятся внутри <head> элемент. Кроме того, не объединяйте
link теги для альтернативных представлений документа; например, не объединяйте
hreflang аннотации с другими атрибутами, такими как media в едином
<link> тег.
Пример
Example Widgets, Inc имеет веб-сайт, который обслуживает пользователей в США, Великобритании и Германии. Следующие URL-адреса содержат по существу один и тот же контент, но с региональными вариациями:
| URL-адреса с региональными вариациями | |
|---|---|
https://en.example.com/page.html | Общая домашняя страница на английском языке, содержащая информацию о тарифах на международную доставку из США. |
https://en-gb.example.com/page.html | Домашняя страница Великобритании, на которой цены отображаются в британских фунтах стерлингов. |
https://en-us.example.com/page.html | Домашняя страница США, на которой цены отображаются в долларах США. |
https://de.example.com/page.html | Домашняя страница на немецком языке. |
https://www.example.com/ | Страница по умолчанию, которая не ориентирована ни на какой язык или локаль; на ней есть селекторы, позволяющие пользователям выбирать язык и регион. |
Обратите внимание, что языковые поддомены в этих URL-адресах (en, en-gb, en-us, de) не используются Google для определения целевой аудитории страницы; вы должны явно сопоставить целевую аудиторию.
Вот HTML, который будет находиться в <head> раздел всех страниц, перечисленных в таблица URL-адресов с региональными вариациями. Он будет направлять пользователей из США, Великобритании, говорящих на общем английском и немецком языках, на локализованные страницы, а всех остальных — на общую домашнюю страницу. Поиск Google возвращает подходящий результат для пользователя в соответствии с настройками его браузера.
HTTP-заголовки
Вы можете вернуть HTTP-заголовок с ответом GET вашей страницы, чтобы сообщить Google обо всех языковых и региональных вариантах страницы. Это полезно для файлов, не являющихся HTML (например, PDF).
Вот формат заголовка:
| Синтаксис | |
|---|---|
<url_x> | Полный URL альтернативной страницы, соответствующий строке локали, назначенной связанному hreflang атрибуту. URL должен включать < и> окружающие знаки. Пример: <https://www.google.com> |
lang_code_x | A поддерживаемый код языка/региона на который нацелена эта версия страницы, или x-default для соответствия любому языку, явно не указанному вhreflang тег на странице. |
Вы должны указать набор <url>, rel="alternate", и hreflang значений для каждой версии страницы, включая запрошенную версию , разделенных запятой, как показано в следующем примере. ЗаголовокLink: возвращаемый для каждой версии страницы, идентичен. См. дополнительные рекомендации. Пример
Вот пример
Link: заголовок, возвращаемый сайтом, у которого есть три версии PDF-файла: одна для англоговорящих пользователей, одна для немецкоговорящих пользователей из Швейцарии и одна для всех остальных немецкоговорящих пользователей: Sitemap
Вы можете использовать
XML-карту сайта чтобы сообщить Google обо всех языковых и региональных вариантах для каждого URL. Для этого добавьте элемент <loc> указывающий на один URL, с дочерними записями
<xhtml:link> перечисляющими каждый языковой/региональный вариант страницы, включая саму страницу. Таким образом, если у вас есть 3 версии страницы, ваша карта сайта будет содержать записи для URL каждой версии, и каждая запись будет иметь 3 идентичные дочерние записи. Правила карты сайта:
Укажите пространство имен xhtml следующим образом:
- Создайте отдельный
- <url>
элемент для каждого URL, как вы делали бы это с любой другой картой сайта.Каждый - <url>
элемент должен включать дочерний элемент<loc>указывающий на URL страницы.Каждый - <url>
элемент должен иметь дочерний элемент<xhtml:link rel=”alternate” hreflang=”
supported_language-codeкоторый перечисляет каждую альтернативную версию страницы,">
включая саму себя . Порядок этих дочерних<xhtml:link>элементов не имеет значения, хотя вы можете захотеть сохранить их в том же порядке, чтобы вам было легче проверять их на наличие ошибок. Дочерние элементы не учитываются в лимите URL для карт сайта.Загрузите карту сайта в каталог на вашем сайте, к которому применима карта сайта. Имейте в виду, что карта сайта может содержать только URL-адреса, являющиеся потомками каталога, в котором размещена карта сайта. - Наша
- документация по картам сайта также применяется к расширениям карт сайта. Обязательно следуйте
общим рекомендациям по картам сайта
. См. дополнительные рекомендации.. - Пример
Вот англоязычная страница, ориентированная на англоговорящих пользователей по всему миру, с эквивалентными версиями этой страницы, ориентированными на немецкоговорящих пользователей по всему миру и немецкоговорящих пользователей, находящихся в Швейцарии. Вот все URL-адреса, присутствующие на вашем сайте:
www.example.com/english/page.html
ориентированная на англоговорящих пользователей.www.example.de/deutsch/page.htmlориентированная на немецкоговорящих пользователей.www.example.de/schweiz-deutsch/page.htmlориентированная на немецкоговорящих пользователей в Швейцарии.Вот карта сайта для этих трех страниц:
Поддерживаемые коды языков и регионов
Значение
hreflang атрибута состоит из одного или, по желанию, двух значений, разделенных дефисом. Например, en-US . Первый кодhreflang атрибута — это код языка (в формате ISO 639-1 ), за которым следует необязательный второй код, представляющий код региона (в формате ISO 3166-1 Alpha 2 ) альтернативного URL. Поддерживаются только коды языков, перечисленные в ISO 639-1, и коды регионов, перечисленные в ISO 3166-1 Alpha 2; другие коды, не указанные в этих стандартах, такие как es-419, не поддерживаются.
Предупреждение
Хорошо (немецкий для пользователей в Бельгии)
- de-be:
Хорошо (голландский для пользователей в Бельгии) - nl-be:
Хорошо (французский для пользователей в Бельгии) - fr-be:
ru - Плохо, потому что первый код предназначен для языка (
beэто код белорусского языка):be
Чтобы упростить маркировку, вы можете указать код языка отдельно. Например:
de: Контент на немецком языке, независимо от регионаen-GB: Контент на английском языке, для пользователей в Великобританииde-ES: Контент на немецком языке, для пользователей в Испании
Для вариаций письменности языка, правильная письменность определяется страной. Например, при использовании zh-TW для пользователей на Тайване письменность языка определяется автоматически (в этом примере: Китайский-Традиционный). Вы также можете явно указать саму письменность, используя ISO 15924, вот так:
zh-Hant: Китайский (Традиционный)zh-Hans: Китайский (Упрощенный)
Как и в случае с другими кодами языков, вы также можете указать необязательный регион. Например, zh-Hans-US чтобы указать Китайский (Упрощенный) для пользователей в Соединенных Штатах.
Используйте значение x-default для несоответствующих языков
Зарезервированное значение x-default используется, когда ни один другой язык/регион не соответствует настройкам браузера пользователя. Это значение рекомендуется для указания резервной страницы для пользователей, чьи языковые настройки не соответствуют ни одной из локализованных версий вашего сайта. Хотя вы можете использовать значение x-default для любой страницы, оно было разработано для страниц выбора языка и поэтому лучше всего работает с ними.
Нет необходимости указывать код языка для значения x-default ; страница предназначена для пользователей, чьи языковые настройки не совпадают на вашем сайте, поэтому язык страницы не имеет значения.
Чтобы реализовать аннотацию hreflang="x-default" , добавьте дополнительный тег
link к существующим аннотациям hreflang и установите атрибут
href на URL, на который вы хотите, чтобы ваши пользователи попадали, если ваш сайт не поддерживает их язык. Например, HTML-реализация может выглядеть так:
Устранение неполадок
Распространенные ошибки
Вот самые распространенные ошибки при использовании hreflang :
- Отсутствующие обратные ссылки: Если страница X ссылается на страницу Y, страница Y должна ссылаться обратно на страницу X. Если это не так для всех страниц, использующих аннотации
hreflang, эти аннотации могут быть проигнорированы или интерпретированы неправильно. Например, рассматривая эту ссылку наhttps://de.example.com/index.html:у вас также должна быть ссылка
hreflangна
https://en-gb.example.com/index.htmlкоторая указывает обратно на версию контентаde
: - Неправильные коды языков: Убедитесь, что все используемые вами коды языков идентифицируют язык (в формате ISO 639-1) и, при необходимости, регион (в формате ISO 3166-1 Alpha 2) альтернативного URL. Указание только региона не является действительным.
- Неправильные коды регионов: Убедитесь, что вы используете официально назначенные элементы кода для регионов, которые вы пытаетесь идентифицировать (в формате
ISO 3166-1 Alpha 2). Если вы используете коды, которые указаны как зарезервированные для чего-то другого, Google Search игнорирует эту часть аннотации (например, использованиеEU,UNилиUK
в аннотацияхhreflangне оказывает влияния на Google Search).
Отладка ошибок hreflang
Существует множество сторонних инструментов, которые вы можете использовать для отладки аннотаций hreflang
. Вот несколько популярных инструментов. Эти инструменты не поддерживаются и не проверяются Google.
- от Aleyda Solis
hreflangинструмент для генерации тегов
для создания или измененияhreflangтегов. - Merkle SEO
hreflangинструмент для тестирования тегов
для проверкиhreflangтегов на одной активной странице.
Как мы это применяем
Hreflang errors are silent. The tags validate, the pages rank, and the wrong language serves to the wrong market for months, so we verify hreflang return tags as a monitored check rather than a launch-day task.
Связанные услуги