Индексация · HREFLANG_DUPLICATE_LANG

Один код языка в hreflang указывает на разные URL

На странице один код языка в HTML, HTTP Link или sitemap xhtml ведёт на разные адреса. Поиск не знает, какую версию связать с этим языком.

Приоритет в аудите: Средний

Что проверяется

Среди HTML link[rel=alternate][hreflang], HTTP Link rel=alternate hreflang и xhtml:link loc уже прочитанного sitemap строится общий словарь lang→identity href (хост, путь, query, слеш). Один код на две identity — находка, даже если внутри HTML, Link или sitemap по отдельности дубля нет. Порядок: HTML, затем Link, затем sitemap. Два тега на тот же URL — не находка. Нет HTML, HTTP и sitemap xhtml hreflang — not_applicable. Расхождение наборов без двух URL у одного языка — HREFLANG_LINK_CONFLICT и HREFLANG_SITEMAP_XHTML. Словарь взаимной цели — HREFLANG_LANG_MAP. Отдельный GET не нужен. Отдельный sitemap цели не запрашивается.

Частые причины

Шаблон дважды ставит en на /en и /english

HTML ведёт en на /en, а HTTP Link или sitemap — на /english

В sitemap у loc два xhtml:link с одним hreflang

Как исправить

Для каждого кода, включая x-default, оставьте один канонический URL во всех источниках hreflang. Не дублируйте язык ради слеша или алиаса — выберите один адрес.

Критерий приёмки

В объединённом словаре HTML ∪ HTTP Link ∪ sitemap xhtml каждый код языка встречается с одной identity URL; для двух разных адресов есть evidence с обоими href.