Ошибки в hreflang редко заметны посетителю, но способны направить его не на ту версию сайта. В результате российская страница показывается в Казахстане, англоязычный URL конкурирует с локальным, а пользователь видит неподходящие цены, доставку и контакты.
Hreflang Anomalies — это ошибки и несоответствия в разметке hreflang на многоязычных и мультирегиональных сайтах. Разметка связывает эквивалентные версии страниц и помогает Google выбрать вариант с учётом языка и региона пользователя.
Она не переводит контент, не заменяет локализацию и не выполняет перенаправление. Её задача — сообщить поисковой системе, какие URL представляют разные языковые или региональные версии одного материала.
Для чего нужен hreflang#
Интернет-магазин или сайт услуг может иметь отдельные версии для России, Казахстана, Беларуси и англоязычной аудитории:
ru-RU— русский язык для России;ru-KZ— русский язык для Казахстана;ru-BY— русский язык для Беларуси;en— английский без привязки к конкретной стране.
В HTML связь может выглядеть так:
<link rel="alternate" hreflang="ru-RU" href="https://site.ru/ru/uslugi/" />
<link rel="alternate" hreflang="ru-KZ" href="https://site.ru/kz/uslugi/" />
<link rel="alternate" hreflang="en" href="https://site.ru/en/services/" />
<link rel="alternate" hreflang="x-default" href="https://site.ru/" />
Google рекомендует явно указывать локализованные версии страниц. Основные требования приведены в официальной документации по hreflang.
Для понимания общей архитектуры сначала можно изучить материалы о Multilingual SEO и продвижении сайта в разных странах.
Что относится к Hreflang Anomalies#
Аномалией считается ошибка, из-за которой связь между языковыми или региональными страницами становится неполной, противоречивой либо недоступной для поискового робота.
Проблема может находиться:
- в HTML-коде страницы;
- в XML-карте сайта;
- в HTTP-заголовках;
- в шаблоне CMS;
- в правилах формирования URL;
- в canonical, robots.txt или метатеге robots;
- в логике перенаправлений;
- в автоматически созданных языковых разделах.
Ошибка не всегда нарушает весь набор целиком, но отдельные связи могут быть проигнорированы. Поэтому проверять нужно не один URL, а весь кластер эквивалентных страниц.

Отсутствие обратных ссылок#
Если российская версия указывает на казахстанскую, казахстанская должна содержать обратную ссылку на российскую.
Односторонняя связь может быть не прочитана или неправильно интерпретирована. Google прямо указывает: если страница X ссылается на страницу Y, на странице Y должна быть соответствующая обратная ссылка.
Самый надёжный вариант — одинаковый набор альтернатив на каждой эквивалентной странице. Для очень крупных проектов Google допускает частичный набор двусторонних связей, но основные и новые версии обязательно должны ссылаться друг на друга.
Отсутствие ссылки страницы на саму себя#
Каждая версия указывает не только на альтернативные страницы, но и на собственный URL:
<link rel="alternate" hreflang="ru-RU"
href="https://site.ru/ru/catalog/" />
Пропуск self-reference часто возникает при автоматическом формировании тегов в CMS. В результате набор становится неполным.
Неверные языковые и региональные коды#
Значение обычно состоит из обязательного кода языка и необязательного кода региона:
ru— русский язык без привязки к стране;ru-RU— русский для России;ru-KZ— русский для Казахстана;en-GB— английский для Великобритании;en-US— английский для США.
Для языка используется ISO 639-1, для региона — ISO 3166-1 Alpha 2. Указать только страну нельзя. Значения RU, UK и EU не являются корректными hreflang-кодами для этих задач; для Великобритании используется en-GB.
Регистр сам по себе обычно не является причиной сбоя, однако удобнее придерживаться записи ru-RU: язык строчными, регион заглавными буквами.
Ссылки на недоступные страницы и редиректы#
Альтернативный URL должен открываться и возвращать корректный ответ. Ошибкой считаются ссылки на страницы, которые:
- удалены и возвращают 404 или 410;
- временно недоступны или имеют серверную ошибку;
- закрыты авторизацией;
- содержат опечатку или ведут на неверный домен;
- перенаправляются через 301 или 302;
- закрыты от индексирования.
В hreflang лучше указывать сразу конечный HTTPS-адрес, а не URL, который проходит через один или несколько редиректов.
Если региональная страница удалена, разметку обновляют на всех связанных версиях. Исправление только одного URL оставляет остальные страницы с устаревшими связями.
Закрытая от индексирования версия#
Региональная страница не должна быть закрыта метатегом noindex, HTTP-заголовком X-Robots-Tag: noindex, авторизацией или техническим ограничением доступа.
Robots.txt не является прямой директивой удаления из индекса, но запрет сканирования может помешать Google увидеть содержимое страницы, canonical и hreflang. Поэтому страницы кластера должны быть доступны для обхода и пригодны для индексирования.
Конфликт hreflang и canonical#
Противоречие возникает, когда казахстанская версия указывает через hreflang на себя, но её canonical ведёт на российскую страницу:
https://site.ru/kz/catalog/
<link rel="canonical"
href="https://site.ru/ru/catalog/" />
Если региональные страницы имеют самостоятельный локализованный контент и коммерческие условия, для каждой обычно используют canonical на собственный URL, а связь между странами задают через hreflang.
Если же страницы на одном языке фактически дублируют друг друга, каноническую стратегию выбирают отдельно и согласуют её с hreflang. Массовая установка canonical со всех стран на одну версию без анализа может привести к тому, что нужные региональные URL не будут выбраны для показа.
Подробнее о различии сигналов — в рекомендациях Google по canonical.
Связь с нерелевантной страницей#
Связывать необходимо эквивалентные по назначению URL. Ошибочны ситуации, когда:
- карточка товара ведёт на главную страницу другого региона;
- статья связывается с каталогом;
- страница услуги ведёт на контакты;
- удалённый товар сопоставляется с произвольным товаром.
Корректный кластер выглядит так:
/ru/catalog/product-a/
/kz/catalog/product-a/
/en/catalog/product-a/
Если точного аналога нет, безопаснее не указывать неподходящую альтернативу. Hreflang должен описывать реальное соответствие страниц, а не просто похожие разделы.
Разные наборы ссылок и повторяющиеся значения#
На одной странице могут быть указаны ru-RU, ru-KZ и en, а на другой — только ru-KZ и en. Если проект предполагает полный кластер, такой набор стоит привести к единой логике.
Другой тип ошибки — несколько адресов для одного значения:
<link rel="alternate" hreflang="ru-KZ"
href="https://site.ru/kz/page-1/" />
<link rel="alternate" hreflang="ru-KZ"
href="https://site.ru/kz/page-2/" />
В одном наборе для каждой комбинации языка и региона должен быть указан один URL.
Ошибки x-default#
Значение x-default используют для резервной страницы — например, нейтральной международной версии или формы выбора страны:
<link rel="alternate" hreflang="x-default"
href="https://site.ru/" />
Распространённые проблемы:
- адрес удалён или закрыт;
- страница принудительно перенаправляет всех пользователей;
- значение повторяется с разными URL;
- в качестве версии по умолчанию выбрана случайная страна;
- ссылка отсутствует на части страниц кластера.
x-default не обязателен для каждого сайта, но полезен при наличии нейтральной версии или страницы выбора рынка.
Разметка вне head и относительные адреса#
При HTML-реализации элементы link должны находиться внутри корректно сформированного <head>. CMS или JavaScript иногда выводит их после закрывающего тега, внутри <body> либо только после действия пользователя.
Проверять нужно не шаблон в панели управления, а фактический HTML, полученный поисковым роботом.
Google также рекомендует полные адреса с протоколом и доменом:
<link rel="alternate" hreflang="en"
href="https://site.ru/en/page/" />
Относительный адрес /en/page/ особенно нежелателен, когда версии находятся на разных доменах или поддоменах.
Противоречия между HTML, HTTP-заголовками и Sitemap#
Google считает три способа передачи hreflang равнозначными:
- HTML;
- HTTP-заголовки;
- XML Sitemap.
Одновременное использование всех способов не усиливает сайт, но усложняет поддержку. Если в HTML указано ru-KZ, а в Sitemap для того же URL — ru-RU, поисковая система получает противоречивые данные.
Для большинства проектов лучше выбрать один способ, который команда сможет поддерживать без расхождений. Если способов несколько, наборы должны совпадать.
Как ошибки влияют на SEO#
Аномалии hreflang не всегда исключают страницу из поиска, однако мешают корректно выбирать региональную версию. Возможные последствия:
- пользователю показывается страница другой страны;
- английская версия появляется по русскоязычному запросу;
- в сниппете и на странице видны неподходящие цены и доставка;
- региональные URL конкурируют между собой;
- снижается кликабельность результата;
- растёт доля быстрых уходов;
- трафик распределяется между неподходящими адресами;
- часть разметки игнорируется.
Hreflang не заменяет качественную локализацию, но помогает сопоставить пользователя с уже подготовленной версией страницы.

Как проверить hreflang-разметку#
- Собрать все языковые и региональные URL.
- Сгруппировать эквивалентные страницы в кластеры.
- Проверить коды ответа, редиректы, 404 и серверные ошибки.
- Проверить доступность страниц для обхода и индексирования.
- Сопоставить hreflang с canonical.
- Найти страницы без ссылки на самих себя.
- Проверить взаимность связей.
- Сверить языковые и региональные коды.
- Убедиться, что связаны эквивалентные по смыслу URL.
- Сравнить HTML, Sitemap и HTTP-заголовки.
- Проверить фактически сформированный код страницы.
- Повторить сканирование после исправлений.
Для крупного интернет-магазина или каталога используют SEO-краулер и автоматизированную выгрузку. Ручная проверка нескольких страниц не показывает системные ошибки в тысячах карточек и региональных разделов.
Пример корректного кластера#
Компания оказывает одну услугу в России, Казахстане и Беларуси:
https://site.ru/ru/services/seo/
https://site.ru/kz/services/seo/
https://site.ru/by/services/seo/
На каждой странице размещается согласованный набор:
<link rel="alternate" hreflang="ru-RU"
href="https://site.ru/ru/services/seo/" />
<link rel="alternate" hreflang="ru-KZ"
href="https://site.ru/kz/services/seo/" />
<link rel="alternate" hreflang="ru-BY"
href="https://site.ru/by/services/seo/" />
<link rel="alternate" hreflang="x-default"
href="https://site.ru/services/seo/" />
Каждый URL возвращает 200 OK, доступен для индексирования, согласован с canonical, содержит локальные цены и условия и участвует в выбранной системе передачи hreflang.
Как мы устраняем Hreflang Anomalies#
Работа выполняется на уровне всей системы, а не отдельных страниц:
- сканируем языковые и региональные разделы;
- собираем кластеры эквивалентных URL;
- находим отсутствующие обратные ссылки;
- проверяем коды языка и региона;
- выявляем закрытые, удалённые и перенаправляемые страницы;
- устраняем конфликты с canonical;
- сравниваем HTML, HTTP-заголовки и XML-карты;
- готовим техническое задание разработчикам;
- контролируем внедрение и повторно сканируем сайт;
- отслеживаем индексацию и распределение поискового трафика.
Особое внимание уделяем шаблонам CMS. Если вручную исправить несколько URL, проблема снова появится при добавлении товара, языка или страны. Для системной диагностики можно заказать SEO-аудит сайта.
Когда проверка особенно важна#
Аудит hreflang необходим после:
- переноса сайта или смены домена;
- изменения структуры URL;
- запуска нового языка или страны;
- обновления CMS или шаблонов;
- массового удаления товаров и страниц;
- изменения правил canonical и редиректов;
- неожиданного перераспределения трафика между странами.
После устранения аномалий поисковой системе проще сопоставлять версии и показывать пользователю подходящий URL. Это снижает внутреннюю конкуренцию страниц и упрощает дальнейшее масштабирование международного сайта.
Обсудим ваш проект
Посмотрим на сайт, текущую видимость и предложим понятный план дальнейших действий.
Заказать консультацию
