hreflang: як Google читає мовні версії сайтів і де виникає плутанина
Зміст
hreflang — це атрибут, яким власники сайтів намагаються пояснити Google, яка сторінка для якої мови або країни призначена. Його використовують на багатомовних і мультирегіональних сайтах, коли один і той самий контент існує в кількох мовних або географічних варіаціях.
На практиці з hreflang пов’язано більше проблем, ніж здається. Частина сайтів використовує його формально, частина — частково, частина — без чіткого розуміння, навіщо саме він потрібен. У результаті Google отримує суперечливі сигнали: сторінки ніби пов’язані між собою, але їхні ролі, структура і логіка відрізняються.
Важливо одразу зафіксувати одну річ. hreflang не керує тим, якою мовою сайт відкриється у браузері. Це не механізм редіректів і не інструмент персоналізації для користувача. Це сигнал для пошукової системи, який допомагає Google вирішити, яку версію сторінки показати у результатах пошуку.
Плутанина починається тоді, коли від hreflang очікують більшого, ніж він може дати. Коли його додають після міграцій, копіювання сайтів, розділення доменів або створення мовних версій без єдиної логіки. Особливо часто проблеми виникають у складних структурах, де частина сторінок дублюється, частина — унікальна, а ролі сайтів не визначені.
У цій статті ми розберемо:
- як hreflang працює насправді;
- які сигнали він передає Google;
- чому навіть коректний hreflang не гарантує очікуваного результату;
- і в яких моментах система починає ламатися, створюючи хаос замість порядку.
Це не інструкція “як вставити тег”.
Це пояснення логіки, з якою Google читає багатомовні сайти.
Що таке hreflang і яку задачу він вирішує
Уяви, що в тебе є одна й та сама сторінка, але в кількох мовах: українська, англійська, німецька. Текст різний, але сенс один. Для людини це очевидно. Для Google — не завжди.
Google бачить окремі URL-адреси. Якщо вони дуже схожі за змістом, він може:
сприйняти їх як дублікати;
вибрати одну версію як основну;
показувати “не ту” сторінку людям з іншою мовою.
hreflang потрібен саме для цього: щоб підказати Google, які сторінки є мовними (або регіональними) версіями одна одної.
Важливо зрозуміти правильно: hreflang — це не про “переклад сайту”. І не про те, щоб сайт автоматично відкривався потрібною мовою. Він працює інакше.
Як це виглядає на рівні логіки
Коли Google бачить hreflang, він отримує сигнал:
“Ось сторінка англійською”
“Ось така сама сторінка німецькою”
“Ось така сама сторінка французькою”
Тобто hreflang допомагає Google не змішувати версії між собою і показувати у пошуку правильну сторінку для конкретної мови або країни.
Коли hreflang особливо корисний
hreflang варто використовувати, коли:
у тебе є 2+ мовні версії сторінок;
контент на цих сторінках дуже схожий за сенсом;
ти хочеш, щоб Google показував різним людям різні версії в пошуку (за мовою/регіоном).
Коли hreflang не потрібен
Якщо сайт лише однією мовою — hreflang не дає користі.
Якщо мовні версії є, але вони не пов’язані між собою (різні структури, різні задачі, різні сторінки) — hreflang може створювати плутанину. Цей момент ми розберемо далі на прикладі, бо саме тут найчастіше все і ламається.

Які бувають hreflang-сигнали і що в них важливо
Коли люди вперше бачать hreflang, вони часто думають, що достатньо вставити кілька рядків у <head> — і все запрацює. Насправді Google “читає” не один тег, а систему: як сторінки пов’язані між собою і чи ця логіка повторюється на кожній мовній версії.
Є три речі, які важливо зрозуміти ще до коду.
1) Мова і мова + країна — це різні сигнали
У hreflang можна вказати:
тільки мову, наприклад
en,de,fr;або мову з країною, наприклад
en-US,en-GB,fr-CA.
Якщо ти продаєш один продукт просто різними мовами, зазвичай вистачає мови.
Країна потрібна тоді, коли відрізняються умови для ринку: валюта, доставка, юридичні тексти, ціни, пропозиції. Тобто коли це вже не просто переклад, а інша версія під ринок.
2) “Пари сторінок” повинні бути повними
Google очікує, що якщо сторінка має мовні версії, то:
кожна версія посилається на інші;
список мовних варіантів однаковий на кожній із цих сторінок.
Інакше виходить ситуація, коли частина сторінок ніби в системі, а частина — ні. Для власника сайту це виглядає як дрібниця. Для Google це вже сумнів: чи дійсно ці сторінки — пов’язані між собою мовні версії.
3) Self-reference: сторінка повинна посилатися сама на себе
Уяви просту ситуацію.
У тебе є сторінка англійською мовою. Вона існує окремо, за своєю адресою. Коли ти додаєш hreflang, ти ніби кажеш Google:
«Ось список сторінок, які розповідають про одне й те саме, але різними мовами».
І тут важливий момент, який часто пропускають.
Коли сторінка показує на інші мови, вона має назвати й саму себе.
Не тільки “ось німецька”, “ось французька”, а й:
“а ось я — англійська версія”. Це і є self-reference.
Простий приклад з життя.
Ти стоїш у кімнаті з кількома людьми і кажеш:
— Це Петро, це Марія, це Анна.
Але про себе нічого не кажеш.Для людей ще можна здогадатися. Для Google — ні. Self-reference — це коли сторінка чітко говорить: «Я — англійська версія цієї сторінки. Ось моя адреса».
Навіщо це потрібно?
Тому що Google будує картину не з одного рядка коду, а з повної схеми зв’язків. Йому важливо бачити замкнене коло:
сторінка знає про інші мовні версії;
і одночасно розуміє, ким вона є сама.
Якщо self-reference немає, схема стає нечіткою.
Google бачить перелік сторінок, але не завжди розуміє, яка з них відповідає поточному URL. У такій ситуації частина сигналів може бути прочитана слабше або взагалі проігнорована.
Саме тому self-reference працює як підпис під сторінкою:
він фіксує її роль у мовній системі сайту.

x-default: що це таке і навіщо він потрібен
x-default — це елемент hreflang, який часто використовують неправильно. Причина проста: від нього очікують того, чого він не робить.
x-default не є мовою і не є країною.
Він не означає «англійська за замовчуванням» і не означає «головна сторінка».
Його завдання одне: показати Google, яку сторінку використовувати, якщо жодна мовна версія не підходить.
Уяви ситуацію без технічних слів.
У тебе є сторінка англійською, німецькою і французькою. Для кожної з них ти чітко вказав
hreflang. Google це бачить і зазвичай розуміє, яку сторінку кому показувати.Але іноді Google не може зробити вибір.
Наприклад:
користувач з країни, для якої ти не визначав мову;
користувач без чітких мовних сигналів;
або ситуація, коли жоден
hreflangне підходить однозначно.От у цей момент і з’являється
x-default.Він каже:
«Якщо не знаєш, яку мовну версію вибрати — використовуй ось цю сторінку».
Важливо розуміти:x-default не керує мовою сайту і не впливає на те, що відкриється у браузері.
Він працює лише на рівні пошуку — при виборі URL, який Google покаже в результатах. Проблеми починаються тоді, коли x-default додають без чіткої логіки.
Часто його ставлять:
після міграцій;
після копіювання сайту іншими мовами;
або «про всяк випадок».
У результаті x-default може вести на сторінку, яка вже є мовною версією, або на сторінку без зрозумілої ролі. Для Google це не помилка, але й не допомога — такий сигнал він просто читає слабше або ігнорує.
Коротке правило просте.
x-default має сенс лише тоді, коли:
мовні версії вже чітко визначені;
структура сайту зрозуміла;
кожна сторінка має свою роль.
Якщо логіки немає, x-default її не створює. Він лише додає ще один елемент у заплутану систему.

Коли hreflang починає шкодити: типова ситуація з доменами
У вашому випадку проблема виникла не через hreflang як такий, а через послідовність розвитку сайтів.
Спочатку існував український сайт. Він був базовим: на ньому були і основні сторінки, і контент, і структура. Це був перший повноцінний сайт.
Пізніше з нього почали робити англійський сайт, але не як повну копію. Частину сторінок перенесли, частину — переробили, частину — взагалі не переносили. Англійська версія розвивалася вже окремо і поступово стала основою для подальших мов.
Після цього від англійського сайту зробили інші мовні версії — DE, FR, ES — вже як чисту продуктову систему з однаковою структурою. Тобто ці сайти між собою симетричні.
Проблема виникла в момент, коли старий український сайт намагалися логічно зв’язати з новою англійською системою через hreflang.
Чому тут починається плутанина.
hreflang добре працює, коли він з’єднує однакові сторінки.
Але у вашому випадку:
частина сторінок на UA існує, але не має відповідників на EN;
частина сторінок на EN з’явилася вже після відокремлення;
структура сайтів історично різна, навіть якщо тематика схожа.
Коли такі сайти з’єднують hreflang, Google отримує суперечливий сигнал:
йому кажуть, що це мовні версії одного сайту, але він бачить, що набори сторінок не збігаються.
Саме тому правильним рішенням стало від’єднання.
Зараз логіка виглядає здорово:
EN + DE + FR + ES — одна продуктова система з повною відповідністю сторінок і
hreflangміж собою;UA — окремий сайт зі своєю роллю і своєю структурою;
hreflangна UA використовується тільки між UA і RU, де структура збігається.
У такій моделі кожен сайт перестає “тягнути” інший у свою логіку, і Google не змушений вгадувати, що з чим пов’язано.
Ключовий висновок цього блоку простий.
Помилка була не в тому, що сайти розділили.
Помилка була б у тому, якщо б їх продовжували штучно зв’язувати, ігноруючи різну історію та структуру.
hreflang не підходить для склеювання сайтів, які:
розвивалися в різний час;
мають різну структуру;
виконують різні задачі.
У таких випадках від’єднання — це не втрата, а наведення порядку.
Дві стратегії: коли сайти з’єднують hreflang-ом, а коли — розділяють
Після появи кількох мовних сайтів завжди виникає одне й те саме питання:
чи потрібно об’єднувати всі сайти через hreflang, чи краще розділити їх ролі.
У нашій ситуації обидва варіанти були можливі на певному етапі. Але лише один з них логічний у довгостроковій перспективі.
Нижче — порівняння двох стратегій на реальному прикладі.
| Критерій | Стратегія 1: усе через hreflang | Стратегія 2: розділення ролей (обрана) |
|---|---|---|
| Базовий сайт | UA — історичний, старий | EN — нова продуктова база |
| Структура сайтів | ⚠️ Різна між UA і EN | ✅ Однакова всередині EN / DE / FR / ES |
| Перенос сторінок | ⚠️ Частковий, нерівномірний | ✅ Повний між мовами продукту |
| hreflang | ⚠️ Частковий, не на всі сторінки | ✅ Повний і симетричний у продукті |
| x-default | ⚠️ Використовується як «костиль» | ✅ Не потрібен або логічний |
| Роль UA | ⚠️ Продукт + контент одночасно | ✅ Окремий сайт (UA ↔ RU) |
| Поведінка Google | ⚠️ Плутається у ролях | ✅ Чітко читає систему |
| Ризики | ⚠️ Високі: ігнорування, конкуренція | ✅ Низькі: зрозуміла архітектура |
| Підтримка | ⚠️ Постійні правки | ✅ Стабільна модель |
| Масштабування | ⚠️ Складне | ✅ Просте |
Пояснення простими словами
Стратегія “все через hreflang” працює лише тоді, коли всі сайти — це однакові копії з різними мовами.
У нашому випадку це вже було неможливо, бо український сайт історично інший: інша структура, інші сторінки, інший шлях розвитку.
Спроба втримати все в одній hreflang-системі змушувала Google постійно “вгадувати”, що з чим пов’язано. Саме тому виникала нестабільність і плутанина.
Стратегія розділення ролей знімає цю проблему.
Кожна група сайтів отримує одну чітку задачу:
EN + DE + FR + ES — продукт, однакова структура, повний hreflang;
UA + RU — окремий сайт зі своєю логікою, без втручання в продуктову систему.
Ключовий висновок блоку
hreflang — це інструмент для зв’язування однакових сторінок, а не для склеювання сайтів з різною історією.
Коли структура і ролі різні, розділення — правильніше за об’єднання.
Чому мовні копії не множать SEO-цінність
У нашому випадку мовні версії з’являлися поступово: спочатку був базовий сайт, потім частковий перенос, далі — повна продуктова система іншими мовами. Це важливо, бо саме тут часто виникає хибне очікування: чим більше мов, тим більше SEO-ефект.
Насправді Google не рахує користь “по кількості мов”. Він дивиться на додану цінність. Якщо сторінки різними мовами мають однакову структуру, однаковий сенс і однакову роль, цінність створюється один раз. Мова змінюється — сенс ні.
Тому коли з англійської версії роблять DE, FR, ES як дзеркальні копії, це нормально для покриття ринків, але це не множить експертність і не підсилює бренд автоматично. Google розуміє, що це один продукт, поданий різними мовами.
Проблеми починаються тоді, коли ці копії намагаються використати як аргумент для зростання всієї системи. У такій моделі очікують, що кожна нова мова додасть “ваги”, але цього не відбувається, бо нового контексту не з’являється.
У нашому випадку правильний ефект з’являється не від кількості мов, а від розділення ролей. Продуктова система (EN + DE + FR + ES) відповідає за продаж і масштабування. Окремий сайт з іншою роллю працює на походження бренду, контекст і довіру, не конкуруючи з продуктом.
Саме так формується зрозуміла картина для Google:
є один продукт з мовними версіями і є окремий сайт, який підтверджує бренд, але не дублює продукт.
Короткий висновок цього блоку простий.
Мовні копії — це інфраструктура, а не джерело SEO-росту.
SEO з’являється там, де додається новий зміст, новий контекст і чітка роль сторінок.
Коли hreflang потрібен, а коли його краще не використовувати
hreflang має сенс тільки тоді, коли він вирішує чітку задачу. У нашому випадку це добре видно: там, де сторінки однакові за структурою і роллю, він працює стабільно. Там, де структура і роль різні, він починає створювати плутанину.
hreflang потрібен, коли:
існують однакові сторінки різними мовами;
структура сайтів повністю співпадає;
кожна сторінка має чітку пару іншими мовами;
мовні версії виконують одну й ту саму функцію.
У такій системі Google легко читає зв’язки, не плутає сторінки між собою і коректно показує потрібну версію в пошуку.
hreflang не потрібен і навіть шкідливий, коли:
сайти мають різну історію розвитку;
структура сторінок не збігається;
частина сторінок існує лише на одному сайті;
один сайт намагаються зробити і мовною версією, і окремим проєктом одночасно.
У таких ситуаціях hreflang не пояснює Google логіку, а навпаки — змушує його вгадувати, що з чим пов’язано.
У нашому випадку правильним рішенням стало розділення систем.
Продуктові мовні сайти працюють як єдина, симетрична структура з повним hreflang.
Український сайт залишився окремим, зі своєю роллю і власною логікою, без спроб штучно вбудувати його в продуктову систему.
Це не спрощення. Це наведення порядку.
Головна думка, яку варто забрати з цієї статті.
hreflang — це не обов’язковий атрибут і не “ознака правильного SEO”.
Це інструмент, який працює тільки тоді, коли структура сайту вже зрозуміла.
Якщо спочатку визначити ролі сайтів і сторінок, hreflang стає простим і передбачуваним.
Якщо ролей немає, жоден тег не врятує систему.
📚 Джерела даних
🧿 Практичний кейс KOZAKSEO — реальний проєкт агенції KOZAKSEO: частковий перенос сайту, формування продуктової мовної системи, виправлення та розділення hreflang-логіки.
📄 Google Search Central — Managing multi-regional and multilingual sites.
🌍 Google Search Central — Localized versions of your pages (hreflang, x-default).
🧩 Google Search Central Blog — Introducing x-default hreflang for international sites.
🔗 Офіційна документація Google — робота з дубльованим контентом і вибір канонічних URL.


