Деклараціям hreflang у карті сайту бракує потрібної структури

У звітіSitemap hreflang markup structurally invalid

sitemap_hreflang_structure_invalid · Проблема

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

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

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

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

Посібник Google про локалізовані версії просить, щоб карти сайту з hreflang оголошували простір імен xhtml, а кожен запис <url> перелічував кожну альтернативну версію сторінки, разом із нею самою.

Що зробити

  1. Перегляньте знахідку: у ній показано файли карти сайту, записи й те, чого бракує кожному.
  2. Оголосіть xmlns:xhtml="http://www.w3.org/1999/xhtml" на елементі <urlset>.
  3. Зробіть так, щоб кожен <url> перелічував усі свої версії, разом із собою, і той самий набір був у записі кожної версії; генератори карт сайту зазвичай мають для цього налаштування.

Що ми читаємо

Ми читаємо кожен файл карти сайту, який завантажив аудит, як XML, і більше нічого. Сайт фіксується, коли файл використовує xhtml:link, не оголошуючи його простору імен, коли запис із hreflang не містить власного <loc> або коли запис A перелічує сторінку B, B має власний запис у карті сайту, а у списку B бракує однієї з версій A. Записи, яких узагалі немає в карті сайту, не шукаються.

Коли карту сайту не вдається завантажити або прочитати повністю чи запис має адресу або код, які ми не можемо використати, правило не може підтвердити чистий результат; воно однаково може зафіксувати інше структурне порушення, підтверджене повними доказами.

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

Ілюстративний приклад — один файл карти сайту, а не реальний аудит.

https://bakery.example/sitemap.xml містить:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://bakery.example/en/</loc>
    <xhtml:link rel="alternate" hreflang="fr" href="https://bakery.example/fr/"/>
  </url>
</urlset>

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

Спершу оголосіть простір імен xhtml на <urlset>. Під час наступної повної перевірки англійський запис можна буде оцінити; додайте запис en для самої https://bakery.example/en/, якщо його бракує.

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

Перевірте самі: відкрийте файл своєї карти сайту й пошукайте xmlns:xhtml на <urlset>, потім перевірте, що кожен <url> містить сам себе серед своїх записів xhtml:link.

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

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

Це правило читає лише збережені дані карти сайту; додаткових запитів до сторінок воно не робить. Версії, яких бракує в карті сайту, не шукаються, а коди мов залишено іншим перевіркам.

Перевірка порівнює лише явно оголошені пари між спостереженими записами; транзитивні мовні групи не виводяться. Неповна колекція без доведеного структурного порушення лишається невідомою. Повна колекція без анотацій hreflang не застосовується.

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

Джерела

Редакційна перевірка: 4 листопада 2026