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

Фірма у Варшаві розмовляє трьома мовами, а сайт — однією
Ресепшн відповідає на дзвінки польською, українською та англійською — саме ці люди й телефонують. Сайт зазвичай відстає: одна польська версія, іноді англійська підсторінка з перекладеним меню, а українська версія — якщо взагалі існує — висить окремо, без технічного зв'язку з рештою.
Результат подвійний. По-перше, клієнт, який шукає українською, часто взагалі не потрапляє на твій сайт, бо в Google немає сигналу про існування української версії й про те, чому вона відповідає. По-друге, навіть якщо він потрапляє на сайт, він може побачити версію не своєю мовою, бо без правильного налаштування пошуковик обирає сторінку за власними сигналами, а не за твоїм задумом. Аналіз сайтів варшавських фірм показує: саме такі технічні прогалини, а не брак контенту, найчастіше пояснюють, чому клієнти не залишають запитів — вони потрапляють на сайт, але не на ту версію, яка відповідає на їхнє питання їхньою мовою.
Що hreflang насправді каже Google (і чого не робить)
Hreflang — це анотація, яка повідомляє Google про існування мовних або регіональних варіантів однієї й тієї самої сторінки, щоб пошуковик міг показати відвідувачу версію, що відповідає його мові чи регіону. Це вся його робота — hreflang не перекладає текст, не покращує його якість і не замінює сам переклад.
Google не визначає мову сторінки за hreflang чи атрибутом lang
Це найчастіше хибне припущення: hreflang не повідомляє Google, якою мовою написана сторінка. Google визначає мову сторінки власними алгоритмами, аналізуючи реальний текст, а не декларацію в коді. Звідси практичний наслідок: якщо позначити сторінку як hreflang="uk", а текст на ній лишається польським, hreflang цього не виправить. Перш ніж займатися розміткою, переконайся, що зміст справді написаний заявленою мовою — не наполовину, не лише в меню.
Три способи налаштування — досить одного
Google приймає три методи передачі інформації про мовні версії. Не потрібно застосовувати всі одразу — досить одного, застосованого послідовно на всьому сайті.
Теги в head
Найпопулярніший спосіб для HTML-сторінок: у розділі head кожної мовної версії розміщується набір тегів link rel="alternate" hreflang="...", по одному на кожну версію, включно з тією, на якій перебуваєш. Це добре працює для десятка-другого сторінок — при більшій кількості код head починає розростатися.
HTTP-заголовки та карта сайту
Для файлів без розділу head — наприклад, PDF — інформацію про мовні версії можна передати HTTP-заголовком у відповіді сервера. Третій шлях — прописати зв'язки hreflang прямо в XML-карті сайту: зручно за великої кількості сторінок, бо оновлюється один файл замість коду кожної сторінки окремо. Вибір методу залежить від того, хто веде сайт день у день: для корпоративного сайту на одному рушії найпростіше тримати теги в head.
Правила, обов'язкові за будь-якого способу

Яким би способом ти не користувався, діють ті самі технічні правила, описані Google Search Central:
- кожна мовна версія повинна перелічувати саму себе та всі інші версії — не лише вказувати на інші, а й декларувати себе;
- адреси мають бути повними, разом із протоколом
https://— відносні шляхи не працюють; - код мови записується у форматі ISO 639-1 (наприклад,
pl,uk,en), а регіон — опційно — у форматі ISO 3166-1 Alpha 2 (наприклад,pl-PL, коли потрібно розрізнити саме регіон, а не лише мову).
Для трьох версій — польської, української та англійської — це означає, що в коді польської сторінки мають стояти три теги: один вказує на неї саму, другий — на українську версію, третій — на англійську. Той самий набір повторюється в коді української та англійської версій.
x-default — сторінка для мов, яких ти не перелічив
Значення x-default в атрибуті hreflang вказує сторінку, яку Google має показати відвідувачам з мовами, не охопленими жодною з перелічених версій — наприклад, відвідувачу, який пише німецькою, якщо в тебе є лише pl, uk і en. Найчастіше x-default веде на сторінку вибору мови або на версію фірми за замовчуванням — зазвичай польську.
x-default не обов'язковий, але без нього відвідувачі поза межами трьох підтримуваних мов потрапляють у пошуковик без чіткої вказівки, яку версію їм показати, — а це підвищує ризик, що вони опиняться на випадковій підсторінці замість головної. Це той самий тип проблеми, що й з доступністю сайту й онлайн-замовлення: відвідувач потрапляє на сайт, але не може легко знайти те, за чим прийшов.
Часті помилки, що ламають hreflang
Налаштування hreflang крихке: одного пропущеного елемента в одній версії досить, щоб знецінити все інше.
Відсутність зворотних посилань
Це помилка номер один за документацією Google: якщо сторінка X вказує на сторінку Y як на свій мовний варіант, сторінка Y зобов'язана вказувати назад на X. Якщо цього немає бодай для однієї пари версій, Google може проігнорувати анотації — не лише для цієї неповної пари, а потенційно для всього набору. Типовий сценарій: додаєш нову українську версію і прописуєш у ній посилання на польську та англійську, але забуваєш оновити вже наявні польську й англійську версії, щоб вони теж вказували на нову українську. Підсумок: нова версія так і не починає технічно працювати так, як має.
Друга типова проблема — hreflang вказує на адресу, якої вже немає або ніколи не було, наприклад після зміни структури адрес сайту без оновлення розмітки. Google натрапляє на помилку 404 замість обіцяної мовної версії й починає ставитися до всього набору з недовірою.
Переклад лише меню — це дубль контенту
Часте скорочення шляху: перекласти навігацію, підвал і кнопку «замовити», а решту тексту лишити польською, вважаючи це достатнім для «англійської версії». З погляду пошуковика це взагалі не окрема мовна версія — це майже ідентичний текст за іншою адресою, тобто дубльований контент, явище, проти якого застерігає посібник Google з SEO, рекомендуючи скорочувати такі повтори й використовувати описові адреси URL.
rel="canonical" і коли його застосовувати
Для дубльованих або дуже схожих сторінок Google дозволяє вказати бажану канонічну адресу, зокрема через rel="canonical". Це інструмент для іншого завдання, ніж hreflang: canonical каже «це один і той самий зміст, враховуй лише цю адресу», а hreflang каже «це різні мови одного змісту, показуй кожному його версію». Сплутати їх — наприклад, поставити canonical з української версії на польську, коли тексти насправді різняться, — може приховати українську версію з результатів замість того, щоб її просунути.
Що перекладати обов'язково, а що можна відкласти
Не кожна сторінка потребує повного перекладу з першого дня, але кілька елементів обов'язкові в той момент, коли ти взагалі заявляєш мовну версію: описи послуг, які клієнт має зрозуміти до звернення, ціни або принцип їх формування, контактні дані та умови надання послуги. Якщо це лишається польською на «англійській» сторінці, це не англійська версія — це сторінка з англійським заголовком.
Писати цей текст одразу трьома мовами, а не пришивати переклад пізніше, — завдання копірайтингу на всю сторінку (Копірайтинг): заголовки, пропозицію і заклики до дії, узгоджені в кожній версії, а не окремі абзаци, надіслані перекладачу без контексту решти сторінки. Та сама проблема неузгодженості видна в даних, які читають ШІ-асистенти — розбіжність між версіями шкодить будь-якою мовою, незалежно від галузі. Узгоджений опис фірми в кожній версії підтримує і GEO / AI-видимість: системи, що читають мережу, бачать одну історію про фірму, а не три різні. Варто також стежити, щоб масове створення нових мовних сторінок без реального змісту не перетворилося на проблему, про яку попереджає Google у рекомендаціях щодо генерації контенту у великому масштабі — сторінка без цінності для користувача цією мовою не допоможе, навіть із технічно правильним hreflang.
Зроби сам: таблиця сторінок і перевірка зворотних посилань
Перш ніж вважати налаштування готовим, проведи найпростіший аудит: таблицю, де рядки — ключові сторінки, а стовпці — мовні версії.
| Сторінка | pl | uk | en | x-default |
|---|---|---|---|---|
| Головна | ✓ | ✓ | ✓ | веде на pl |
| Послуги / пропозиція | ✓ | ✓ | ✓ | веде на pl |
| Ціни | ✓ | ✓ | — | веде на pl |
| Контакти | ✓ | ✓ | ✓ | веде на pl |
Порожня клітинка означає одне з двох: або версії цією мовою не існує і їй взагалі не потрібен hreflang, або вона існує, але хтось забув додати її до набору взаємних посилань — і саме цей другий випадок ламає все.
Скільки посилань потрібно перевірити, легко порахувати формулою: кількість взаємних посилань = N × (N-1), де N — кількість мовних версій однієї сторінки. Для трьох версій (pl, uk, en) кожна версія вказує на решту дві, отже N-1 = 2, а спрямованих пар для перевірки 3 × 2 = 6, тобто: pl-uk, pl-en, uk-pl, uk-en, en-pl, en-uk. Для чотирьох версій це вже було б 4 × 3 = 12 напрямків — тому при додаванні нової мовної версії варто переглянути всю таблицю, а не просто дописати рядок.
Останній крок — один рядок у внутрішній інструкції: хто оновлює всі мовні версії, коли змінюється ціна чи склад послуги. Без цього регулярно виникає ситуація, коли польська версія вже з новою ціною, а англійська й українська — зі старою. Те саме питання відповідального варто закрити і при автоматизації процесів у компанії загалом — hreflang лише одне з багатьох місць, де відсутність власника задачі тихо псує результат.
Як це виглядає, коли систему будує сама система
Публікація нової сторінки виглядає інакше, коли hreflang — не ручний чекліст:
- 01польська версія готова
- →02версії uk та en підключені
- →03система будує посилання сама
- →04перевірка йде при публікації
Найнадійніше, коли hreflang для кожної пари будується автоматично з одного джерела, а зворотні посилання перевіряються до публікації, щоб описана вище помилка не потрапляла на живу сторінку. Правильний hreflang не обіцяє позицій — це усунення технічної перешкоди, яка все одно не залежить від якості тексту. Якщо ти будуєш Сайти та магазини кількома мовами, UI/UX-дизайн перемикача мови теж має значення — відвідувач має легко потрапити у свою версію, а не лише пошуковик, а окремий Лендінг під кампанію кожною мовою потребує тієї самої дисципліни, що й головна сторінка. Видимість самих перекладених сторінок у видачі — це вже завдання SEO і карт (SEO і карти). Подивись, як це працює, в послузі Сайти та магазини або запитай про конкретний сайт.
Часті питання
Чи потрібен окремий домен для кожної мовної версії?
Ні. Hreflang працює незалежно від того, чи мовні версії живуть на окремих доменах, піддоменах (en.firma.pl) чи в підпапках (firma.pl/en/) — єдина умова: у кожної версії має бути повна, стала URL-адреса і правильно перелічені решта версій.
Що таке x-default і коли його варто додати?
x-default — це значення hreflang, яке вказує сторінку для відвідувачів з мовою, не охопленою жодною з перелічених версій. Варто додати його, якщо в тебе, скажімо, три версії (pl, uk, en), але є трафік і з інших країн — x-default надішле їх на сторінку вибору мови чи версію за замовчуванням замість випадкової підсторінки.
Чи визначить Google сам, що моя сторінка українською?
Google визначає мову сторінки, аналізуючи сам зміст, а не тег hreflang чи атрибут lang у коді. Отже, якщо сторінка має бути українською, текст на ній справді має бути українським — сам тег цього не замінить.
Що станеться, якщо я приберу одну мовну версію з сайту?
Тоді потрібно прибрати посилання на неї з усіх інших версій, які раніше на неї вказували. Залишене мертве посилання hreflang на вже неіснуючу сторінку — одна з типових помилок, через які Google може почати ігнорувати весь набір анотацій.
Чи достатньо перекласти лише меню й кнопку замовлення?
Ні — з погляду пошуковика це все ще здебільшого той самий текст за іншою адресою, тобто дубль, а не окрема мовна версія. Обов'язково перекладати щонайменше описи послуг, ціни, контактні дані й умови — інакше в заявленої версії немає реального змісту, який можна показати.
Як перевірити, чи hreflang на моєму сайті взагалі працює?
Найпростіший спосіб без зовнішніх інструментів — відкрити вихідний код кожної мовної версії й вручну перевірити, що вона перелічує саму себе та всі інші версії з повними адресами — точно як у таблиці з розділу «Зроби сам» вище. Досить однієї відсутньої зворотної посилання, щоб уся пара перестала працювати.