Создаем цифровые решения, которые работают на бизнес
Вы сделали сайт на трёх языках. Каждая версия переведена, адреса аккуратные, всё выглядит правильно. А в поиске украинцам показывается английская страница, и в 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. Одинаковый блок на всех версиях, полные адреса, ссылка на себя обязательна. Каноническая на саму себя, иначе всё остальное напрасно.
Давайте вместе создадим что-то потрясающее