Мультиязычный контент, 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-заголовок.
Если вы публикуете файлы не в формате 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="#" hreflang="en-ie" />
<link rel="alternate" href="#" hreflang="en-ca" />
<link rel="alternate" href="#" hreflang="en-au" />
<link rel="alternate" href="#" hreflang="en" />
Если вы используете на главной странице меню выбора языка и страны или автоматическую переадресацию главной страницы на определенную языковую версию, необходимо указать параметр hreflang со значением "x-default":
<link rel="alternate" href="#" 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. Нельзя указывать только регион.
Примеры использования атрибута 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="#" hreflang="ru-ru" />
<link rel="alternate" href="#" hreflang="ru-ua" />
<link rel="alternate" href="#" hreflang="ru-kz" />
<link rel="alternate" href="#" hreflang="x-default" />
Соответственно значение атрибута hreflang только для русскоговорящих пользователей в России
<link rel="alternate" href="#" hreflang="ru-ru" />
Значение x-default
атрибута hreflang
говорит, что у данной страницы нет определенных языковых или региональных настроек, т. е. это страница по умолчанию. Например, пользователю из любой другой страны будет показана именно такая страница.
То же относится к главным страницам, которые динамически изменяют свое содержание с учетом данных о местонахождении пользователя или заголовков выбора языка. Атрибут hreflang="x-default"
означает, что данная страница не имеет конкретных языковых или региональных настроек.