Телеграм, WhatsApp  +380637610482
Валерій Данюк
Валерій ДанюкрозробникРозробка ІІ-інструментів для бізнесу. Якісно. Недорого.Написати у Telegram

Перевірка hreflang онлайн: як знайти помилки у мовних версіях сайту та виправити їх

Перевірка hreflang онлайн: коди мов, x-default, посилання на себе та взаємні посилання між мовними версіями

Що ви отримаєте

  • Перевірку кластера hreflang будь-якої сторінки: коди мов, дублі, x-default, посилання на себе, статуси URL - безкоштовно
  • Розуміння чому Google показує німецьку версію англомовним відвідувачам, і як це виправити
  • Правильний шаблон розмітки для сайту двома і більше мовами
Застосувати: за 20 хвилинЕкономить: трафік, що йде не на ту мовну версію

Коротка відповідь: щоб перевірити hreflang онлайн, вставте адресу будь-якої мовної версії сторінки у безкоштовний валідатор hreflang PromoPilot і натисніть «Перевірити hreflang». Інструмент витягне альтернативні посилання з <head>, перевірить формат кодів мови та регіону, дублі, наявність x-default та посилання на саму сторінку, HTTP-статус кожної альтернативи, а при включеному перемикачі – ще й взаємні посилання між версіями. Нижче як читати результат і які помилки зустрічаються найчастіше.

Я робив багатомовні проекти - від сайтів на 3 мови до порталу на 33 мови з RTL, - і hreflang був джерелом проблем майже в кожному. Найприкріша помилка: все розмічено, але одна версія не посилається назад — і Google показує відвідувачам не ту мовну версію, хоча на перший погляд все гаразд.

Що перевіряє валідатор hreflang?

Hreflang — підказка пошуковику: «ця сторінка має версії іншими мовами, ось їхні адреси». Сторінки, пов'язані з такою розміткою, утворюють кластер. Валідатор перевіряє, чи правильно цей кластер зібрано.

Перевірка Що дивиться Навіщо це для SEO
Альтернативи з head Всі теги <link rel="alternate" hreflang="…"> сторінки Це і є розмітка, яку читає Google
Формат кодів та дублі Мова ISO 639-1, регіон ISO 3166-1 ( de, en-GB, cs-CZ), повтори Неправильний код Google просто ігнорує
x-default Чи є версія «за замовчуванням» Показується тим, кому не підійшла жодна мова
Посилання на себе Чи вказує сторінка на саму себе у списку Без неї кластер вважається неповним
HTTP-статус альтернатив Чи відповідає кожна адреса кодом 200 Посилання на 404 або редиректи ламають зв'язки
Взаємні посилання Чи посилається кожна версія назад Без підтвердження пари hreflang не враховується

Як перевірити hreflang сайту онлайн?

Перевірка hreflang за 4 кроки: вставити URL із кластера, запустити перевірку, переглянути статуси URL та включити взаємну перевірку

  1. Відкрийте валідатор hreflang.
  2. Вставте адресу сторінки, яка повинна входити до кластера, наприклад https://example.com/en/pricing/.
  3. Вирішіть, чи потрібна взаємна перевірка. Перемикач "Перевіряти reciprocal hreflang" робить перевірку повільніше: інструмент відкриває кожну альтернативу і дивиться її розмітку. Для першої перевірки увімкніть його - саме взаємність ламається найчастіше.
  4. Натисніть «Перевірити hreflang» та вивчіть проблеми: коди, x-default, посилання на себе.
  5. Виправте незв'язані локалі і перевірте ще раз - вже з іншої мовної версії, щоб переконатися, що кластер сходиться з будь-якої сторони.

Так виглядає сторінка інструменту: поле адреси, перемикач взаємної перевірки та опис того, що перевіряється.

Сторінка безкоштовного інструменту «Hreflang Validator» PromoPilot: поле для URL, перемикач reciprocal-перевірки та кнопка «Перевірити hreflang»

Як читати результат та що виправити першим?

Помилки у hreflang нерівноцінні. Я виправляю їх у такому порядку:

  1. Альтернативи відповідають помилкою чи редиректом. Якщо /de/preise/ повертає 404 або перенаправляє на головну, пара не працює. У hreflang повинні стояти тільки кінцеві адреси зі статусом 200, що збігаються з canonical цих сторінок.
  2. Немає зворотних посилань. Англійська версія посилається на німецьку, а німецька на англійську – ні. Найчастіше так буває, коли нову мову додали пізніше і не оновили шаблон старих версій.
  3. Неправильні коди. Класика — en-UK замість en-GB, cz замість cs для чеської, ua замість uk для української, або регіон без мови. Такі рядки пошуковик пропускає.
  4. Немає посилання на себе. Кожна версія має перераховувати навіть саму себе.
  5. Немає x-default. Не помилка, але без нього відвідувачі «з інших мов» одержують випадкову версію.
  6. Дублі. Один і той же код вказано двічі з різними адресами - Google не знає, який вибрати.

Правильний кластер для сторінки на трьох мовах виглядає так і однаково на кожній з трьох версій:

<link rel="alternate" hreflang="en" href="https://example.com/en/pricing/">
<link rel="alternate" hreflang="de" href="https://example.com/de/preise/">
<link rel="alternate" hreflang="cs" href="https://example.com/cs/cenik/">
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing/">

Ще одна часта пастка — canonical, який веде з усіх мовних версій англійською. Це суперечить hreflang: ви одночасно кажете «це дубль англійської сторінки» та «це самостійна німецька версія». Canonical кожної версії повинен вказувати на себе.

Коли потрібні регіони, а не лише мови?

Код de підходить усім німецькомовним відвідувачам. Код de-AT – лише тим, хто в Австрії. Регіональні коди потрібні, якщо у вас справді різний контент для країн: інші ціни, валюта, доставка, юридична інформація. Якщо тексти однакові, то достатньо мовних кодів — зайві регіональні версії створюють дублі та ускладнюють підтримку.

Хороший компроміс для магазину: de для всіх німецькомовних країн плюс de-CH, якщо для Швейцарії інші ціни у франках. Тоді швейцарський відвідувач побачить свою версію, а решту — загальну.

Як додати нову мову і не зламати hreflang?

Більшість помилок з'являється не при запуску сайту, а пізніше коли додають мову. Мій чек-лист на цей випадок:

  1. Оновіть шаблон усіх існуючих версій, а не тільки нових: кожна сторінка повинна перерахувати нову мову.
  2. Не публікуйте пусті або неперекладені сторінки. Якщо перекладу ще немає, краще не включати сторінку до кластера, ніж посилатися на заглушку.
  3. Перевірте адресу. Переведені адреси ( /de/preise/ замість /de/pricing/) хороші для користувачів, але у hreflang повинні стояти саме вони без редиректів.
  4. Проженіть валідатор з двох сторін — з нової версії та з однієї зі старих, із включеною взаємною перевіркою.
  5. Обновіть sitemap, щоб нові сторінки швидше знайшов робот.

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

Порівняння: валідатор hreflang та альтернативи

Інструмент Що безкоштовно Обмеження Кому підходить
PromoPilot - Валідатор hreflang Коди, дублі, x-default, посилання на себе, HTTP-статуси, взаємні посилання Один кластер за перевірку, читає розмітку з head Швидко перевірити ключові сторінки свого чи чужого сайту
Google Search Console Перевірка URL: яку канонічну версію вибрав Google Тільки для свого підтвердженого сайту окремого звіту по hreflang немає Зрозуміти, як Google бачить конкретну версію
Screaming Frog SEO Spider Обхід сайту зі звітами по hreflang Потрібна установка, у безкоштовної версії ліміт адрес Аудиту всіх мовних версій одразу
Ahrefs Webmaster Tools Аудит сайту, включаючи помилки hreflang Тільки для своїх підтверджених сайтів Регулярному контролю свого проекту

Висновок: для перевірки конкретної сторінки – наприклад, після запуску нової мови – швидше онлайн-валідатор. Для сайту з тисячами сторінок десяткою мов потрібен краулер, який обійде все.

У PromoPilot 87 безкоштовних SEO-інструментів. Поруч у серії - стаття про аналіз мета-тегів: він теж показує hreflang сторінки, але без перевірки взаємності та статусів.

Які обмеження у валідатора hreflang?

Валідатор читає альтернативи з <head> документа. Якщо hreflang у вас у sitemap XML або HTTP-заголовках, інструмент його не побачить - це не помилка сайту, а особливість перевірки. Він перевіряє один кластер: щоб переконатися, що весь сайт розміщено правильно, потрібно перевірити шаблони всіх типів сторінок або запустити краулер. І, звичайно, валідатор не оцінює якість перекладу - машинний переклад без редактури hreflang не врятує.

Коли безкоштовний інструмент мало?

Валідатор hreflang або багатомовний SEO під ключ: перевірка одного кластера проти автоматичної розмітки всього сайту

Валідатор знайде помилку, але не перепише шаблон сайту. Фахівець потрібен, якщо:

  • мов більше трьох, і hreflang потрібно генерувати автоматично кожної нової сторінки;
  • ви виходите на нові ринки та вирішуєте, як влаштувати адреси: папки, піддомени чи окремі домени;
  • Google вперто показує не ту версію, а помилок на перший погляд немає;
  • потрібен не тільки hreflang, але й переклад, мета-теги та розмітка кожною мовою.

Що я можу зробити для вашого сайту?

Я Валерій Данюк, розробник та SEO-фахівець: 12 років, 200+ клієнтів, багато багатомовних проектів для Європи.

SEO та багатомовність

Сайти, магазини та облік

Надішліть адресу багатомовного сайту в Telegram — перевірю кластери ключових сторінок і скажу, де губиться трафік.

Підсумок

  1. Перевірка hreflang онлайн показує коди, x-default, посилання на себе, статуси та взаємні посилання кластера.
  2. Чиніть по порядку: биті альтернативи → зворотні посилання → коди → посилання на себе → x-default → дублі.
  3. Canonical кожної мовної версії повинен вказувати на саму себе, а не на «головну» мову.
  4. Для великих багатомовних сайтів hreflang генерують шаблоном або беруть платформу, де мови пов'язані автоматично, наприклад 1001site.

Перевірте найважливішу сторінку свого сайту у безкоштовному валідаторі hreflang — із включеною взаємною перевіркою.

Джерела

  • Сторінка інструменту «Hreflang Validator» PromoPilot – список перевірок та FAQ.
  • Google Search Central - документація про локалізовані версії сторінок і hreflang.
  • Screaming Frog та Ahrefs Webmaster Tools — опис аудиту сайту.

Посилання та джерела

Запитання та відповіді

Чому важливий x-default?

x-default говорить пошуковику, яку версію показувати, якщо жодна мова з кластера не підходить відвідувачу: наприклад, людині з японським браузером на сайті з німецькою, англійською та чеською версіями. Зазвичай x-default вказує на англійську версію або сторінку вибору мови.

Чому важлива взаємна зв'язність?

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

Де розміщувати hreflang: в HTML, в заголовках або в sitemap?

Google підтримує три способи: теги link в head, HTTP-заголовки (зручно для PDF) та sitemap XML. Виберіть один і послідовно. Валідатор PromoPilot читає альтернативи з head документа, тому розмітку в sitemap він не побачить.

Перевірили сайт — а виправити нема кому?

Безкоштовний інструмент показує проблеми. Я розберу звіт, розставлю пріоритети та виправлю: SEO-аудит, прискорення, розмітку, перенесення на новий сайт без втрати позицій.