Многие сайты предоставляют разные версии страницы в зависимости от языка или региона пользователя. Ссылки hreflang
сообщают поисковым системам URL-адреса всех версий страницы, чтобы они могли отображать правильную версию для каждого языка или региона.
Почему аудит hreflang
Lighthouse терпит неудачу
Маяк помечает неправильные ссылки hreflang
:
Lighthouse проверяет наличие ссылок hreflang
в head
страницы и в заголовках ответов .
Затем Lighthouse проверяет действительные языковые коды в ссылках hreflang
. Lighthouse сообщает о любых ссылках hreflang
с недопустимыми языковыми кодами.
Lighthouse не проверяет коды регионов или карту сайта .
Как определить ссылку hreflang
для каждой версии страницы
Предположим, что у вас есть три версии страницы:
- Английская версия на
https://example.com
- Испанская версия на
https://es.example.com
- Немецкая версия на
https://de.example.com
Есть три способа сообщить поисковым системам, что эти страницы эквивалентны. Выберите тот метод, который проще всего подходит для вашей ситуации.
Вариант 1. Добавьте ссылки hreflang
в <head>
каждой страницы:
<link rel="alternate" hreflang="en" href="https://example.com" />
<link rel="alternate" hreflang="es" href="https://es.example.com" />
<link rel="alternate" hreflang="de" href="https://de.example.com" />
Каждая версия страницы должна ссылаться на все другие версии, включая саму себя . В противном случае поисковые системы могут игнорировать ссылки hreflang
или интерпретировать их неправильно.
Для страниц, которые позволяют пользователям выбирать язык, используйте ключевое слово x-default
:
<link rel="alternate" href="https://example.com" hreflang="x-default" />
Вариант 2. Добавьте заголовки Link
в свой HTTP-ответ:
Link: <https://example.com>; rel="alternate"; hreflang="en", <https://es.example.com>;
rel="alternate"; hreflang="es", <https://de.example.com>; rel="alternate"; hreflang="de"
Вариант 3. Добавьте информацию о языковой версии в карту сайта .
<url>
<loc>https://example.com</loc>
<xhtml:link rel="alternate" hreflang="es"
href="https://es.example.com"/>
<xhtml:link rel="alternate" hreflang="de"
href="https://es.example.com"/>
</url>
Рекомендации по значениям hreflang
- Значение
hreflang
всегда должно указывать код языка. - Код языка должен соответствовать формату ISO 639-1 .
- Значение
hreflang
также может включать необязательный региональный код. Например,es-mx
предназначен для говорящих по-испански в Мексике, аes-cl
— для говорящих по-испански в Чили. - Код региона должен соответствовать формату ISO 3166-1 альфа-2 .