hreflang і html lang не узгоджуються щодо мови сторінки
У звітіHreflang self-reference contradicts html lang
hreflang_html_lang_mismatch · Потребує перегляду
Це з’являється, коли запис hreflang, який сторінка дає сама собі, називає одну мову, а її <html lang> — іншу, як-от hreflang="fr" на сторінці з позначкою lang="en". Перегляньте, яку мову має описувати кожна декларація, і виправте ненавмисну відмінність.
Серйозність: Низька. Перегляньте це за нагоди: зазвичай це одне налаштування шаблону, а Google не використовує жоден із цих тегів, щоб визначити мову сторінки.
Чому це важливо
W3C радить завжди оголошувати типову мову тексту сторінки атрибутом lang на елементі <html>. hreflang повідомляє пошуковим системам, яка адреса обслуговує яку мову, тож відмінність між власним записом сторінки та її lang потребує перегляду.
Що зробити
- Перегляньте знахідку: у ній показано
<html lang>сторінки, її власні записи hreflang і базову мову кожного. - Перевірте, якою мовою написано сторінку.
- Виправте атрибут
langабо запис hreflang — зазвичай у шаблоні, який його задає.
Коли залишити як є: якщо сторінка навмисно поєднує мови й обидві декларації свідомі, можна залишити як є.
Що ми читаємо
Ми читаємо hreflang сторінки у двох місцях: у тегах <link rel="alternate" hreflang> її HTML і в заголовку Link з hreflang у її відповіді; карта сайту для цієї перевірки не читається. Ми порівнюємо <html lang> сторінки із записами, що вказують на саму сторінку.
Порівнюється лише базова мова: de-AT і de узгоджуються, fr і en — ні. Сторінка позначається як неперевірена, коли будь-яке з її значень hreflang не є чинним кодом мови, як-от en_US, або її тег <html> не лежить у межах перших 65 536 декодованих символів. Сторінка позначається як неперевірена, коли одне з двох місць не вдалося прочитати повністю, наприклад HTML із непідтримуваною розміткою SVG, елементом <noscript> чи <select> будь-де або заголовок Link із відношенням, яке ми не можемо розібрати; анотація з порожньою, відносною чи невебовою адресою теж блокує сторінку.
Приклад і докази
Ілюстративний приклад — одна сторінка, а не реальний аудит.
https://bakery.example/fr/ містить:
<html lang="en">
<head>
<link rel="alternate" hreflang="fr" href="https://bakery.example/fr/">Власний запис hreflang сторінки каже «французька», а її lang — «англійська», тому сторінка фіксується.
<html lang="fr">Можливе виправлення, якщо сторінка французькою: задайте відповідний lang.
Підтвердити й перевірити знову
Перевірте самі: перегляньте вихідний код сторінки й порівняйте lang на тезі <html> з тегом hreflang, href якого — це власна адреса сторінки.
Повторна перевірка: Повний аудит — запустіть новий аудит сайту. Знахідка закривається, коли сторінку знову проскановано і дві декларації узгоджуються щодо базової мови або одну з них прибрано. Якщо сторінку не вдається прочитати, знахідка залишається відкритою.
Обмеження та джерела
Перевірка порівнює дві декларації; вона не визначає мову, якою написано сторінку, а Google каже, що не використовує жодну з них, щоб визначити мову сторінки. Споріднені коди, як-от no і nb, вважаються різними, а xml:lang і Content-Language не читаються.
Упевненість: Висока, бо обидві декларації зчитуються безпосередньо.
Джерела
- W3C, Оголошення мови в HTML — радить завжди використовувати атрибут мови на тезі html, щоб оголосити типову мову тексту на сторінці. Перевірено 28 вересня 2026.
- Google, Як повідомити Google про локалізовані версії вашої сторінки — каже, що Google не використовує hreflang чи атрибут lang в HTML, щоб визначити мову сторінки. Перевірено 28 вересня 2026.
Редакційна перевірка: 29 вересня 2026