Мультиязычный контент, hreflang для указания языка

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

Сейчас веб-сайты нередко переводятся на иностранные языки и адаптируются для разных регионов. С помощью атрибутов rel="alternate" hreflang="x" Google предлагает результаты поиска на языке пользователя и с соответствующим региональным URL.

Атрибут rel="alternate" hreflang="x" рекомендуется использовать в следующих случаях:

  • Вы перевели только шаблон веб-страницы (например, панель навигации и нижний колонтитул), а основное содержание осталось на исходном языке. Обычно это нужно на страницах, контент которых создается пользователями (например, сообщения на форумах).
  • На сайте представлено содержание на одном языке, однако оно немного различается в зависимости от региона. Так, контент на английском языке может быть предназначен для пользователей из Великобритании, Ирландии и США.
  • На сайте нет атрибутов hreflang!
  • Содержание сайта полностью переведено. Например, если у каждой страницы есть версии на немецком и английском языках.

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

Допустим, у вас есть сайт на английском и испанском языках. Вы можете указать, что http://www.example.com/и http://es.example.com/– это разные версии одной страницы, что ускорит поиск нужного веб-сайта для пользователей. Есть три способа это сделать.

Элемент link в заголовке страницы.

В раздел <head>страницы http://www.example.com/добавьте элемент link, который переадресует пользователя на испанскую версию веб-сайта по адресу http://es.example.com/.

<link rel="alternate" hreflang="es" href="http://es.example.com/" />

HTTP-заголовок.

Если вы публикуете файлы не в формате HTML (например, PDF), используйте HTTP-заголовок, чтобы указать URL на другом языке:

Link: <http://es.example.com/>; rel="alternate"; hreflang="es"

Если нужно добавить несколько атрибутов hreflang в элемент link заголовка страницы, разделите их запятыми:

Link: <http://es.example.com/>; rel="alternate"; hreflang="es",<http://de.example.com/>; rel="alternate"; hreflang="de"

Файл Sitemap.

Сведения о языковой версии можно указывать не с помощью разметки, а в файле Sitemap.

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

Вы можете разместить версии сайта на нескольких языках как в одном домене, так и в разных.

Если для людей, которые говорят на одном языке, но находятся в разных регионах, предназначено несколько альтернативных страниц, рекомендуется также создать общий URL для пользователей, не связанных с определенной страной. Например, вы можете предложить отдельные URL для англоговорящих жителей Ирландии (en-ie), Канады (en-ca) и Австралии (en-au). Но вместе с тем жители других стран, которые понимают английский язык, смогут попадать на общую версию сайта (en). В этом случае вам следует указать общую страницу на английском языке (en), например для поисковых запросов из Великобритании. Вы можете обозначить эту группу страниц при помощи файла Sitemap или HTML-тегов link следующим образом:

<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />

Если вы используете на главной странице меню выбора языка и страны или автоматическую переадресацию главной страницы на определенную языковую версию, необходимо указать параметр hreflang со значением "x-default":

<link rel="alternate" href="http://example.com/" hreflang="x-default" />

Допустимые значения языковых атрибутов

Атрибут hreflangуказывает на язык (в формате ISO 639-1) и, при необходимости, регион (в формате ISO 3166-1 Alpha 2) альтернативного URL.

Например:

  • de – содержание на немецком языке для любого региона;
  • en-GB - содержание на английском языке для пользователей из Великобритании;
  • de-ES – содержание на немецком языке для пользователей из Испании.

Не указывайте код страны. Google не может автоматически определить язык по коду страны. Вы можете использовать код языка и добавлять после него код страны, чтобы открыть доступ к странице только для отдельного региона. Примеры:

  • be - содержание на белорусском языке для любого региона (не бельгийский французский);
  • nl-be – содержание на нидерландском для пользователей из Бельгии;
  • fr-be – содержание на французском для пользователей из Бельгии.

Если в языке несколько систем письма, то нужный вариант выбирается с учетом кода страны. Например, для пользователей из Тайваня с кодом zh-TW будет автоматически задан традиционный китайский язык. Набор символов также можно задать явно с помощью кодов ISO 15924, как показано ниже:

  • zh-Hant – традиционный китайский;
  • zh-Hans – упрощенный китайский.

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

Наконец, зарезервированное значение "x-default" позволяет переходить в раздел, который не соответствует какому-либо языку или региону, например на главную страницу вашего сайта с интерактивной картой мира.

Распространенные ошибки

Обязательно указывайте действительное значение атрибута hreflang. Обратите внимание на следующие распространенные ошибки:

  1. Нет обратных ссылок. Если страница А ссылается на страницу Б, то вторая страница должна содержать обратную ссылку на первую. В противном случае атрибуты могут быть не прочтены или неправильно определены.
  2. Неверные языковые коды. Все языковые коды должны указывать на язык (в формате ISO 639-1) и, при необходимости, регион (в формате ISO 3166-1 Alpha 2) альтернативного URL. Нельзя указывать только регион.

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

  • http://example.com/ru-ru: для русскоговорящих пользователей в России;
  • http://example.com/ru-ua: для русскоговорящих пользователей в Украине;
  • http://example.com/ru-kz: для русскоговорящих пользователей в Казахстане;
  • http://example.com/: главная страница по умолчанию для всех пользователей, на которой можно выбрать нужный язык.

В этом случае веб-мастер может выделить группу страниц с помощью атрибута rel-alternate-hreflang, используя файл Sitemap или такие ссылки:

<link rel="alternate" href="http://example.com/ru-ru" hreflang="ru-ru" />
<link rel="alternate" href="http://example.com/ru-ua" hreflang="ru-ua" />
<link rel="alternate" href="http://example.com/ru-kz" hreflang="ru-kz" />
<link rel="alternate" href="http://example.com/" hreflang="x-default" />

Соответственно значение атрибута hreflang только для русскоговорящих пользователей в России

<link rel="alternate" href="http://example.com/ru-ru" hreflang="ru-ru" />

Значение x-defaultатрибута hreflangговорит, что у данной страницы нет определенных языковых или региональных настроек, т. е. это страница по умолчанию. Например, пользователю из любой другой страны будет показана именно такая страница.

То же относится к главным страницам, которые динамически изменяют свое содержание с учетом данных о местонахождении пользователя или заголовков выбора языка. Атрибут hreflang="x-default"означает, что данная страница не имеет конкретных языковых или региональных настроек.

  1. HTML
  2. hreflang
  3. Примеры