Загрузка...
Загрузка...
Нашли баг, сбой или ошибку в работе reChecker? Есть предложение по улучшению? Напишите нам, чтобы мы проверили и исправили проблему в сервисе.
Распространённые ошибки при настройке hreflang: отсутствие взаимных ссылок, неверные коды, конфликты с canonical. Практические решения и проверка разметки.
Быстрые определения и связанные понятия из SEO-глоссария reChecker.
Hreflang — HTML-атрибут для указания языка и региона страницы. Помогает поисковикам показывать правильную версию сайта пользователям из разных стран.
Читать в глоссарии →Sitemap (карта сайта) — XML-файл, перечисляющий все страницы сайта для поисковых роботов. Узнайте как создать и проверить sitemap.xml.
Читать в глоссарии →Дублированный контент — одинаковые тексты на нескольких URL. Вызывает SEO-проблемы: поисковик не знает какую версию показывать и делит ссылочный вес.
Читать в глоссарии →Canonical URL (rel=canonical) — HTML-атрибут, указывающий поисковикам основную версию страницы при наличии дубликатов. Узнайте как правильно настроить canonical.
Читать в глоссарии →Полное руководство по атрибуту hreflang: синтаксис, методы реализации, проверка. Настройка мультиязычных и мультирегиональных сайтов для корректной индексации в Google.
SEOСтратегия международного SEO: выбор структуры URL, настройка hreflang, геотаргетинг, контент и технические аспекты продвижения мультиязычных сайтов.
SEOРуководство по мониторингу упоминаний бренда в новостях. Google News, настройка оповещений, анализ тональности, PR-стратегия.
SEOЧто такое content gap анализ, как находить темы которые освещают конкуренты, но не вы, и как использовать эти данные для роста органического трафика.
Поделитесь с коллегами или изучите другие материалы блога
Hreflang — мощный инструмент для мультиязычного SEO, но ошибки в разметке встречаются часто. Google может игнорировать некорректный hreflang или интерпретировать его неправильно. В этой статье разберём типичные ошибки и способы их исправления.
Каждая страница в наборе hreflang должна ссылать на саму себя. Многие забывают добавить link с hreflang текущего языка.
<!-- На странице /ru/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="ru" href="https://example.com/ru/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/en/page" />
Google использует самоссылку для верификации набора. Без неё разметка может быть проигнорирована.
Все версии должны ссылать друг на друга. Если на /ru/page есть ссылка на /en/page, то на /en/page обязательно должна быть ссылка на /ru/page.
Сайт имеет версии ru, en, de. На русской странице указаны все три. На английской — только en и x-default. На немецкой — только de. Набор неполный.
Создайте единый шаблон разметки и применяйте его ко всем страницам набора. Проверьте каждую версию через инструмент hreflang на reChecker.
<!-- Шаблон для КАЖДОЙ страницы в наборе -->
<link rel="alternate" hreflang="ru" href="https://example.com/ru/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/en/page" />
Использование нестандартных кодов — частая причина игнорирования разметки.
| Ошибка | Правильно |
|---|---|
| ru-RU | ru (регион опционален для русского) |
| en-EU | Не существует (EU не код региона) |
| zh-CH | zh-CN (Китай) или zh-TW (Тайвань) |
| pt-BR, pt-PT | Правильно для бразильского и европейского португальского |
язык или язык-регион<!-- Правильно -->
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/page" />
<link rel="alternate" hreflang="en-US" href="https://example.com/us/page" />
x-default указывает версию по умолчанию, когда язык пользователя не совпадает ни с одним вариантом. Без x-default Google сам выбирает версию — часто не оптимально.
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<!-- Нет x-default -->
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />
Обычно x-default указывает на английскую или международную версию.
Google рекомендует абсолютные URL. Относительные могут работать, но в некоторых случаях вызывают проблемы.
<link rel="alternate" hreflang="en" href="/en/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
Особенно критично для сайтов с несколькими доменами (example.ru, example.de) — относительный путь неоднозначен.
Canonical не должен указывать на другую языковую версию. Каждая языковая версия — отдельная страница, canonical должен ссылать на саму себя.
<!-- На русской странице -->
<link rel="canonical" href="https://example.com/en/page" />
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
Русская страница канонизирована на английскую — Google может индексировать только английскую версию для всех регионов.
<!-- На русской странице -->
<link rel="canonical" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />
Все страницы в наборе должны ссылать на один и тот же набор версий. Если /ru/page1 ссылает на en и de, а /ru/page2 — только на en, это ошибка конфигурации.
Часто возникает при ручном добавлении hreflang или при разных шаблонах для разных типов страниц. Проверьте, что логика генерации едина.
Ссылка указывает на URL, который возвращает 404 или редирект. Google не сможет использовать такой набор.
Проверьте все URL из hreflang-разметки:
curl -I https://example.com/en/page
curl -I https://example.com/de/page
Убедитесь, что все возвращают 200 и контент доступен.
Несколько блоков link с hreflang для одной страницы — неоднозначность. Оставьте один полный набор.
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<!-- ... где-то ниже в документе ... -->
<link rel="alternate" hreflang="ru" href="https://example.com/ru/page" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page" />
Один блок со всеми версиями в head.
Если используете и HTML, и sitemap — данные должны совпадать. Расхождение может запутать робота.
Рекомендация: выберите один метод (предпочтительно HTML) и придерживайтесь его.
| Ошибка | Действие |
|---|---|
| Нет самоссылки | Добавить link с hreflang текущего языка |
| Неполная взаимность | Проверить все страницы набора, добавить недостающие |
| Неверные коды | Использовать ISO 639-1 и ISO 3166-1 |
| Нет x-default | Добавить link с hreflang="x-default" |
| Относительные URL | Заменить на абсолютные |
| Canonical на другую версию | Canonical на саму себя |
| 404 на целевых URL | Исправить или удалить ссылки |
| Дублирование блоков | Оставить один набор |
Инструмент hreflang на reChecker проверяет разметку на типичные ошибки и выдаёт отчёт с рекомендациями. Для комплексной проверки мультиязычного сайта используйте технический аудит.
Google Search Console в отчёте «Международная целевая аудитория» показывает проблемы с hreflang, если они влияют на индексацию.
Проверьте все языковые версии ключевых страниц. Составьте список URL с ошибками. Выявите паттерны (одинаковая ошибка на всех страницах — проблема в шаблоне).
Если ошибка системная (например, отсутствие самоссылки на всех страницах) — исправьте шаблон или логику генерации. Один фикс устранит все случаи.
Для единичных ошибок (неверный URL на конкретной странице) — исправьте вручную или через CMS.
Повторная проверка через инструменты. Убедитесь, что ошибки устранены.
После исправлений Google перекрауливает страницы. Через 1–2 недели проверьте Search Console — статус международной целевой аудитории должен улучшиться.
Используйте единый шаблон для генерации hreflang. Переменные для текущего языка, списка языков, базового URL. Тестирование на staging перед выкаткой.
Задокументируйте правила: какие коды используются, какой URL x-default, структура. Новые команды и разработчики смогут следовать стандартам.
Включите проверку hreflang в ежемесячный или ежеквартальный аудит. Новые страницы, новые языки — источник новых ошибок.
Базовое руководство по настройке — в статье Hreflang: полное руководство. Стратегия мультиязычного продвижения — в руководстве по международному SEO.