Налаштування hreflang: інструкція для багатомовного сайту
Багатомовний сайт: hreflang і міжнародне SEO
ТехSEO

Багатомовний сайт: hreflang і міжнародне SEO

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

Коротко

  • hreflang вказує Google мову та регіон сторінки. Це підказка (hint), а не жорстка команда — пошуковик враховує її разом з іншими сигналами.
  • Атрибут має бути взаємним: якщо сторінка А посилається на Б, то Б зобовʼязана посилатися на А. Односторонні звʼязки ігноруються.
  • Три способи впровадження: HTML-тег у head, HTTP-заголовок (для PDF та інших не-HTML файлів), sitemap (зручно за великої кількості URL).
  • Кожна сторінка має посилатися й сама на себе — це обовʼязковий self-reference.
  • Для українських сайтів із версіями UA та RU hreflang знімає ризик канібалізації мов у видачі.

Що таке hreflang і навіщо він потрібен

Атрибут rel=”alternate” hreflang=”x” зʼявився, щоб розвʼязати задачу: сторінка має кілька мовних або регіональних версій, і пошуковик повинен показати кожному користувачу відповідну. Мешканець Львова, який шукає українською, має потрапляти на UA-сторінку; користувач, який шукає російською, — на RU-версію того самого матеріалу.

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

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

Синтаксис hreflang: приклади коду

Спосіб 1. Теги в розділі head

Найпоширеніший варіант. У head кожної сторінки перелічуються всі її мовні версії, зокрема й вона сама:

<link rel=”alternate” hreflang=”uk” href=”https://example.com/ua/hreflang” />

<link rel=”alternate” hreflang=”ru” href=”https://example.com/hreflang” />

<link rel=”alternate” hreflang=”en” href=”https://example.com/en/hreflang” />

<link rel=”alternate” hreflang=”x-default” href=”https://example.com/ua/hreflang” />

Код мови — за стандартом ISO 639-1, за потреби через дефіс додається регіон за ISO 3166-1 Alpha-2, наприклад en-US або en-GB. Ключова пастка: українська мова — це uk, а не ua. Код «ua» стосується країни Україна як регіону, але не мови. Російська — ru.

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

Спосіб 2. HTTP-заголовок

Для файлів без розділу head (PDF, документи) hreflang передається у HTTP-відповіді сервера:

Link: <https://example.com/ua/file.pdf>; rel=”alternate”; hreflang=”uk”,

      <https://example.com/file.pdf>; rel=”alternate”; hreflang=”ru”

Спосіб 3. Через sitemap

За великої кількості сторінок зручніше описати звʼязки в XML-карті сайту — тоді не треба правити head кожної сторінки. Для одного URL перелічуються всі його версії через елементи xhtml:link:

<url>

  <loc>https://example.com/ua/hreflang</loc>

  <xhtml:link rel=”alternate” hreflang=”uk” href=”https://example.com/ua/hreflang”/>

  <xhtml:link rel=”alternate” hreflang=”ru” href=”https://example.com/hreflang”/>

  <xhtml:link rel=”alternate” hreflang=”en” href=”https://example.com/en/hreflang”/>

</url>

Оберіть один спосіб і дотримуйтесь його на всьому сайті — дублювати hreflang у head і в sitemap одночасно не потрібно.

Структура URL багатомовного сайту: домени, папки, піддомени

До налаштування hreflang треба вирішити, як узагалі розділяти мови на рівні адрес. Є чотири підходи — у кожного свій баланс між SEO-вагою, вартістю та зручністю.

ПідхідПрикладПлюсиМінуси
Окремі домени (ccTLD)site.ua / site.plМаксимальний геосигнал; чіткий поділДорого; вага доменів нарощується окремо
Піддомениuk.site.comГнучкість; окреме налаштуванняВага передається гірше, ніж усередині домену
Підпапкиsite.com/ua/Уся посилальна вага в одному домені; дешевоОдин сервер/гео за замовчуванням
Параметри URLsite.com/?lang=ukТехнічно простоGoogle не рекомендує; гірше індексується

Для більшості проєктів, зокрема українських, оптимальні підпапки: уся посилальна вага накопичується на одному домені, а мови розділені прозоро й дешево. Окремі домени виправдані, коли потрібен сильний геотаргетинг під різні країни та є бюджет вести кілька сайтів. Параметрів URL для мов краще уникати.

Особливий випадок України: UA та RU на одному сайті

Український ринок майже завжди двомовний: одну й ту саму послугу шукають і українською, і російською. Логічно тримати обидві версії — але саме тут виникає канібалізація мов. Якщо UA- та RU-версії живуть за одним URL (або Google не розуміє, що це мовні пари), вони починають конкурувати одна з одною за ті самі запити: пошуковик не знає, яку показувати, і просідають обидві.

Правильна звʼязка для двомовного сайту: (1) у кожної версії — свій окремий URL (наприклад, RU в корені, UA в папці /ua/); (2) взаємний hreflang між парою uk ↔ ru; (3) self-canonical у кожної версії; (4) перекладено весь контент, а не лише меню. Тоді Google бачить дві еквівалентні сторінки під різні мови й перестає їх плутати. Докладніше про саму проблему конкуренції сторінок — у матеріалі про дублі та канібалізацію.

Типові помилки hreflang

  • Код «ua» замість «uk». Найчастіша помилка на українських сайтах: для української мови потрібен uk.
  • Немає зворотного посилання. Сторінка А вказує на Б, а Б на А — ні. Google ігнорує такий односторонній звʼязок повністю.
  • Немає self-reference. Сторінка не перелічує саму себе серед версій — набір hreflang вважається неповним.
  • hreflang на неканонічні URL. Посилання ведуть на редиректи, сторінки з параметрами або noindex замість чистих канонічних адрес.
  • Конфлікт із canonical. canonical мовної версії вказує на версію іншої мови — тоді hreflang «ламається».
  • Відносні URL. У href потрібні абсолютні адреси з протоколом https, а не /page.
  • Неузгоджені пари. На різних сторінках кластера перелічені різні набори версій — звʼязки рвуться.

Як перевірити hreflang

Після впровадження обовʼязково перевірте розмітку — помилки в hreflang майже завжди «тихі» й не видно оком. Що використати:

  • Google Search Console — відстежує помилки індексації та покриття мовних версій; сюди ж надходять попередження про проблеми розмітки. Як її підключити й читати звіти — в окремій інструкції з Search Console.
  • Валідатори hreflang — онлайн-сервіси перевіряють взаємність посилань і коректність кодів мови на конкретному URL.
  • Кравлери (Screaming Frog та аналоги) — вивантажують усі hreflang по сайту й підсвічують відсутність зворотних посилань і self-reference масово.

hreflang — частина технічного фундаменту сайту нарівні з robots.txt, sitemap і канонічними тегами; їх логічніше перевіряти в комплексі (про це — у матеріалі про технічне SEO). Якщо мовних версій кілька й ви не впевнені, що звʼязки налаштовані правильно, розумніше замовити технічний SEO-аудит: він виявить і биті пари hreflang, і конфлікти з canonical, і помилки індексації разом.

Багатомовність і міжнародне SEO — лише один шар просування; як посилання та зовнішня оптимізація впливають на результат загалом, розібрано в опорному посібнику що таке лінкбілдинг.

Підсумок і наступний крок

Правильний hreflang — це взаємні посилання між усіма версіями, коректні коди мови (uk, а не ua), self-reference на кожній сторінці та окремі чисті URL під кожну мову. Помилки тут не роняють сайт миттєво, але місяцями «зʼїдають» трафік через канібалізацію та показ не тієї версії. Якщо у вас двомовний або багатомовний сайт і є сумніви в налаштуванні — замовте технічний SEO-аудит, щоб перевірити hreflang, структуру URL та індексацію за всіма мовами одразу.Ціни орієнтовні й залежать від ніші, обсягу та конкуренції — точну вартість розрахуємо за вашим проєктом.

Розрахуйте, який приріст трафіку потрібен для вашого сайту

Країна
Тематика
Кількість посилань
Період
Очікуваний приріст трафіку:
Заповніть всі поля
Посилань на місяць:
Загальна кількість посилань:
Розрахунок носить орієнтовний характер і базується на середніх ринкових даних. Результати можуть варіюватися залежно від додаткових факторів.
Почати сьогодні
Отримайте —% трафіку вже за місяців!
Розрахунок носить орієнтовний характер і базується на середніх ринкових даних. Результати можуть варіюватися залежно від додаткових факторів.

Часті питання

1. Чи обовʼязковий hreflang, якщо я маю лише українську версію?
Ні. hreflang потрібен лише коли є дві та більше мовних або регіональних версій. Для одномовного сайту він не потрібен.
2. hreflang чи canonical — що використовувати для мовних версій?
І те, і те, але по-різному. У кожної мовної версії canonical вказує на саму себе, а hreflang перелічує всі версії одна одної. canonical на версію іншої мови — помилка, що ламає hreflang.
3. Який код указувати для української мови — uk чи ua?
Для мови — uk (ISO 639-1). Код ua позначає країну Україну як регіон і в hreflang для мови не підходить. Російська мова — ru.
4. Чи впливає hreflang на позиції напряму?
Напряму — ні, це не фактор ранжування. Але він допомагає показати користувачу потрібну мовну версію, що покращує поведінкові метрики й опосередковано підтримує результат.
5. Що таке x-default і чи обовʼязковий він?
x-default — сторінка за замовчуванням для користувачів, чия мова не збіглася з жодною версією. Формально не обовʼязковий, але рекомендований, особливо якщо є сторінка вибору мови або головна версія.