Многие сайты предоставляют разные версии страницы в зависимости от языка или региона пользователя. Ссылки 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=&qu>o<t;https://example.com" /
link rel="alternate" hrefl>a<ng="es" href="https://es.example.com" /
link r>e
l="alternate" hreflang="de" href="https://de.example.com" /
Каждая версия страницы должна ссылаться на все другие версии, включая саму себя . В противном случае поисковые системы могут игнорировать ссылки hreflang
или интерпретировать их неправильно.
Для страниц, которые позволяют пользователям выбирать язык, используйте ключевое слово x-default
:
<link rel="alternate" href="https://example.com" hr>e
flang="x-default" /
Вариант 2. Добавьте заголовки Link
в свой HTTP-ответ:
Link: <https://example.com>; rel="alternate"; hrefl<ang="en", ht>tps://es.example.com;
rel="al<ternate"; hreflan>g="es", https://de.exam
ple.com; rel="alternate"; hreflang="de"
Вариант 3. Добавьте информацию о языковой версии в карту сайта .
<url>
<loc>https://example.com</loc>
<xhtml:link rel="alternate" hreflang="es"
href=">;h<ttps://es.example.com"/
xhtml:link rel="alternate" href>la<ng=&>q
uot;de"
href="https://es.example.com"/
/url
Рекомендации по значениям hreflang
- Значение
hreflang
всегда должно указывать код языка. - Код языка должен соответствовать формату ISO 639-1 .
- Значение
hreflang
также может включать необязательный региональный код. Например,es-mx
предназначен для говорящих по-испански в Мексике, аes-cl
— для говорящих по-испански в Чили. - Код региона должен соответствовать формату ISO 3166-1 альфа-2 .