Обновлено 05.08.2017г. 12:10 (UTC+3)

Особенности использования атрибута hreflang

Наличие разных языковых версий для современных ресурсов – не редкость, так же, как и адаптированные под разные регионы страницы. Используя атрибуты rel="alternate" hreflang="x" при оптимизации сайта под Google, можно настроить выдачу результатов на языке пользователей и с указанием регионального адреса сайта. Несколько случаев, когда использование rel="alternate" hreflang="x" оправдано:

  • если перевод коснулся только шаблона страницы (к примеру, навигационной панели), а весь контент выложен на языке оригинала. Это типичная ситуация для форумов и других проектов, для которых контент создают сами пользователи;
  • если сайт одноязычный, но его содержимое изменяется в зависимости от региона: например, англоязычный проект может быть предназначенным для жителей США и Великобритании;
  • если ресурс полностью переведен и для каждой страницы характерно наличие как минимум двух языковых версий.

hreflang

Применение языковых атрибутов

Можно представить условный ресурс, работающий на русском и английском языках. Можно указать, что http://www.site.ru/ и http://en.site.ru/ - различные версии одной и той же главной (или любой другой) страницы. Что сделать это, нужно:

  • в заголовке страницы использовать элемент link. Добавив его в <head></head>, можно настроить переадресацию пользователей на англоязычный вариант страницы, если адрес будет http://en.site.ru/. Вот пример: <link rel="alternate" hreflang="en" href="http://en.site.ru/"/>;
  • использовать HTTP заголовок для файлов, публикуемых не в HTML формате. Пример: Link: <http://en.site.ru/>; rel="alternate"; hreflang="en";
  • пользоваться настройками sitemap.xml, указывая информацию о языковых версиях.

Если у сайта много языковых версий, код каждой из них должен содержать соответствующие атрибуты. К примеру, если на сайте есть контент для носителей английского, немецкого и французского, то в адрес французской страницы нужно включать собственный атрибут rel="alternate" hreflang="x" и ссылаться на другие версии. Те же действия нужны для других страниц – на английском и немецком. Языковые версии можно размещать в рамках одного или разных доменов.

Если речь идет об альтернативных страницах для жителей разных регионов (но при этом говорящих на одном языке), лучше создавать общий урл, не привязывая его к определенной стране. К примеру, можно создать отдельный URL для русскоговорящих жителей Беларуси (ru-by). Но жители других стран, понимающие русский, должны попадать на общую языковую версию (ru). Вот как это можно настроить: <link rel="alternate" href="http://site.ru/ru-by" hreflang="ru-by" /> <link rel="alternate" href="http://site.ru/ru" hreflang="ru" />

Если на главной страницы находится языковое меню либо настроена переадресация на определенную версию, нужно указывать hreflang вместе со значение "x-default": <link rel="alternate" href="http://site.ru/" hreflang="x-default" />.

atribut-hreflang

Языковые атрибуты: допустимые значения

Атрибут hreflang способен указать язык и, если нужно, регион альтернативного URL. Примеры:

  • ru – контент на русском языке для любых регионов;
  • ru-BY – контент на русском языке для пользователей из Беларуси.

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

  • be – бельгийский контент для всех регионов;
  • nl-be – нидерландский контент для бельгийцев;
  • fr-be – французский контент для бельгийцев.

Если для языка характерны разные системы письма, нужно учитывать код страны. К примеру, тайванцы с кодом zh-TW автоматически получают доступ к контенту на китайском. Также можно комбинировать язык и регион: zh-Hans-TW – это контент для жителей Тайваня на упрощенном китайском.

Ошибки при употреблении атрибута

Нужно всегда указывать настоящее значение атрибута. Часто владельцы сайтов ошибаются, не задавая обратных ссылок. Если одна страница ссылается на вторую, то вторая должна иметь обратную ссылку на первую – иначе атрибут будет неправильно воспринят. Еще одна ошибка – неправильное указание языковых стандартов (ISO 639-1) и стандартов регионов (ISO 3166-1 Alpha 2). В частности, нельзя просто указать регион, без связки с языком. Так же, одной из популярных ошибок при использовании hreflang, это его замена на атрибут lang. Поисковые системы не учитывают этот артибут в html разметке с целью определения языка документа. Применяйте его для обозначения блока контента на отличном языке от используемого на странице.

Настройка hreflang для Яндекса

Использовать атрибут hreflang для оптимизации под требования Яндекса нужно, если:

  • версии страниц отличаются исключительно языком;
  • версии на одном языке, но есть отличия в деталях;
  • каждая страница представляет собой отдельную языковую версию.

В целом правила использования атрибута схожи с описанными выше. Для подтверждения можно привести пример локализации страниц сайта ru.site.ru, продублированного на английском для американцев (en.site.ru), а также на турецком для турков (site.ru.tr): <link rel="alternate" hreflang="ru" href="http://ru.site.ru/" /><link rel="alternate" hreflang="en-us" href="http://en.site.ru/" /><link rel="alternate" hreflang="tr-tr" href="http://site.ru.tr/" />