Повні декларації hreflang не узгоджуються між способами

У звітіHreflang differs across HTML, headers, and sitemap

hreflang_cross_method_conflict · Проблема

Коротка відповідь

Це з’являється, коли сторінка перелічує свої мовні версії більш ніж в одному місці — у своєму HTML, HTTP-заголовку Link чи вашій карті сайту — і ці списки відрізняються. Тоді ви підтримуєте кілька списків, які вже не кажуть того самого. Залиште один спосіб або зробіть усі списки однаковими.

Серйозність: Середня. Списки називають різні набори версій для однієї сторінки; виправте їх, коли наступного разу оновлюватимете мовні версії.

Чому це важливо

Посібник Google про локалізовані версії називає три свої способи — HTML, HTTP-заголовки та карти сайту — рівнозначними й каже, що використання кількох не дає переваг у Пошуку і що ними важче керувати, ніж одним обраним.

Що зробити

  1. Перегляньте знахідку: у ній показано список із кожного місця, де його оголошено.
  2. Оберіть один спосіб — зазвичай той, який ваш сайт генерує автоматично, — і приберіть інші.
  3. Або, якщо залишаєте кілька, зробіть так, щоб кожен список називав ті самі мови й адреси.

Що ми читаємо

Ми читаємо три місця, де сторінка може перелічити свої мовні версії: теги <link rel="alternate" hreflang> будь-де в її HTML, заголовок Link з hreflang у її відповіді та записи xhtml:link для її адреси у ваших картах сайту, причому кожен файл карти сайту окремо. Це правило не робить додаткових запитів і не виконує JavaScript.

Сторінка оцінюється, лише коли всі три місця прочитано повністю, і фіксується, коли принаймні два з них містять hreflang, а їхні набори пар «мова — адреса» відрізняються; порядок і повтори не мають значення, а список, у якому бракує версії, вважається відмінним. Кожен файл карти сайту порівнюється окремо.

Сторінка позначається як неперевірена, коли одне з трьох місць не вдалося прочитати повністю: HTML із непідтримуваною розміткою SVG, елементом <noscript>, <select> чи <math> будь-де, сторінка, що не відповіла кодом 200 або перевищує 2 МіБ, заголовок Link із відношенням, яке ми не можемо розібрати, наприклад записаним як адреса, або файл карти сайту, який не вдалося прочитати повністю, що блокує кожну сторінку. Анотація з порожньою, відносною чи невебовою адресою теж блокує сторінку, доки її не виправлено.

Приклад і докази

Ілюстративний приклад — одна сторінка, перелічена у двох місцях, а не реальний аудит.

https://bakery.example/en/ містить у своєму HTML:

<link rel="alternate" hreflang="en" href="https://bakery.example/en/">
<link rel="alternate" hreflang="fr" href="https://bakery.example/fr/">

а її запис у карті сайту перелічує:

<xhtml:link rel="alternate" hreflang="en" href="https://bakery.example/en/"/>
<xhtml:link rel="alternate" hreflang="de" href="https://bakery.example/de/"/>

Два списки називають різні версії, тому сторінка фіксується з обома.

Можливе виправлення: залиште hreflang в одному місці або перелічіть англійську, французьку й німецьку в обох.

Підтвердити й перевірити знову

Перевірте самі: порівняйте теги hreflang у вихідному коді сторінки із заголовком Link її відповіді та з її записом <url> у вашій карті сайту.

Повторна перевірка: Повний аудит — запустіть новий аудит сайту. Знахідка закривається, коли сторінку знову проскановано, місця, які читає ця перевірка, прочитано повністю і списки, що залишилися, узгоджуються або hreflang має лише одне місце. Видалення hreflang зі сторінки теж її закриває; якщо сторінку не вдається прочитати або вона відповідає кодом 404, знахідка залишається відкритою.

Обмеження та джерела

Перевірка показує, що списки відрізняються, а не те, який із них правильний чи який використовує Google. Їй потрібно, щоб усі три було прочитано повністю, тож відмінність між HTML і заголовком не фіксується, поки не вдається прочитати карту сайту.

Упевненість: Висока, бо списки зчитуються безпосередньо.

Джерела

Редакційна перевірка: 29 вересня 2026