В документе нет допустимого атрибута hreflang.

Многие сайты предоставляют разные версии страницы в зависимости от языка или региона пользователя. Ссылки hreflang сообщают поисковым системам URL-адреса всех версий страницы, чтобы они могли отображать правильную версию для каждого языка или региона.

Почему аудит hreflang Lighthouse терпит неудачу

Маяк помечает неправильные ссылки hreflang :

Аудит Lighthouse показывает неправильные ссылки hreflang

Lighthouse проверяет наличие ссылок hreflang в head страницы и в заголовках ответов .

Затем Lighthouse проверяет действительные языковые коды в ссылках hreflang . Lighthouse сообщает о любых ссылках hreflang с недопустимыми языковыми кодами.

Lighthouse не проверяет коды регионов или карту сайта .

Предположим, что у вас есть три версии страницы:

  • Английская версия на 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 .

Ресурсы