Использование альтернативных ссылок

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

Используйте альтернативные ссылки, если:

  • Версии страницы отличаются только языком шаблона. Например, этот способ подойдет для блога (сайта с пользовательским контентом). Текст поста не переводится, а элементы навигации, шапка и подвал могут быть показаны на разных языках.

  • Версии страницы на одном языке, но различаются в мелких деталях. Например, слегка различающиеся английские тексты могут быть адресованы пользователям из США, Ирландии и Австралии.

  • Каждая версия страницы — полный и точный перевод страницы на основном языке сайта.
  • Язык содержимого страниц определяется настройками пользователя (заголовок Accept-Language, IP-адрес), или на страницах есть селектор для выбора языка. В этом случае используйте атрибут hreflang="x-default".
  1. Разметка локализованных страниц
  2. Страницы с автоматическим определением языка

Разметка локализованных страниц

Каждая версия страницы должна содержать информацию о всех ее альтернативных версиях. Для этого в элемент head нужно добавить элемент link, имеющий следующий формат:
<link rel="alternate" hreflang="lang_code" href="url" />

Язык и регион следует указывать согласно кодам, которые стандартизированы ISO:

  • код языка выбирайте из списка кодов ISO 639-1;

  • код региона выбирайте из списка кодов ISO 3166-1 Alpha-2 (для стран мира) или ISO 3166-2:RU (для регионов России).

Версии страницы могут быть расположены на разных поддоменах и доменах. Например, страница сайта ru.example.ru продублирована для американцев на английском (en.example.ru) и турков на турецком (example.com.tr). На каждой из этих страниц должно быть три соответствующих элемента link с атрибутами локализации:

<head>
    <title>Заголовок страницы</title>
    <link rel="alternate" hreflang="ru" href="http://ru.example.com/" />
    <link rel="alternate" hreflang="en-us" href="http://en.example.com/" />
    <link rel="alternate" hreflang="tr-tr" href="http://example.com.tr/" />
</head>
  • ru — страница на русском языке;

  • en-us — страница на английском языке для пользователей из США;

  • tr-tr — страница на турецком языке для пользователей из Турции.

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

<link rel="alternate" hreflang="ru" href="http://example.com/o-kompanii/" />
<link rel="alternate" hreflang="en-us" href="http://example.com/company/about/" />
<link rel="alternate" hreflang="tr-tr" href="http://example.com/firma-hakkinda" />

Страницы с автоматическим определением языка

Если на сайте есть страницы, язык которых определяется настройками пользователя (Accept-Language, IP), или содержащие селектор для выбора языка, их следует указать вместе с жестко локализованными документами. Допустим, главная страница сайта example.com из примера выше меняет язык в зависимости от IP-адреса пользователя. Это следует отразить, присвоив атрибуту hreflang значение x-default:

<link rel="alternate" hreflang="x-default" href="http://example.com/" />
<link rel="alternate" hreflang="ru" href="http://example.com/o-kompanii/" />
<link rel="alternate" hreflang="en-us" href="http://example.com/company/about/" />
<link rel="alternate" hreflang="tr-tr" href="http://example.com/firma-hakkinda" />

Если страницы долгое время не попадают в результаты поиска или были исключены, в форме приведите примеры таких страниц.