Topic: Как использовать атрибут 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. Обратите внимание на следующие распространенные ошибки:
Нет обратных ссылок. Если страница А ссылается на страницу Б, то вторая страница должна содержать обратную ссылку на первую. В противном случае атрибуты могут быть не прочтены или неправильно определены.
Неверные языковые коды. Все языковые коды должны указывать на язык (в формате ISO 639-1) и, при необходимости, регион (в формате ISO 3166-1 Alpha 2) альтернативного URL. Нельзя указывать только регион.