+7 (495) 801-60-42

Hreflang для многоязычных сайтов: правильная разметка без ошибок

Многоязычная выдача без каннибализации и неверного геотаргетинга держится на одном столпе — hreflang для многоязычных сайтов. Корректная разметка помогает поисковым системам показать пользователю версию страницы на его языке и для его региона, сократить долю отказов и стабилизировать CTR, особенно при дублирующемся или схожем контенте.

Hreflang для многоязычных сайтов: что это и когда нужен

Hreflang — атрибут rel="alternate" в ссылках, который указывает языковую и при необходимости региональную альтернативу одной и той же страницы. Зачем он нужен:

  • Чтобы Google и другие поисковые системы точно сопоставляли версии контента разным аудиториям (язык/страна).
  • Чтобы избежать конкуренции между клон-страницами (дубли контента для разных языков и стран) и колебаний позиций.
  • Чтобы снизить долю отказов за счет попадания пользователя сразу на нужную локаль.

Когда внедрять:

  • Есть хотя бы две языковые версии одной страницы (например, /en/ и /de/), пусть даже с незначительными отличиями.
  • Есть региональные варианты одного языка (en-US, en-GB; ru-RU, ru-KZ), отличающиеся валютой, ценами, условиями доставки.
  • Вы используете мультирегиональную архитектуру (поддомены, подпапки или ccTLD) и хотите однозначно указать соответствия.

Базовый синтаксис и коды языков/регионов

Hreflang использует коды по BCP 47: язык (две буквы ISO 639-1) и опционально регион (две буквы ISO 3166-1 Alpha-2). Примеры значений:

  • en, de, ru — только язык.
  • en-US, en-GB, ru-RU, fr-CA — язык+регион.

Регистр букв не критичен, но рекомендуется: язык в нижнем регистре, регион — в верхнем (en-GB). Недопустимо придумывать коды: должны существовать в стандарте BCP 47.

Важные моменты:

  • Каждая страница из «кластера альтернатив» должна ссылаться на себя и на все остальные альтернативы (взаимные ссылки). Это двунаправленность.
  • В кластере указывается каноническая ссылка (rel="canonical") на саму себя, а не на другую локаль.
  • Для дефолтной версии без явной локали используйте x-default.

Варианты внедрения: head, HTTP-заголовки, XML-карта

Есть три равноправных способа. Выберите один и придерживайтесь его последовательно.

  1. Внутри <head> страницы. Указываете набор ссылок rel="alternate" с атрибутами hreflang и href. Подходит большинству сайтов. Минусы: увеличение HTML.
  2. Через HTTP-заголовки (Link: <URL>; rel="alternate"; hreflang="..."). Уместно для медиа/файлов (PDF), где нельзя править HTML.
  3. В XML-карте сайта (sitemap). Добавляются блоки xhtml:link с перечислением альтернатив на каждую URL. Удобно централизованно управлять разметкой и меньше рисков несоответствий между версиями.

Рекомендации по выбору:

  • Если у вас система шаблонов и единые компоненты — head-разметка быстрее в разработке.
  • Для крупных порталов с десятками локалей проще поддерживать в sitemap, синхронизируя генерацию по БД.
  • Файлы без HTML — только в заголовках.

Архитектура URL: подпапки, поддомены, ccTLD

Hreflang работает с любой схемой, если сохраняется устойчивая структура:

  • Подпапки: site.com/en/, site.com/de/. Проще поддерживать, единый домен, передача ссылочного веса.
  • Поддомены: en.site.com, de.site.com. Гибкость в инфраструктуре, но сложнее консолидация сигналов.
  • Отдельные домены (ccTLD): site.de, site.fr. Сильный региональный сигнал, но дороже в поддержке и ссылках.

Что важно для разметки:

  • У альтернатив должен быть 1:1 маппинг. Если есть /en/product-1, должна быть и /de/product-1 (или осознанно отсутствовать — тогда не указывайте её в кластере).
  • Протоколы и хвосты URL строго одинаковы по логике (http/https, слэш на конце). Смешение ведёт к ошибкам соответствия.

x-default: когда и как использовать

x-default — указатель «версии по умолчанию», которую следует показать пользователю, если его язык/регион не представлен в вашем наборе. Типовые кейсы:

  • Глобальная посадочная (например, /intl/ или /global/), предлагающая выбрать страну/язык.
  • Универсальная англоязычная версия, если локальные версии покрывают не все рынки.

Принципы:

  • x-default включают в каждый кластер альтернатив.
  • x-default не заменяет каноникал и не отменяет региональные/языковые значения.

Частые ошибки hreflang и как их избегать

Ниже — перечень типичных проблем, которые ломают распределение трафика:

  • Отсутствуют обратные ссылки (возвратные). Страница A ссылается на B, но B не ссылается на A. Решение: генерируйте кластеры целиком, а не точечно.
  • Неправильные коды (например, en-UK вместо en-GB, ru-UA для украинского языка вместо uk-UA). Проверяйте справочники BCP 47 и ISO 3166-1.
  • Конфликт с canonical. Нельзя ставить canonical с en-US на en-GB и одновременно помечать их альтернативами. Каждая локаль канонизирует себя.
  • Ссылки на 3xx/4xx/5xx. Hreflang должен вести на 200 OK. Любые редиректы повышают риск потери соответствия.
  • Смешанный протокол и домен. В кластере перемешаны http/https, www/non-www, разные домены без необходимости.
  • Страницы с noindex/nofollow. Альтернативные версии должны индексироваться. Иначе потеря «узнаваемости» кластера.
  • Пагинация и фильтры. Не указывайте hreflang на параметры, которые не являются полноценной альтернативной версией (page=2, сортировки), если нет чёткого 1:1 соответствия.
  • Несогласованность между head, заголовками и sitemap. Используйте один метод; если по историческим причинам задублировано — добейтесь полной идентичности наборов.
  • Неполные кластеры. Пропущена одна из локалей — поисковик может не собрать кластер и отдать «случайную» версию.
  • Автоперенаправления по IP/браузеру без ссылки. Жёсткий редирект мешает ботам увидеть альтернативы. Лучше мягкое предложение сменить язык плюс корректный hreflang.

Проверка и отладка: инструменты и подход

Как валидировать внедрение:

  • Google Search Console: Отчёты «Международное таргетирование» (для проектов, где доступно) и «Покрытие/Страницы» с проверкой фактической индексируемости альтернатив. Инспекция URL — посмотреть обнаруженные альтернативы и каноникал.
  • Ручная проверка HTML: убедитесь, что в <head> на каждой локали перечислены все версии и присутствует self-ссылка.
  • Логи сервера: проверьте, что Googlebot получает 200 OK по всем href.
  • Сравнение sitemap с фактическими URL: генератор не должен выплёвывать отсутствующие страницы.
  • Инструменты краулинга: используйте краулеры, умеющие собирать кластеры hreflang и находить ошибки кодов/возвратных ссылок.

Метрики косвенного контроля:

  • Снижение показов «не своей» локали по нерелевантным региональным запросам.
  • Рост CTR в странах/языках, где раньше был высокий показатель отказов из-за неверной версии.

Взаимосвязь с контентом, метаданными и структурой

Hreflang — это не замена локализации. Дополните разметку факторами, усиливающими региональный сигнал:

  • Язык интерфейса и контента должен соответствовать hreflang. Не миксуйте языки на одной странице без необходимости.
  • Региональные элементы: валюта, формат даты, адреса, телефоны, данные о доставке. Для en-GB и en-US — различия в орфографии и единицах измерения.
  • Локальные микроразметки (Organization, LocalBusiness, Product с currency) — поддерживают консистентность.
  • Внутренняя перелинковка: из меню «Выбор языка/страны» с прямыми ссылками на соответствующие URL, чтобы бот нашёл все альтернативы.

Как настроить hreflang пошагово

  1. Составьте матрицу языков и регионов: какие локали реально существуют, какие планируются.
  2. Определите архитектуру URL (подпапки/поддомены/ccTLD) и придерживайтесь единого стандарта слэшей и протокола.
  3. Настройте генерацию кластеров: для каждой «исходной» страницы получите список альтернатив и самоссылку, плюс x-default.
  4. Выберите метод внедрения (head, заголовки, sitemap) и реализуйте его консистентно везде.
  5. Обеспечьте 200 OK по всем href, сверяйте с логами и мониторьте 3xx/4xx.
  6. Проверьте коды BCP 47, особенно для регионов (en-GB, pt-BR, zh-Hans/zh-Hant при необходимости скриптов).
  7. Настройте canonical на саму локаль. Убедитесь, что нет «склейки» разных языков одним каноникалом.
  8. Прогоним краулер, исправим ошибки возвратных ссылок, дубликатов и битых URL.
  9. Заведите регламент поддержки: при создании новой страницы генерируется полный кластер альтернатив.

Если нужна помощь с архитектурой и автоматизацией генерации разметки — команда LightsOn сделает это в рамках разработки Корпоративный сайт под ключ или техподдержки.

Региональная разметка сайта и связь с геотаргетингом

  • Для доменов общего уровня (gTLD) используйте hreflang плюс регион в коде (например, es-ES, es-MX). При необходимости на уровне поисковых инструментов указывайте нацеливание домена/поддомена/подпапки.
  • Для ccTLD (например, .de) сам домен — сильный региональный сигнал, но hreflang всё равно нужен, чтобы развести одинаковые языки в разных странах и исключить конкуренцию.
  • В Яндексе учитывается региональность сайта и страницы; hreflang понимается, но не отменяет сигналы региона и контента.

Тонкости: редиректы, параметры, AMP, медиа

  • Редиректы по языку/гео. Старайтесь не перенаправлять ботов. Если редирект обязателен, обеспечьте доступную ссылку на альтернативы и единый 200 OK для канонической локали.
  • Параметры в URL. Если параметры создают отдельную локаль (редкий случай) — допустимо. В остальных случаях локали должны быть чистыми URL.
  • AMP: если используется — зеркально дублируйте hreflang и следите за каноникалом с AMP на обычную страницу в той же локали.
  • PDF и другие файлы: применяйте HTTP-заголовки Link с hreflang.

Интеграция в процессы и контроль качества

  • Автоматизация: добавьте генерацию кластеров в пайплайн сборки. Для sitemap — ежедневная регенерация.
  • Тесты: unit-тесты на валидность кодов, e2e-кейсы на двунаправленность ссылок и 200 OK.
  • Мониторинг: отчёты о битых ссылках и несоответствиях кластеров (diff между эталонной матрицей и продом).
  • Документация: таблица локалей, словарь терминов и глоссарий вариативной лексики для переводов.

Для проектов с активным ростом контента имеет смысл подключить регулярные SEO-аудиты и мониторинг через SEO и продвижение.

Чек-лист внедрения hreflang

  • Определены все локали: язык и при необходимости регион (BCP 47, ISO 3166-1).
  • Для каждой страницы есть 1:1 альтернативы и self-ссылка в кластере.
  • В кластере присутствует x-default для дефолтной версии.
  • Используется один метод внедрения (head/HTTP/sitemap) либо полная консистентность между ними.
  • Все href ведут на 200 OK, без 3xx/4xx/5xx.
  • Canonical указывает на саму локаль, нет перекрёстных каноникалов.
  • Нет noindex у альтернатив; страницы индексируемые.
  • Протокол, www/non-www и слэши стандартизированы.
  • Логи и краул отчётов чистые: нет отсутствующих возвратных ссылок и неверных кодов.
  • Авторедирект по языку не мешает ботам, есть доступ к альтернативам.

Полезные материалы

  • Для системной работы с трафиком и конверсией рекомендуем обзор:
    .
  • Если строите цифровую экосистему и планируете масштабирование на новые рынки, посмотрите гид:
    .

Вывод

Грамотная разметка hreflang — это предсказуемое распределение трафика между локалями, стабильный CTR и отсутствие конкуренции между собственными страницами. Начните с матрицы локалей, выберите единый метод внедрения и автоматизируйте генерацию кластеров. Если нужны архитектурные решения, аудит или внедрение «под ключ», команда LightsOn поможет спланировать и реализовать международное SEO без лишних рисков.

Другие полезные статьи

Делимся экспертизой, разбираем кейсы и рассказываем, как превращать идеи в работающие digital-продукты