Перейти до вмісту
🚀
Просунуте SEO
Урок 3 з 9 · Приватність і дані
БЕЗКОШТОВНО +60 XP

Міжнародне SEO: hreflang і структура сайту

Міжнародне SEO — це робота з версіями сайту для різних мов і регіонів, і головний його інструмент — анотації hreflang. Вони повідомляють Google, які сторінки є локалізованими варіантами одного вмісту. Важливо розуміти, чого hreflang не робить: Google не визначає за ним мову сторінки і не «вгадує» без нього хибно в кожному разі. Нижче — за довідкою Google про локалізовані версії та посібником із мультирегіональних сайтів: правила запису, коди, структура адрес, чого не робити і які популярні твердження не підтверджено.

🌍
Український сайт отримує візити з Німеччини
«Німецькі користувачі потрапляють на україномовні сторінки й ідуть. Версії для різних мов є, але Google про звʼязки між ними не повідомлено.»

Навіщо вказувати версії

Google може знайти мовні версії й сам, але довідка радить указувати їх явно: так Пошук точніше добирає версію за мовою чи регіоном. Рекомендовано це в таких випадках: основний вміст однією мовою, а перекладено лише шаблон (навігацію, підвал — як на форумах із користувацьким контентом); невеликі регіональні відмінності в одній мові (наприклад, англійська для США, Великої Британії та Ірландії); повністю перекладений сайт. Локалізовані версії вважаються дублікатами, лише якщо основний вміст лишився неперекладеним (дубльований контент).

Три способи вказати версії

Google підтримує три способи: теги в HTML, HTTP-заголовок і мапа сайту. З погляду Google вони рівнозначні, обирайте зручний. Використовувати всі три можна, але користі в пошуку це не дає, а підтримувати три реалізації складніше.

<head>
  <link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/page/" />
  <link rel="alternate" hreflang="en-US" href="https://example.com/en-us/page/" />
  <link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
  <link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
  <link rel="alternate" hreflang="x-default" href="https://example.com/" />
</head>
  • HTML: елементи <link rel="alternate" hreflang="…"> у <head>; набір посилань однаковий у кожній версії й містить посилання на саму сторінку. Не обʼєднуйте hreflang з іншими атрибутами (наприклад, media) в одному елементі.
  • HTTP-заголовок: підходить для не-HTML файлів, наприклад PDF; заголовок Link з усіма версіями, зокрема запитаною.
  • Мапа сайту: для кожного URL — <xhtml:link rel="alternate" hreflang="…"> з усіма версіями, зокрема самою сторінкою (XML-мапа).

Правила для всіх способів

  1. Кожна версія перелічує себе й усі решту.
  2. Звʼязки мають бути взаємними. Якщо дві сторінки не вказують одна на одну, теги ігноруються: так сторонній сайт не може оголосити себе вашою версією. Якщо повний набір підтримувати важко, на деяких сторінках можна пропускати частину мов; але нові версії обовʼязково треба повʼязати в обидва боки з вихідною.
  3. Адреси повні, з протоколом: https://example.com/foo, а не //example.com/foo чи /foo. Альтернативи можуть бути й на інших доменах.
  4. Резервна сторінка. Якщо є окремі версії для однієї мови в різних регіонах (en-IE, en-CA, en-AU), передбачте загальну (en) для решти. Для незіставлених мов, особливо для сторінок вибору мови чи головних з автоперенаправленням, радять x-default. Довідка каже «розгляньте», а не «без нього Google не знає, що показати».

Коди мов і регіонів

Значення hreflang складається з коду мови за ISO 639-1 і необовʼязкового коду регіону за ISO 3166-1 Alpha 2 через дефіс. Підтримуються лише коди з цих стандартів: наприклад, es-419 не підтримується. Регістр не важливий, але регіон прийнято писати великими літерами (en-GB). Не можна вказувати лише країну: перший код — це мова, і Google не виводить її з країни. Тому для бельгійців: de-BE, nl-BE, fr-BE, а просто be — це білоруська мова. Допустимі й записи лише з мовою (de) та варіанти письма — zh-Hant, zh-Hans. Отже, uk та uk-UA — різні записи: перший для мови незалежно від регіону, другий для користувачів з України.

Як Google визначає мову сторінки

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

Структура адрес

Довідка рекомендує окремі адреси для кожної мовної версії, а не підміну мови за cookie чи налаштуваннями браузера. Динамічне перемикання може призвести до того, що Google не знайде всіх версій: Googlebot зазвичай приходить зі США й не задає заголовок Accept-Language. Варіанти структури:

ВаріантПлюсиМінуси
Домен країни (example.de)чітке геотаргетування; розташування сервера неважливе; сайти легко розділитидорого, потрібна інфраструктура, суворі вимоги до доменів; лише одна країна
Піддомен (de.example.com)легко налаштувати; сервери можна розміщувати по-різномукористувач не зрозуміє за адресою, мова це чи країна
Підпапка (example.com/de/)легко налаштувати, низьке навантаження підтримки на одному хостігеотаргетування за адресою менш очевидне; один сервер

Назви піддоменів на кшталт en-gb Google не використовує для визначення аудиторії: цільову аудиторію треба явно вказати hreflang. Докладніше про домени — в уроці про домени та піддомени.

Чого не робити

  • Не перенаправляйте автоматично користувача на іншу мовну версію за припустимою мовою: це може завадити користувачам і пошуковим системам бачити всі версії (редиректи). Натомість додайте посилання на інші версії.
  • Не використовуйте аналіз IP для підміни вмісту: він ненадійний, а більшість обходів Google йде зі США.
  • Не покладайтеся на «автоматичний переклад у масштабі». Політики проти спаму називають зловживанням масштабним контентом, зокрема, створення безлічі сторінок зі скопійованого вмісту, у тому числі з автоматичною обробкою — підміною синонімів, перекладом, — якщо користувачеві вони майже не дають цінності (політики проти спаму, урок). Заборони на будь-який машинний переклад у цьому тексті немає, але цінність для читача потрібна.
  • Не вказуйте неіснуючих адрес: посилання мають вести на робочі сторінки без перенаправлення (canonical кожної версії — на саму себе).

Як перевіряти ефект

Відсутність hreflang — не обовʼязково помилка, а наявність — не гарантія. Перевіряйте на даних: за країнами й запитами в Search Console та за сеансами в аналітиці. Зміни вносьте за планом із контролем (SEO-експерименти). Твердження на кшталт «без hreflang Google часто помиляється» та показники на кшталт «CTR 0,5% і відмови 90%» — окремі випадки, а не документація.

Чек-лист

  1. Для кожної мовної версії окрема адреса; основний вміст перекладено.
  2. Обрано один спосіб указання версій: HTML, заголовок або мапа сайту.
  3. Кожна версія перелічує себе й усі решту; звʼязки взаємні; адреси повні.
  4. Коди: ISO 639-1 + необовʼязковий ISO 3166-1 Alpha 2; регіон окремо не вказується.
  5. Є загальна або резервна версія (x-default) для незіставлених мов.
  6. Немає автоперенаправлення за мовою й підміни за IP; є посилання на інші версії.

Помилки

  • Вважати, що hreflang визначає мову сторінки.
  • Указувати hreflang лише на одній версії або не включати до набору саму сторінку.
  • Писати be замість fr-BE чи es-419.
  • Підключати всі три способи одразу й розходитися в даних.
  • Масово генерувати переклади без цінності для читача.

Що далі

Далі — модуль «Дослідження в SEO»: почнемо з SEO-експериментів, щоб перевіряти такі зміни на даних, а не на розповідях.

🎯
Завдання до уроку
Перевірте розуміння та отримайте +25 XP
← Первинні дані: як збирати їх без сторонніх cookie
Урок 3 з 9
Перейти до завдання →