← К списку статей

Мультиязычный сайт: hreflang, URL и типичные ошибки

Мультиязычный сайт без явной схемы URL и корректного hreflang часто теряет трафик: поисковик путает версии, показывает чужой язык или считает страницы дублями. Ниже - как выбрать структуру адресов, как настроить связь локалей и какие ошибки встречаются чаще всего в 2026 году.

  • hreflang - сигнал поисковику, какая языковая/региональная версия для какой аудитории
  • URL - префикс, поддомен или отдельный домен; схема должна быть единой и предсказуемой
  • Canonical - не должен ломать связку локалей
  • Контент - перевод или локализация, а не копипаст с автопереводом без правки
  • Правило - каждая локаль указывает на все остальные и на себя

Зачем hreflang и схема URL

Пользователь из Германии должен видеть немецкую версию, из Бразилии - португальскую, из США - английскую. Без явных сигналов поисковик угадывает по IP, языку браузера и ссылкам - и часто ошибается.

hreflang не ранжирует страницу сам по себе. Он помогает выбрать правильную версию среди равноправных. Схема URL решает, как люди и боты будут находить эти версии: через /de/, de.example.com или example.de.

Схемы URL для мультиязычности

Схема Пример Плюсы Минусы
Префикс пути example.com/de/blog/ Один домен, проще аналитика и сертификаты Нужна дисциплина в роутинге и sitemap
Поддомен de.example.com/blog/ Гибкость по хостингу и командам Сложнее общий «вес» домена, больше инфраструктуры
Отдельный домен example.de/blog/ Сильный локальный сигнал Дороже поддержка, отдельные SEO-кампании

Для большинства корпоративных сайтов и блогов в 2026 удобнее префикс пути: один стек, одна аналитика, проще деплой. Поддомены и ccTLD оправданы при сильном локальном бренде, разных юрлицах или отдельной команде на рынок.

Важно зафиксировать язык по умолчанию: либо корень без префикса (/), либо явный /en/. Смешивать «иногда с префиксом, иногда без» - путь к дублям.

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

  1. На каждой странице перечислите все доступные эквиваленты: hreflang="ru", hreflang="en", hreflang="de" и т.д.
  2. Добавьте self-reference: страница указывает и на себя.
  3. Связка должна быть взаимной: если A ссылается на B, B ссылается на A.
  4. Используйте коды BCP 47: язык (en) или язык-регион (en-GB, pt-BR).
  5. При необходимости укажите x-default - страница по умолчанию для несовпавшей локали (часто селектор языка или EN).
  6. Дублируйте те же аннотации в HTML <link rel="alternate" hreflang="..."> и/или в XML sitemap.

Пример фрагмента в <head>:

<link rel="alternate" hreflang="ru" href="https://example.com/blog/post/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/blog/post/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/blog/post/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/blog/post/" />

Типичные ошибки

1. Нет взаимности

На русской странице есть ссылка на EN, а на английской - нет обратной на RU. Поисковик может проигнорировать всю группу.

2. Canonical указывает на «главный» язык

Canonical русской страницы ведёт на английскую «как на оригинал». Тогда локали выглядят не как альтернативы, а как дубли. Canonical должен указывать на себя (или на канонический URL той же локали), а не на чужой язык.

3. Авторедирект по IP / Accept-Language

Пользователь и бот не могут стабильно открыть нужную версию. Лучше: отдельный URL на каждую локаль + переключатель языка, без принудительного редиректа с корня на «угаданный» язык для всех.

4. Неполный набор локалей

В меню 5 языков, в hreflang - 2. Или для одной статьи перевод есть, для соседней - нет, но в карте всё равно торчат битые альтернативы. Лучше честный набор: только реально существующие URL.

5. Путать язык и регион

de - немецкий язык. de-AT - немецкий для Австрии. Если контент один и тот же для DE/AT/CH, не плодите три почти идентичные страницы без реальной локализации цен, доставки и юртекстов.

6. Разный смысл под одним «переводом»

URL «переведён», а оффер, валюта и CTA остались от другого рынка. Для SEO это уже не эквивалент, а другая страница - hreflang здесь может навредить.

7. Забыли sitemap и внутренние ссылки

Теги в <head> есть, но в XML sitemap нет xhtml:link, а в футере язык ведёт всегда на главную, а не на эквивалент текущей статьи. Внутренняя перелинковка локалей усиливает сигнал.

Чек-лист перед запуском

  1. Единая схема URL на всём сайте.
  2. У каждой индексируемой страницы есть полный взаимный набор hreflang + self.
  3. Canonical не склеивает разные языки.
  4. Нет агрессивного geo-redirect, который режет индексацию.
  5. Sitemap содержит все локали и аннотации.
  6. Переключатель языка ведёт на эквивалент, а не только на homepage.
  7. 404 и «страница ещё не переведена» обработаны явно (мягкий fallback или честный 404), без тихого показа чужого языка под тем же URL.

Итог

Мультиязычный сайт работает, когда у каждой аудитории свой стабильный URL, а hreflang честно связывает эквиваленты. Выберите одну схему адресов, держите взаимность аннотаций, не ломайте локали через canonical и geo-redirect - и поисковик перестанет угадывать язык за вас.

Если нужно спроектировать схему URL, hreflang и sitemap для вашего стека или проверить текущий сайт на типичные ошибки - свяжитесь со мной.

Часто задаваемые вопросы

Нужен ли hreflang, если языков всего два?

Да, если обе версии должны находиться в поиске для своей аудитории. Даже пара RU/EN без взаимных аннотаций часто даёт неправильный язык в выдаче или ощущение дублей.

Что лучше: /en/ в пути или поддомен?

Для большинства проектов - префикс пути. Поддомен имеет смысл при отдельном хостинге, команде или сильной изоляции рынка. Отдельный ccTLD - когда бренд и юрлицо реально локальные.

Обязателен ли x-default?

Не обязателен, но полезен. Обычно указывает на селектор языка или на основную международную версию (часто EN). Без него поисковик сам выбирает fallback.

Можно ли ставить hreflang только в sitemap?

Да, Google понимает аннотации в sitemap. На практике надёжнее дублировать и в HTML, и в sitemap - проще отлаживать и меньше риск рассинхрона при частичных деплоях.

Почему после настройки hreflang язык в выдаче всё ещё неверный?

Часто виноваты не теги, а сигналы вокруг: canonical на другой язык, редиректы, тонкий/машинный «перевод», битые URL в связке или отсутствие внутренних ссылок на эквивалент. Проверьте взаимность и то, что обе страницы реально индексируются.

Контакты