ГлавнаяИнструментыSEOГенератор hreflang
Генератор и проверка hreflang
Укажите языковые версии страницы — инструмент соберёт полный взаимный набор ссылок в трёх форматах: теги в <head>, XML Sitemap и HTTP-заголовок. Вкладка проверки найдёт ошибки в уже размеченной странице: en_US вместо en-US, en-UK, относительные адреса, дубли.
—
HTML — в <head> каждой версии
XML Sitemap
HTTP-заголовок — для PDF и других не-HTML файлов
Выберите один способ. Теги, Sitemap и заголовок равнозначны для Google; дублировать разметку не нужно, а расхождения между способами только запутают поисковик.
—
| Строка | hreflang | Адрес | Статус |
|---|
Расчёт идёт в вашем браузере — введённые данные никуда не отправляются.
Как пользоваться
- Опишите структуруУкажите домен, путь страницы и где живут версии — в подпапках или на поддоменах. Выберите набор языков или добавьте строки вручную.
- Проверьте коды и адресаИнструмент подсветит en_US, en-UK, коды стран без языка, дубли и относительные адреса и подскажет правильный вариант.
- Скопируйте один из форматовТеги — в <head> каждой версии, Sitemap — в карту сайта, HTTP-заголовок — для PDF и других файлов. Набор одинаков для всех версий.
- Проверьте готовую страницуВставьте её HTML во вкладку «Проверка страницы»: инструмент извлечёт ссылки, найдёт ошибки и перенесёт исправленный набор в генератор.
Что такое hreflang и зачем он нужен
hreflang — способ сообщить поисковику, что у страницы есть версии на других языках или для других стран. Google использует эти ссылки, чтобы показать пользователю подходящую версию: русскоязычному — /tarify, англоязычному — /en/pricing. Прямым фактором ранжирования атрибут не является: он помогает выбрать, какой из адресов показать.
Google поддерживает три равнозначных способа разметки:
Значение атрибута — код языка по ISO 639-1, при необходимости дополненный кодом страны по ISO 3166-1 alpha-2 через дефис: ru, en-GB, pt-BR. Особое значение x-default обозначает страницу для всех остальных: выбор языка или основную версию.
Для одноязычного сайта hreflang не нужен. Он нужен, когда одна и та же страница существует в нескольких вариантах: переводы, региональные версии с разными ценами и валютами, одинаковые по языку сайты для разных стран.
hreflang: как правильно
Взаимность и самоссылка
Главное правило из документации Google: ссылки должны быть взаимными. Если английская версия указывает на русскую, русская обязана указывать на английскую; иначе поисковик может проигнорировать разметку. Кроме того, каждая версия перечисляет саму себя. Проще всего размещать на всех версиях один и тот же полный набор — именно его собирает генератор.
Коды
- Язык указывается всегда; страна — только вместе с языком.
hreflang="BY"— ошибка, нужноbe-BYилиru-BY. - Разделитель — дефис.
en_USвстречается в локалях программ, но в hreflang правильноen-US. - Великобритания —
GB, а неUK: кодukозначает украинский язык. - Язык без региона работает как запасной вариант для всех стран. Если есть
en-GBиen-US, добавьтеenдля англоязычных пользователей из остальных стран.
hreflang и canonical
Каждая языковая версия должна быть канонической сама для себя. Частая ошибка — поставить на всех переводах rel="canonical" на русскую страницу: так вы сообщаете, что переводы — дубли, и поисковик может их не показывать. Canonical указывает на страницу того же языка, а связь между языками описывает hreflang. Адреса в hreflang должны совпадать с каноническими: без лишних параметров, с тем же протоколом и слешем на конце.
Адреса
Нужны полные URL с протоколом и доменом: https://site.ru/en/, а не /en/. Версии могут жить на разных доменах — hreflang работает между доменами. Страницы в наборе должны открываться с кодом 200 и не быть закрыты от индексации.
Яндекс, структура мультиязычного сайта и выбор адресов
Яндекс поддерживает атрибут hreflang и описывает его в справке Вебмастера как способ указать языковые версии страницы. Базовые правила те же, что у Google, но детали и приоритеты различаются, поэтому для проектов с заметной долей трафика из Яндекса сверяйтесь с его актуальной справкой.
Национальные домены, поддомены или подпапки
Google в руководстве по многоязычным и многорегиональным сайтам сравнивает варианты так:
- Национальные домены (
site.kz,site.de) — самый явный сигнал страны, но каждый домен нужно покупать, поддерживать и развивать отдельно. - Поддомены (
en.site.ru) — просто разнести по разным серверам; связь с основным сайтом для пользователя менее очевидна. - Подпапки (
site.ru/en/) — проще всего в поддержке: один хост, общая история домена. Для SaaS обычно самый практичный вариант. - Параметры в адресе (
?lang=en) Google не рекомендует: по ним трудно понять, какая версия перед пользователем.
Какой бы вариант вы ни выбрали, не перенаправляйте пользователей автоматически по IP или языку браузера. Робот может не увидеть остальные версии, а человек — не попасть на ту, которую искал. Лучше показать заметный переключатель языка и дать hreflang подсказать поисковику нужный адрес.
Частые ошибки в hreflang
- Нет обратных ссылок. Разметку добавили только на основную версию — переводы на неё не ссылаются.
- Нет самоссылки. Страница перечисляет все версии, кроме себя.
- Неверные коды:
en_US,en-UK,uaвместоuk, трёхбуквенные коды вродеrus, код страны без языка. - Относительные адреса и адреса с параметрами отслеживания или #фрагментами.
- Canonical на другой язык. Переводы объявлены дублями основной версии.
- Версии закрыты от индексации в robots.txt или мета-тегом noindex — ссылка ведёт на страницу, которую поисковик не может использовать.
- Один код — два адреса. Два разных URL с
hreflang="en"в одном наборе. - Непереведённые страницы. Английская версия с русским текстом — не языковая версия, а дубль.
- Разметка в нескольких местах с расхождениями: в HTML один набор, в Sitemap — другой.
Источники
- Google Search Central. Tell Google about localized versions of your page — developers.google.com/search/docs/specialty/international/localized-versions.
- Google Search Central. Managing multi-regional and multilingual sites — developers.google.com/search/docs/specialty/international/managing-multi-regional-sites.
- ISO 639-1:2002. Codes for the representation of names of languages — Part 1: Alpha-2 code; список кодов — loc.gov/standards/iso639-2.
- ISO 3166-1. Codes for the representation of names of countries — iso.org/iso-3166-country-codes.html.
- RFC 5646 (BCP 47). Tags for Identifying Languages. IETF, 2009.
- Sitemaps.org. Sitemap protocol — sitemaps.org/protocol.html.
- Яндекс Вебмастер. Справка — yandex.ru/support/webmaster.
Частые вопросы
Как правильно указать hreflang?
На каждой языковой версии разместите полный набор ссылок link rel="alternate" с атрибутом hreflang: на все версии, включая саму страницу, и при желании x-default. Код — язык ISO 639-1 и при необходимости страна ISO 3166-1 через дефис, адреса — полные URL. Генератор собирает такой набор автоматически.
Что такое x-default в hreflang?
Это значение для пользователей, чей язык или страна не совпали ни с одной версией. Обычно x-default указывает на страницу выбора языка или на основную версию сайта. Он не обязателен, но Google его рекомендует.
Как правильно: en-UK или en-GB?
en-GB. В hreflang используются коды стран ISO 3166-1, а у Великобритании код GB. Код uk означает украинский язык, поэтому en-UK — ошибка.
Можно ли указать только страну, например hreflang="RU"?
Нет. Язык обязателен, страна добавляется к нему через дефис. hreflang="ru" — русский язык, а для русскоязычной версии для Казахстана нужен ru-KZ.
Где лучше размещать hreflang: в HTML или в Sitemap?
Google считает способы равнозначными. Теги в head удобны для небольших сайтов, Sitemap — для больших, где не хочется утяжелять каждую страницу, HTTP-заголовок — для PDF и других не-HTML файлов. Выберите один способ и не допускайте расхождений.
Нужен ли canonical вместе с hreflang?
Да, но каждая языковая версия должна быть канонической сама для себя. Canonical с перевода на основную версию сообщает поисковику, что перевод — дубль, и мешает показывать его пользователям.
Учитывает ли hreflang Яндекс?
Да, Яндекс поддерживает атрибут hreflang для указания языковых версий страниц. Базовые правила совпадают с Google, но детали стоит сверять со справкой Яндекс Вебмастера.
Ещё в разделе «SEO»
- Проверка сниппета
Как заголовок и описание будут выглядеть в поиске и не обрежутся ли они?
- Генератор Open Graph
Какие теги Open Graph нужны странице и как будет выглядеть превью ссылки?
- Проверка читаемости текста
Насколько текст сложен для чтения и какие предложения слишком длинные?
- Счётчик символов и знаков
Сколько в тексте символов, слов и абзацев — и помещается ли он в title, тему письма или пуш?
- Транслитерация и генератор ЧПУ
Как превратить заголовок на кириллице в чистый адрес страницы?
- Генератор и проверка robots.txt
Какое правило robots.txt разрешает или запрещает этот URL для нужного робота?
- Генератор UTM-меток
Как собрать единообразные UTM-ссылки для каждой кампании и канала?
- UTM-метки для Яндекс Метрики
Как эта ссылка ляжет в отчёт «Метки UTM» и что в ней ломает склейку источников?
- QR-коды с UTM-метками
Какое место на выставке или какая листовка привели посетителей — и как пометить каждый QR-код?