Створюємо цифрові рішення, які працюють на бізнес
Ви зробили сайт трьома мовами. Кожна версія перекладена, адреси акуратні, все виглядає правильно. А в пошуку українцям показується англійська сторінка, і в Search Console зʼявляються попередження про дублі.
Причина майже завжди в тегах hreflang — точніше, в тому, як їх налаштували. Розберемо, як вони працюють і де саме ламаються.
Вони кажуть пошуковій системі: ось ці сторінки — те саме різними мовами, показуй кожному свою. Без них Google вирішує сам, і не завжди так, як вам треба.
Другий, менш очевидний ефект: без цих тегів схожі сторінки можуть вважатись дублями. Переклад — це той самий зміст іншими словами, і алгоритм цілком може вирішити, що ви дублюєте самі себе.
Український код мови — uk, а не ua. Це збиває з пантелику, бо домен у нас .ua, і рука сама пише саме так.
Причина в тому, що в hreflang першою йде мова за одним стандартом, а країна — за іншим. UA — це код країни Україна. Українська мова позначається uk. Тег із ua Google просто ігнорує, і мовний звʼязок не працює.
Перевірити свій сайт можна перевіркою hreflang — вона показує кожен код і одразу каже, що з ним не так.
Посилання на себе. Кожна сторінка має бути у власному наборі. Українська версія перелічує англійську, російську — і себе теж. Без цього набір вважається неповним, і Google може відкинути його цілком.
Взаємність. Якщо українська сторінка посилається на англійську, англійська має посилатись назад. Односторонні звʼязки не зараховуються.
Найпростіший спосіб дотриматись обох правил — ставити однаковий блок тегів на всі версії сторінки. Не «кожна на інші», а буквально один і той самий набір. Тоді взаємність виходить автоматично.
Повні адреси. href="/en/page/" не працює: специфікація вимагає абсолютних посилань із доменом і протоколом.
Це версія за замовчуванням для відвідувачів, чия мова не збігається з жодною вашою. Німець на тримовному українському сайті — саме такий випадок.
Формально не обовʼязковий. Але без нього версію обирає Google, і не завжди ту, яку ви б хотіли. Зазвичай x-default ставлять на англійську версію або на сторінку з вибором мови.
Найчастіша причина — суперечність із канонічною адресою. Сторінка каже «моя головна версія — англійська» через canonical і одночасно має теги hreflang. Google обирає canonical, а мовні звʼязки скасовуються.
Правило просте: кожна мовна версія має вказувати канонічною саму себе. Перевірити можна перевіркою canonical.
Друга часта причина — теги стоять лише на головній сторінці. Набір потрібен на кожній сторінці окремо: головна не передає ці звʼязки вглиб сайту.
Третя — цільова сторінка віддає редирект або 404. Часто наслідок переїзду на https, коли теги лишились зі старими адресами.
Для великих сайтів набір зручніше віддавати не в коді сторінки, а в карті сайту — тоді розмітка не роздувається. Правила ті самі.
Google має переобійти всі сторінки набору, а не одну. Зазвичай зміни видно за один-два тижні. Прискорити можна, надіславши сторінки на перевірку в Search Console.
Українська — це uk. Однаковий блок на всіх версіях, повні адреси, посилання на себе обовʼязкове. Канонічна на саму себе, інакше все решта марно.
Давайте разом створимо щось дивовижне