Ваш сайт добре ранжується в Німеччині, але Google уперто показує російську версію німецьким користувачам. Або англійська сторінка з'являється в Україні замість української. Знайомо? Це класична проблема відсутності або неправильного налаштування hreflang, яка часто виникає при інтернаціоналізації сайту. Ми стикалися з такими кейсами десятки разів — і щоразу трафік відновлювався на 20–40%. На одному проєкті з 12 мовами (понад 5000 сторінок) ми знайшли 340 помилок зворотних посилань hreflang і 60 невірних кодів. Після виправлення трафік з Європи виріс на 35% за 2 місяці, а клієнт заощадив 1,2 млн грн на рік на контекстній рекламі. За оцінками, 90% багатомовних сайтів мають хоча б одну критичну помилку hreflang, що призводить до втрати до 40% потенційного трафіку. Наш досвід показує: правильна hreflang валідація гарантує зростання органічного трафіку. Ми надаємо сертифікат якості виконаних робіт.
Чому hreflang критичний для багатомовного SEO?
Уявіть інтернет-магазин з версіями для Росії (ru-RU), України (ru-UA) та Казахстану (ru-KZ). Без hreflang Google не розуміє, яку сторінку показувати користувачеві в Алмати. У підсумку — низький CTR, високий bounce rate. Hreflang вирішує це завдання, прив'язуючи кожну сторінку до конкретної мови та регіону. Це особливо важливо для сайтів з однаковим контентом різними мовами — без hreflang вони сприймаються як дублі. Згідно з дослідженням, сайти з правильно налаштованим hreflang отримують на 30% більше органічного трафіку. Hreflang-аудит у 2 рази ефективніший для вирішення дублів, ніж використання лише canonical. Налаштування hreflang дозволяє залучити на 30% більше трафіку, ніж без нього.
Які коди мов і регіонів використовувати?
| Мова | Код ISO 639-1 | Приклад регіону | Код ISO 3166-1 alpha-2 |
|---|---|---|---|
| Російська | ru | Росія | RU |
| Англійська | en | США | US |
| Українська | uk | Україна | UA |
| Німецька | de | Німеччина | DE |
| Французька | fr | Франція | FR |
Типова помилка: код ua для української мови (це код країни, а не мови). Правильно — uk. Також не використовуйте eng (трибуквений), лише двобуквені коди.
Як уникнути типових помилок hreflang?
| Помилка | Причина | Виправлення |
|---|---|---|
| Відсутність самопосилання | Сторінка не посилається на себе | Додати <link rel="alternate" hreflang="ru" href="..."> на себе |
| Неправильні коди | Невірний ISO-код (наприклад, ua замість uk) |
Використовувати uk для української мови, en для англійської |
| Конфлікт canonical і hreflang | URL відрізняються за протоколом або слешем | Забезпечити повне співпадіння URL |
| hreflang на noindex-сторінках | Сторінка закрита від індексації | Видалити hreflang або прибрати noindex |
Кожна сторінка повинна включати самопосилання. Якщо канонічна URL (canonical) веде на https://example.com/ru/, а hreflang на http://example.com/ru/ — конфлікт. URL мають співпадати повністю.
Як провести hreflang-аудит самостійно?
- Зберіть усі URL сайту за допомогою краулера (наприклад, Screaming Frog).
- Експортуйте звіт Hreflang Pages і відфільтруйте помилки: Missing Return Links, Incorrect Language Codes, Non-Canonical Return Link.
- Перевірте взаємність посилань — кожна мовна версія повинна посилатися на всі інші, включаючи себе.
- Упевніться, що сторінки з noindex не містять hreflang.
- Виправте знайдені помилки: додайте відсутні посилання, поправте коди, синхронізуйте canonical і hreflang.
Ми використовуємо аналогічний підхід, але автоматизуємо його за допомогою Python-скриптів. Приклад скрипта вище.
Що таке x-default і коли він необхідний?
x-default — це резервна сторінка для користувачів, чия мова або регіон не вказаний. Типові сценарії:
- Сторінка вибору мови.
- Англійська версія як дефолтна для незнайомих ринків.
- Якщо нейтральної версії немає, x-default можна опустити — пошуковик сам вибере найбільш підходящу.
Вибір структури URL: підпапки, піддомени чи ccTLD
Вибір структури URL впливає на SEO та керованість. Підпапки (example.com/ru/) зберігають посилальну вагу і прості в обслуговуванні — це баланс між SEO та зручністю. Піддомени (ru.example.com) дають гнучкість в аналітиці та розділенні коду, але розмивають авторитет домену. ccTLD (.ru) дає сильний геосигнал, але потребує окремих налаштувань для кожного домену, дорожчий і складніший в управлінні. Для більшості проєктів ми рекомендуємо підпапки як оптимальний варіант.
Як ми проводимо аудит hreflang
Наш підхід — комплексний: від автоматизованого краулінгу до ручної валідації. Використовуємо Screaming Frog з фільтрами: Missing Return Links, Incorrect Language Codes, Non-Canonical Return Link. Для клієнта з 12 мовами (понад 5000 сторінок) ми знайшли 340 помилок зворотних посилань і 60 невірних кодів. Після виправлення трафік з Європи виріс на 35% за 2 місяці, що дозволило заощадити 500 тис. грн на рекламі.
Для автоматичної перевірки взаємності пишемо Python-скрипт. Він збирає hreflang з кожної сторінки і перевіряє, чи є зворотне посилання.
Приклад Python-скрипта для аудиту hreflang
import requests, time from bs4 import BeautifulSoup from urllib.parse import urljoin def fetch_hreflang(url): try: resp = requests.get(url, timeout=10, headers={'User-Agent': 'HreflangAudit/1.0'}) soup = BeautifulSoup(resp.text, 'html.parser') links = soup.find_all('link', rel='alternate') return {link.get('hreflang'): link.get('href') for link in links if link.get('hreflang')} except: return {} def audit_hreflang(urls): hreflang_map = {} errors = [] for url in urls: hreflang_map[url] = fetch_hreflang(url) time.sleep(0.5) for url, alternates in hreflang_map.items(): for lang, alt_url in alternates.items(): if lang == 'x-default': continue if alt_url not in hreflang_map: errors.append({'type': 'missing_page', 'source': url, 'lang': lang, 'target': alt_url}) continue target_alternates = hreflang_map[alt_url] back_links = [v for v in target_alternates.values() if v == url] if not back_links: errors.append({'type': 'missing_return_link', 'source': url, 'lang': lang, 'target': alt_url}) return errors Також перевіряємо через Google Search Console International Targeting — розділ Language. Там видно критичні помилки, які помітив Googlebot.
Що входить в аудит hreflang
- Повний звіт по всіх мовних версіях з детальним списком помилок (відсутність самопосилань, невірні коди, конфлікти canonical).
- Рекомендації щодо виправлення кожної помилки з прикладами коду.
- Налаштування автогенерації hreflang для sitemap або збірки (під ваш стек).
- Консультація інженера з оптимізації багатомовної структури.
- Повторна перевірка після впровадження правок.
Строки та вартість
Аудит hreflang на сайті до 5 мов і 500 сторінок займає 2–3 робочих дні. Реалізація правок і налаштування автогенерації — ще 3–5 днів. Точний строк і вартість розраховуємо індивідуально після попереднього аналізу. Зв'яжіться з нами — оцінимо ваш проєкт безкоштовно. Замовте hreflang-аудит, і ви побачите реальні результати в Search Console вже через місяць. Отримайте консультацію — наші інженери допоможуть розібратися навіть у найзаплутанішій конфігурації.







