Hreflang для мультиязычных сайтов: разметка, региональные страницы и типичные ошибки
1. За что отвечает hreflang: это рекомендация, а не требование
Сначала развеем самое распространённое заблуждение: hreflang не обязывает Google показывать пользователю из определённого региона конкретную версию. Он лишь сообщает Google: «эти URL — версии одного и того же контента на разных языках, выберите наиболее подходящую пользователю по языку». Google всё равно может выбрать версию, которую сочтёт более уместной, по другим сигналам (поисковый запрос, ссылки, локальный авторитет), а hreflang лишь повышает вероятность правильного выбора.
Для мультиязычных B2B-сайтов, выходящих на зарубежные рынки, hreflang решает две конкретные задачи: не показывать немецкому пользователю английскую страницу, когда он ищет по немецкому запросу; не показывать франкоязычному пользователю из Бельгии страницу на французском Франции или Канады, когда он ищет по французскому запросу. Типичный признак ошибки: немецкий пользователь видит в SERP английский заголовок, а после клика его перебрасывает 301-редиректом на немецкую страницу — этот редирект отнимает половину кликов.
| Заблуждение | Реальное поведение | Последствия |
|---|---|---|
| hreflang принудительно показывает региональную версию | Это лишь рекомендация, Google оставляет решение за собой | Ошибка в разметке не влияет на индексацию, только на сопоставление |
| С hreflang перевод не нужен | Контент нужно переводить по-настоящему, машинный перевод не считается | Google распознаёт автоматически переведённый контент |
| hreflang достаточно разместить в футере | Размещать нужно в head, HTTP-заголовке или sitemap | Футер не сканируется |
| Один домен — один язык | На одном домене может быть несколько языковых версий | Языки разделяются подкаталогами или поддоменами |
К мультиязычным сайтам требования по качеству строже, чем к одноязычным: если перевод не дотягивает, лучше не запускать сайт вовсе. Подробнее:Требования к качеству мультиязычного контента при запуске. В эпоху GEO мультиязычная стратегия не ограничивается английским, подробнее:Многоязычный GEO: выходим за пределы английского.
2. Структура URL: подкаталоги лучше поддоменов, поддомены лучше отдельных сайтов
Прежде чем делать hreflang, выберите структуру URL. Ошибётесь на этом шаге — дальше придётся только латать дыры.
| Структура | Пример | Передача SEO-веса | Стоимость поддержки | Когда подходит |
|---|---|---|---|---|
| Подкаталог | example.com/de/, example.com/fr/ | Собирается на основном домене, максимальный | Минимальная | Выбор большинства B2B-сайтов |
| Поддомены | de.example.com, fr.example.com | Разрознен, нужно наращивать отдельно | Средний | Когда в стране уже есть самостоятельный бренд |
| Сайт | example.de, example.fr | Полностью независимы, внешние ссылки нужны каждому | Максимальная | Сильная локальная специфика, распределённые команды |
| Параметры | example.com?lang=de | Не рекомендуется, высокий риск дублирования контента | Низкий, но риск большой | Не использовать |
90% B2B-команд, выходящих на зарубежные рынки, стоит выбрать подкаталоги. Причины: SEO-вес основного домена передаётся целиком, hreflang проще поддерживать, CDN и HTTPS-сертификат нужны только одни. Поддомены оправданы, только если вы уже построили отдельный бренд и внешние ссылки для конкретного рынка. Отдельные сайты — только если у вас в Германии или Франции есть реальное юрлицо, местная команда и производство локального контента. О том, где проходит граница между страницей под страну и doorway-страницей, читайте в разделе Страницы под страну и doorway-страницы: где красная линия.
3. Разметка: три способа реализации
hreflang реализуют тремя способами — выбирайте по ситуации.
| Способ | Где размещается | Для какого масштаба | Приоритет |
|---|---|---|---|
| Тег link в HTML | В head каждой страницы | От десятков до сотен страниц | Оптимальный вариант |
| XML sitemap | Добавить xhtml:link в sitemap | От тысяч страниц | Оптимально для больших сайтов |
| HTTP-заголовки ответа | Сервер возвращает заголовок Link | PDF и другие не-HTML документы | Дополнение |
Стандартная запись тега link в HTML: в head каждой языковой версии перечислите все версии (включая саму себя) и x-default. Например, для английской, немецкой и французской версий в head английской страницы должно быть:
link rel=”alternate” hreflang=”en” href=”https://example.com/”, link rel=”alternate” hreflang=”de” href=”https://example.com/de/”, link rel=”alternate” hreflang=”fr” href=”https://example.com/fr/”, link rel=”alternate” hreflang=”x-default” href=”https://example.com/”. Немецкая и французская страницы должны содержать точно такой же полный список с идентичными URL.
В коде языка используйте двухбуквенный код языка по ISO 639-1, при необходимости добавляйте код страны по ISO 3166-1: en — английский в целом, en-GB — британский английский, de-AT — австрийский немецкий, zh-CN — упрощённый китайский, zh-TW — традиционный китайский. Не используйте неполные коды вроде cn или zh.
4. Пять типовых ошибок
90% случаев, когда hreflang не работает, — это пять ошибок. Проверьте себя по списку.
| Ошибка | Как проверить | Последствия | Срок исправления |
|---|---|---|---|
| Односторонняя ссылка | Английская страница ссылается на немецкую, а немецкая обратно — нет | Вся группа не работает | Дополнить в тот же день |
| Нет x-default | Нет страницы для подстраховки | Пользователи с неизвестным языком могут попасть на английскую версию | Добавить в тот же день |
| Неверный код языка | cn должен быть zh-CN; zh слишком широкий | Ошибка сопоставления | Исправить в тот же день |
| Нет ссылки на саму себя | Страница не указала собственный hreflang | Эта версия не участвует в выборе внутри группы | Дополнить в тот же день |
| URL не совпадают | http/https, конечный слеш, разный регистр | считаются разными URL, группа распадается | перезапись после нормализации |
| ошибка циклических ссылок | A указывает на B, B на C, C на A, но A не указывает на C | Google не может сформировать группу | перезапись всей группы |
Быстро проверить всё поможет отчёт «Международный таргетинг» в Search Console: в течение 7 дней после запуска он покажет все ошибки, включая «Не возвращён правильный тег» и «Тег возврата не найден». Выгрузите список ошибок и исправляйте их постранично, пока отчёт не обнулится. Локализацию цифр и таблиц на многоязычных сайтах нужно синхронизировать с hreflang, см.Локализация цифр, таблиц и единиц измерения. Единое управление глоссарием — основа качества перевода, см.Рабочий процесс глоссария в MTPE.
V. Граница между региональными страницами и мультиязычностью
В B2B-экспансии часто путают две вещи: мультиязычные версии (один и тот же контент на разных языках) и региональные лендинги (специальный контент для конкретного региона).
| Измерение | Мультиязычные версии | Региональные лендинги |
|---|---|---|
| Содержание | Перевод одного и того же контента | Написано специально для местного рынка |
| URL | Языковые подкаталоги /de/, /fr/ и т. д. | Региональные подкаталоги /us/, /mena/ и т. д. |
| hreflang | Обязательно | Можно указать x-default или код региона |
| Риск | Плохое качество перевода | Санкции за doorway-страницы |
| Пример | Английская версия страницы товара, переведённая на немецкий | «Руководство по закупкам для ближневосточных покупателей» |
Ключевое правило: у регионального лендинга должен быть настоящий локализованный контент (местные сертификаты, местные кейсы, местные способы оплаты), а не просто английская страница с изменённым заголовком. Как определяются doorway-страницы и где проходит красная линия, см.Страницы под страну и doorway-страницы: где красная линия. Приоритет рынков: сначала английский, ЕС, Ближний Восток, Латинская Америка, см.Приоритет рынков для экспансии: английский, ЕС, Ближний Восток и Северная Африка, Латинская Америка.
VI. Проверка перед запуском и ритм мониторинга
| Шаг | Инструмент | Срок | Критерий прохождения |
|---|---|---|---|
| Проверка кода на месте | Проверить head по каждому шаблону | Перед отправкой | Три языковые версии полностью ссылаются друг на друга |
| Нормализация URL | canonical и hreflang согласованы | Перед отправкой | Нет конфликтов http/https |
| Проверка после развёртывания | Rich Results Test или инструмент проверки hreflang | В день запуска | В каждой группе полный набор из 4 тегов |
| Search Console | Отчёт «Международный таргетинг» | На 7-й и 14-й день | Ноль ошибок |
| ежеквартальная проверка | Проверять синхронно при запуске новых страниц | При каждом релизе | Новые шаблоны наследуют логику hreflang |
При миграции или редизайне сайта hreflang — то, что новые шаблоны пропускают чаще всего, поэтому его нужно прогонять вместе с Редиректы 301 при миграции и сохранение SEO. При запуске новых страниц логику вывода hreflang нужно закладывать в шаблон разработки, а не добавлять вручную силами контент-команды.
FAQ: частые вопросы
В заключение
hreflang для многоязычного сайта — типичная работа, где «дьявол в деталях»: одна ошибка в символе или один пропущенный взаимный указатель — и вся группа не работает, а в Search Console вы увидите это, возможно, только через две недели после запуска. Сделайте это шаблонной задачей: разработчик прописывает логику вывода hreflang в шаблон, а контент-менеджер при добавлении языка только заполняет список URL, не полагаясь на память.
Три шага к результату: на этой неделе проверьте существующий многоязычный шаблон по чек-листу из пяти типов ошибок; на следующей неделе убедитесь в отчёте «Международный таргетинг» в Search Console, что ошибок нет; на третьей неделе добавьте проверку hreflang в процесс запуска новых страниц. После этих трёх шагов ваш многоязычный сайт действительно начнёт работать на покупателей из разных стран.
Одна фраза, которую стоит запомнить: hreflang — это переводческий каталог для Google. Если он полный, страницы ссылаются друг на друга и есть запасной вариант, Google решается отправить немецкого покупателя на немецкую версию.
