Управление cookie
Мы используем cookie-файлы для обеспечения корректной работы сайта, персонализации контента и улучшения пользовательского опыта.
Управление cookie
Настройки cookie
Обязательные cookie включены всегда. Вы можете изменить настройки других файлов в любой момент.
Обязательные cookie
Всегда включены. Эти cookie необходимы для работы сайта и выполнения его функций. Они не могут быть отключены. Обычно устанавливаются в ответ на действия, совершённые вами, например, при выборе настроек конфиденциальности, входе в систему или заполнении форм.
Аналитические cookie
Disabled
Эти cookie собирают информацию, которая помогает нам понять, как используется наш сайт и насколько эффективны маркетинговые кампании. Также они позволяют адаптировать сайт под ваши предпочтения. Список используемых аналитических cookie вы можете посмотреть здесь.
Рекламные cookie
Disabled
Эти cookie передают рекламным компаниям данные о вашей активности в интернете, чтобы показывать вам более релевантную рекламу или ограничивать её частоту. Эта информация может быть передана другим рекламным партнёрам. Список рекламных cookie вы можете посмотреть здесь.

Этот сайт переведен на несколько языков с помощью Multify

Блог

Что такое hreflang: полное руководство с примерами ошибок

В этой статье: что такое hreflang простыми словами, как его прописать для разных структур URL, таблица кодов языков и регионов, отличия для Google и Яндекса, типичные ошибки, чек-лист и ответы на частые вопросы.
Hreflang — это HTML-атрибут, который сообщает поисковым системам, какие страницы сайта являются переводами друг друга и для какого языка или региона предназначена каждая версия. Проще говоря: это способ сказать Google и Яндексу «вот эта страница — на русском для России, а вот эта — на немецком для Германии, не показывайте их друг вместо друга».
Без hreflang мультиязычный сайт отдаёт выбор версии на откуп поисковой системе. Если страницы на разных языках содержат одинаковую структуру и смысл, поисковик может расценить их как дубли и оставить в выдаче только одну — обычно не ту, что нужна конкретному пользователю. Правильно настроенный hreflang убирает эту неопределённость и разводит версии по языковым и региональным сегментам выдачи.

Что такое hreflang и зачем он нужен

hreflang — это атрибут ссылки rel="alternate", который указывает поисковику, какие URL являются языковыми или региональными вариантами текущей страницы.
Без hreflang поисковая система может:
  • Показывать русскую версию пользователям из Германии
  • Считать переводы дублированным контентом и склеивать их в один документ
  • Не показывать региональные версии в соответствующих локальных выдачах
С hreflang поисковик знает: вот страница на немецком для Германии, вот на французском для Франции, вот английская — для всех остальных. С его помощью можно задать разные версии для одного языка, но разных регионов, а также указать несколько языков для одной страны — например, английский и французский для Канады (en-CA и fr-CA). Это важно для локализации: в Канаде даже на французском языке цены указываются в канадских долларах, а во Франции — в евро.

Как выглядит hreflang

Атрибут добавляется в секцию <head> каждой страницы:
<link rel="alternate" hreflang="ru" href="https://mysite.com/ru/about/" />
<link rel="alternate" hreflang="en" href="https://mysite.com/en/about/" />
<link rel="alternate" hreflang="de" href="https://mysite.com/de/about/" />
<link rel="alternate" hreflang="x-default" href="https://mysite.com/en/about/" />
Ключевые части:
  • rel="alternate" — указывает, что это альтернативная версия страницы
  • hreflang="ru" — код языка по ISO 639-1
  • href — полный абсолютный URL версии (с протоколом и доменом)
  • hreflang="x-default" — версия по умолчанию, если ни одна другая не подходит

Таблица: частые коды языков и регионов

Формат атрибута: язык или язык-СТРАНА. Вот коды, с которыми чаще всего ошибаются:
Код
Значение
ru
русский (любой регион)
ru-RU
русский, Россия
en
английский (любой регион)
en-US
английский, США
en-GB
английский, Великобритания
de
немецкий
fr
французский
fr-CA
французский, Канада
kk
казахский (не kz — это код страны, а не языка)
hy
армянский (не am — тоже код региона)
uz
узбекский
x-default
версия по умолчанию
Код страны добавляют, только если контент для одного языка отличается в разных регионах.
  • Только язык — hreflang="en" — для всех англоязычных пользователей независимо от страны
  • Язык + страна — hreflang="en-US" для США, hreflang="en-GB" для Великобритании — например, цены в долларах против фунтов
  • Если контент одинаковый для всех носителей языка, достаточно кода языка без страны

Взаимность: правило, которое нарушают чаще всего

Каждая страница должна содержать hreflang на все языковые версии, включая саму себя (self-referencing). Это критическое правило: если у вас три языка, каждая версия обязана ссылаться на все три, включая себя. Это создаёт замкнутый набор ссылок, по которому поисковик понимает связь версий между собой.
Правильно: на русской странице есть ссылки на немецкую, английскую и на саму себя. На немецкой — на русскую, английскую и на саму себя. На английской — на русскую, немецкую и на саму себя.
Неправильно: на русской и немецкой есть ссылки на английскую, но на английской нет ответных ссылок. Поисковик считает такую реализацию некорректной и может проигнорировать весь набор.
<!-- Пример правильного набора hreflang -->
<link rel="alternate" hreflang="de" href="https://mysite.com/de/about/" />
<link rel="alternate" hreflang="ru" href="https://mysite.com/ru/about/" />
<link rel="alternate" hreflang="en" href="https://mysite.com/en/about/" />
<link rel="alternate" hreflang="x-default" href="https://mysite.com/en/about/" />

x-default: версия для остальных

hreflang="x-default" — специальное значение для страницы, которая показывается, когда ни одна другая версия не подходит пользователю. Обычно это версия на основном языке сайта (чаще всего русская или английская).
Если у вас русская и казахская версии без английской, x-default можно указать на одну из них — или не использовать вовсе. Это не обязательный атрибут, но рекомендованный Google.

Варианты реализации

Помимо тегов в <head>, hreflang можно указать:
Через HTTP-заголовки. Для PDF и других не-HTML ресурсов — это единственный вариант.
Через карту сайта. Вместо атрибутов на каждой странице — один sitemap, в котором для каждой ссылки перечислены варианты этой же страницы на других языках. Удобно для больших сайтов на стороне Google.
Все варианты равнозначны для Google — выбирайте тот, который проще поддерживать. Кстати, Multify автоматически добавляет нужные метатеги как в HTML-код страниц, так и в карту сайта.

Важное отличие: Google и Яндекс обрабатывают hreflang по-разному

Большинство русскоязычных гайдов по hreflang написаны с оглядкой только на Google — а для сайтов, ориентированных на рунет и СНГ, это половина картины.
  • Google поддерживает все три способа разметки: HTML-теги в <head>, HTTP-заголовки и hreflang в XML Sitemap.
  • Яндекс прекратил поддержку hreflang через XML Sitemap. Единственный надёжный способ указать языковые и региональные версии для Яндекса — HTML-теги <link rel="alternate" hreflang="..."> непосредственно в <head> каждой страницы.
Практический вывод: если у вас есть аудитория в Яндексе (Россия, Казахстан, Беларусь), не полагайтесь на sitemap-реализацию — она будет работать для Google, но не даст эффекта в Яндексе. Тег в <head> — единственный вариант, который отрабатывает в обеих системах одинаково.
Не хотите прописывать hreflang вручную?
Multify генерирует hreflang автоматически для всех страниц при добавлении любого языка — и в HTML, и в карте сайта.
Попробовать бесплатное демо →

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

По данным исследования Ahrefs (374 756 доменов), 67% сайтов, использующих hreflang, имеют хотя бы одну ошибку реализации.

Ошибка 1: Нет взаимных ссылок

Самая частая ошибка. Проверьте: каждая страница каждой версии содержит hreflang на все остальные версии? Если нет — поисковые системы могут некорректно интерпретировать структуру сайта и не учитывать разметку вовсе.

Ошибка 2: Неправильный или относительный URL

hreflang требует абсолютного URL с протоколом: https://mysite.com/en/about/, а не /en/about/. Относительные пути не работают. Также важна согласованность: если canonical URL со слешем в конце (/about/), то и в hreflang должен быть слеш — и наоборот.

Ошибка 3: hreflang указывает на неканонический URL

Если целевая страница сама помечена rel="canonical" на другой URL, поисковик может проигнорировать её как альтернативную версию. hreflang должен указывать строго на канонический адрес каждой версии, а не на дубль или параметризованный URL.

Ошибка 4: Несуществующая версия

В hreflang указана ссылка на страницу, которой нет — например, не все товары переведены, но атрибуты прописаны на все. Поисковик обнаружит 404 и проигнорирует несоответствующий блок. Если у страницы нет перевода — не указывайте hreflang на неё вовсе.

Ошибка 5: Дублирование на одной странице

Два атрибута с одинаковым hreflang на одной странице — например, из-за конфликта плагинов или ручной правки разметки. Google берёт первый, второй игнорирует; итог непредсказуем.

Ошибка 6: Неправильный код языка

hreflang="kk" — правильный код для казахского языка (по списку ISO 639-1). Нельзя использовать kz — это код страны, а не языка. Та же ошибка с армянским: hy — код языка, am — код региона.

Ошибка 7: hreflang на редиректе или заблокированной странице

Если страница с hreflang отдаёт 301-редирект, поисковик следует за ним и теряет атрибут — hreflang должен быть на финальной странице, а не на промежуточной. То же самое с URL, закрытыми в robots.txt, или non-indexable страницами (noindex): hreflang на них не учитывается.

Как проверить hreflang

Hreflang Testing Tool. Показывает ошибки: неверные атрибуты, отсутствующие обратные ссылки. Минус — страницы нужно загружать вручную.
Screaming Frog или Ahrefs. Сканирование всего сайта. Screaming Frog бесплатно сканирует до 500 URL и показывает все hreflang атрибуты с проверкой взаимности.
Google Search Console в разделе «Международный таргетинг» (для доменов, подтверждённых как Domain property) показывает часть ошибок hreflang, но не заменяет полноценный краулер.

Чек-лист перед публикацией hreflang

  • Каждая версия ссылается сама на себя и на все остальные версии (взаимность)
  • Все URL абсолютные, с протоколом и согласованными слешами
  • hreflang указывает на канонический, индексируемый, отдающий 200 URL
  • Коды языков соответствуют ISO 639-1, коды стран — ISO 3166-1 (не путать kk/kz, hy/am)
  • Есть x-default для пользователей вне заданных языков/регионов
  • Для Яндекса разметка продублирована тегами в <head>, а не только в sitemap

hreflang и Tilda

Tilda не добавляет hreflang самостоятельно. Варианты по факту ограничены:
Вручную через HTML-блок. Добавить теги <link> в блок с кодом. При изменении структуры сайта — обновлять вручную. Не подходит для динамических страниц каталога или блога. Для небольших сайтов — приемлемо.
Через Multify. Прокси генерирует hreflang автоматически для всех страниц всех языковых версий, включая товары и статьи блога. При добавлении языка атрибуты появляются сразу везде, взаимность соблюдается автоматически — и разметка корректно работает как для Google, так и для Яндекса.
При ручной поддержке hreflang на сайте с 50 страницами и 3 языками — это 150 наборов атрибутов. Каждое добавление страницы или языка требует обновления во всех версиях. Автоматизация закрывает это полностью.
Добавим hreflang без ручной работы
Попробуйте Multify с автоматической генерацией hreflang при любых изменениях сайта — с поддержкой и Google, и Яндекса.
Оставить заявку →

Частые вопросы про hreflang

Hreflang это то же самое, что перевод сайта?

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

Нужен ли hreflang, если у сайта только один язык?

Нет, если контент и аудитория полностью совпадают. Он нужен, как только появляется вторая языковая или региональная версия одной и той же страницы.

Влияет ли hreflang на позиции в выдаче напрямую?

Нет, hreflang — не фактор ранжирования сам по себе. Он влияет на то, какая версия страницы показывается конкретному пользователю, и предотвращает потерю видимости из-за дублирования контента между языковыми версиями.

Можно ли использовать hreflang без x-default?

Можно — это необязательный атрибут. Но без него пользователи, чей язык не совпадает ни с одной версией, получат версию по умолчанию, выбранную поисковиком произвольно, а не ту, что вы бы выбрали сами.

Как быстро проверить, что hreflang работает у Яндекса?

Через Яндекс.Вебмастер: раздел индексирования покажет, какие языковые версии страниц проиндексированы. Если hreflang размечен только в sitemap, а не тегами в <head>, Яндекс его не учтёт — проверьте именно исходный код страницы.
Готовы настроить hreflang правильно с первого раза?
Multify автоматически расставляет корректный hreflang для всех языковых версий сайта на Tilda — с поддержкой Google и Яндекса, без ручной разметки и риска ошибок из чек-листа выше.
Оставить заявку →
Made on
Tilda