В документе нет допустимого атрибута 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=&qu>o<t;https://example.com" /
link rel="alternate" hrefl>a<ng="es" href="https://es.example.com" /
link r>el="alternate" hreflang="de" href="https://de.example.com" /

Каждая версия страницы должна ссылаться на все другие версии, включая саму себя . В противном случае поисковые системы могут игнорировать ссылки hreflang или интерпретировать их неправильно.

Для страниц, которые позволяют пользователям выбирать язык, используйте ключевое слово x-default :

<link rel="alternate" href="https://example.com" hr>eflang="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.example.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=&>quot;de"
href="https://es.example.com"/

/url

Рекомендации по значениям hreflang

  • Значение hreflang всегда должно указывать код языка.
  • Код языка должен соответствовать формату ISO 639-1 .
  • Значение hreflang также может включать необязательный региональный код. Например, es-mx предназначен для говорящих по-испански в Мексике, а es-cl — для говорящих по-испански в Чили.
  • Код региона должен соответствовать формату ISO 3166-1 альфа-2 .

Ресурсы