Теги hreflang лежать поза head

У звітіHreflang link outside <head>

hreflang_outside_head · Проблема

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

Це з’являється, коли теги <link> з hreflang опиняються поза <head> сторінки після того, як HTML прочитано так, як браузер будує сторінку. Зазвичай це стається, коли елемент, якому місце в body, як-от <iframe> чи випадковий текст, іде перед ними й закриває head. Google вимагає, щоб теги hreflang були всередині правильно сформованого head.

Серйозність: Висока. Теги поза head не відповідають вимозі Google; виправте це найближчим часом.

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

У посібнику Google про локалізовані версії сказано, що теги <link> мають бути всередині правильно сформованого розділу <head> в HTML.

Що зробити

  1. Перегляньте знахідку: у ній показано, що передчасно закрило head, і кожен тег hreflang, який опинився поза ним, разом із навколишнім вихідним кодом.
  2. Перенесіть елемент, що закрив head, — часто це <iframe>, <img> чи текст, який додає плагін, — у body або нижче тегів hreflang.
  3. Перевірте результат в інструментах розробника вашого браузера: теги мають бути всередині <head>.

Що ми читаємо

Ми читаємо HTML сторінки в тому вигляді, в якому його віддав сервер, за допомогою парсера, що будує сторінку так, як це роблять браузери, не виконуючи JavaScript. Сторінка фіксується, коли будь-який елемент <link rel="alternate" hreflang> опиняється поза <head>. Теги, записані після </head>, але перед <body>, парсер повертає в head, і вони не фіксуються, а <noscript> усередині head його не закриває.

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

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

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

https://bakery.example/en/ починається так:

<head>
<title>Bakery</title>
<iframe src="https://bakery.example/banner/"></iframe>
<link rel="alternate" hreflang="fr" href="https://bakery.example/fr/">
</head>

<iframe> не може лежати в head, тому браузер закриває head на цьому місці, і тег hreflang опиняється в body. Сторінка фіксується разом з <iframe> і тегом.

Можливе виправлення: перенесіть <iframe> у <body>.

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

Перевірте самі: відкрийте сторінку в інструментах розробника вашого браузера, у поданні Elements, і подивіться, чи лежать теги <link> з hreflang усередині <head>; сам вихідний код сторінки не показує, куди їх поміщає браузер.

Повторна перевірка: Повний аудит — запустіть новий аудит сайту. Знахідка закривається, коли сторінку знову проскановано з повним HTML і кожен тег hreflang опиняється всередині <head>.

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

Парсер дотримується правил, якими користуються браузери, але це не власний парсер Googlebot, а теги, додані через JavaScript, перевірка не бачить.

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

Джерела

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