Главная Статьи Оптимизация

hreflang: языковые версии сайта в поиске

Если у сайта есть версии на разных языках или для разных стран, поисковику нужно подсказать, какую из них показывать какому пользователю. Иначе человек из Казахстана может попасть на русскую версию, а из Германии — на английскую вместо немецкой. Для этого существует атрибут hreflang. Разберём, что это такое, как правильно размечать языковые версии, какие есть правила и почему hreflang важен для Google, но не используется Яндексом.

Что такое hreflang

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

Как выглядит разметка

Для каждой языковой версии перечисляют все версии, включая её саму. Пример для страницы с русской, английской и немецкой версиями:

<!-- в <head> каждой из версий --> <link rel="alternate" hreflang="ru" href="https://site.com/ru/"> <link rel="alternate" hreflang="en" href="https://site.com/en/"> <link rel="alternate" hreflang="de" href="https://site.com/de/"> <link rel="alternate" hreflang="x-default" href="https://site.com/">

Коды берут из стандартов: язык по ISO 639‑1 (ru, en, de), при необходимости с регионом по ISO 3166‑1 (en-US, en-GB, ru-KZ). А x-default — это запасная версия для всех, кому не подошёл ни один язык.

Когда нужен hreflang

Если сайт на одном языке и для одной страны, hreflang не нужен.

Главные правила

↔️ Взаимность
Если страница A ссылается на B через hreflang, то B обязана ссылаться на A. Односторонние связи поисковик игнорирует.
🪞 Ссылка на себя
В наборе hreflang каждая версия указывает в том числе саму себя — это не ошибка, а требование.
🌐 x-default
Добавьте версию по умолчанию для пользователей, чей язык не представлен. Часто это главная или выбор языка.
🔤 Правильные коды
Только валидные коды языка и региона (ISO). Опечатки вроде "eng" или "ua" вместо "uk" обнуляют разметку.

Где размещать hreflang

Есть три способа, выберите один и не смешивайте для одной страницы:

🛠
Про региональное продвижение в целом — статьи многорегиональный сайт и региональное продвижение. Не путайте hreflang с canonical: первый указывает язык, второй — главную версию среди дублей.

Яндекс и hreflang

⚠️ Важно: Яндекс не использует hreflang. Для определения региона он опирается на настройки в Яндекс.Вебмастере (привязка региона к сайту или разделу) и на доменную зону. hreflang — это инструмент прежде всего для Google. Поэтому для рунета языковые/региональные версии настраивают через Вебмастер, а hreflang добавляют для корректной работы в Google.

Частые ошибки

Коротко

hreflang — атрибут, который указывает язык и регион версии страницы и связывает все её языковые варианты, чтобы поисковик показывал пользователю нужную версию и не считал переводы дублями. Нужен сайтам с несколькими языками или версиями для разных стран. Главные правила: взаимность ссылок, ссылка на себя, x-default и только валидные коды языка/региона. Размещают hreflang в head, sitemap или HTTP-заголовке. Важная деталь: hreflang использует Google, а Яндекс определяет регион через Вебмастер и доменную зону. Настраивайте оба механизма, если работаете и в Google, и в Яндексе.

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

Что такое hreflang и зачем он нужен?
hreflang — это атрибут, который указывает поисковику язык и регион версии страницы и связывает между собой все её языковые варианты. Благодаря ему поисковик показывает пользователю версию на его языке и не считает похожие переводы дублями. Нужен он сайтам с несколькими языковыми или региональными версиями.
Как правильно разметить языковые версии?
В head каждой версии (или в sitemap.xml) перечислите все версии тегами link rel="alternate" hreflang="код" href="абсолютный_URL", включая ссылку на саму себя, и добавьте версию x-default для пользователей с непредставленным языком. Коды берут из стандартов: язык по ISO 639-1 (ru, en), при необходимости с регионом (en-US, ru-KZ).
Использует ли Яндекс hreflang?
Нет. Яндекс не учитывает hreflang. Для определения региона он опирается на настройки в Яндекс.Вебмастере (привязку региона к сайту или разделу) и на доменную зону. hreflang — это инструмент прежде всего для Google. Поэтому в рунете региональность настраивают через Вебмастер, а hreflang добавляют для корректной работы в Google.
Чем hreflang отличается от canonical?
Это разные вещи. Canonical указывает главную версию среди дублей с одинаковым содержанием. hreflang указывает язык и регион версии и связывает разные переводы одной страницы. Переводы — не дубли, поэтому их связывают через hreflang, а не схлопывают через canonical. Эти атрибуты используют вместе, но для разных задач.
Какие частые ошибки с hreflang?
Самые частые: отсутствие взаимных ссылок (одна версия ссылается на другую, а та в ответ нет — разметка не работает); неверные коды языка или региона (en-uk вместо en-GB, ua вместо uk); относительные адреса вместо абсолютных URL; ссылки на закрытые от индексации или редиректящие страницы; иногда забывают добавить x-default.