Назначение и важность тегов hreflang для многоязычных сайтов
При создании веб-ресурсов, ориентированных на аудиторию из разных стран или говорящую на разных языках, возникает необходимость корректного распределения трафика. Атрибут rel="alternate" hreflang="..." указывает поисковым системам на существование локализованных версий одной и той же страницы. Благодаря этому поисковые роботы могут точно определять, какую именно версию URL следует показать конкретному пользователю в зависимости от его географического положения и языковых настроек браузера.
Правильное использование тегов hreflang решает проблему дублирования контента, которая часто возникает, когда схожие материалы публикуются для разных регионов (например, для США, Великобритании и Австралии на английском языке). Поисковые системы используют эти теги как международные SEO-сигналы, чтобы связать альтернативные адреса в единую сеть и направлять пользователей на наиболее релевантные целевые страницы.
Структура и синтаксис атрибутов hreflang
Каждая запись hreflang представляет собой HTML-тег <link>, который размещается в коде страницы. Синтаксис требует обязательного указания связи между текущим документом и его альтернативной версией:
<link rel="alternate" hreflang="код_языка-код_региона" href="URL_версии" />
Для корректной интерпретации поисковыми системами коды языков, письменностей и регионов должны строго соответствовать международным стандартам:
- Код языка: Обязательный двухбуквенный код в формате ISO 639-1 (например,
en,ru,zh). - Код письменности: Необязательный четырехбуквенный код ISO 15924, который используется для языков с несколькими вариантами написания (например,
zh-Hantдля традиционного китайского илиzh-Hansдля упрощенного китайского). - Код региона: Необязательный двухбуквенный код в формате ISO 3166-1 Alpha-2 (например,
US,GB,CN), который всегда указывается после кода языка или письменности.
Примеры допустимых комбинаций включают базовый языковой код en, языковой код с письменностью zh-Hant, а также сложные конструкции с указанием региона, такие как zh-Hans-US.
Роль и реализация атрибута x-default
Атрибут x-default выполняет роль резервного адреса (fallback). Он указывает поисковым системам, на какую страницу следует перенаправить пользователя, если его языковые или региональные настройки не совпадают ни с одним из явно указанных языковых направлений.
В качестве страницы x-default обычно выбирают:
- Главную страницу сайта с возможностью выбора страны или языка.
- Глобальную англоязычную версию сайта.
- Основную языковую версию, которая считается базовой для международного трафика.
Тег с этим атрибутом записывается следующим образом:
<link rel="alternate" hreflang="x-default" href="URL_резервной_страницы" />
Правила валидации и ограничения генератора
Инструмент выполняет строгую проверку всех вводимых данных перед генерацией итогового кода. Чтобы получить корректный набор тегов, необходимо соблюдать следующие правила:
- Количество версий: Инструмент поддерживает одновременную обработку до 100 языковых версий. Для генерации кода необходимо добавить как минимум две языковые версии.
- Длина URL: Каждый адрес (включая URL для x-default) должен быть короче 2048 символов.
- Протокол: Все адреса должны быть полными и начинаться с протокола
http://илиhttps://. - Валидация кодов: Инструмент проверяет соответствие кодов стандартам ISO 639-1, ISO 3166-1 Alpha-2 и ISO 15924. Неподдерживаемые или некорректные коды, такие как
es-419или любые неизвестные системе обозначения, отклоняются. - Нормализация: Генератор автоматически приводит регистр букв к стандартному виду (например, преобразует
EN-usвen-US) и нормализует кодыzh-Hantиzh-Hans. Все параметры запросов в URL-адресах экранируются на выходе.
Если во вводимых данных присутствует хотя бы одна ошибка, генерация тегов приостанавливается, а поле вывода остается пустым до полного исправления всех замечаний.
Ошибки валидации и их значения
В процессе работы с генератором вы можете столкнуться со следующими сообщениями об ошибках, которые выводятся на русском языке:
- Добавьте как минимум две языковые версии. — возникает, если заполнено менее двух строк с адресами.
- Для версии
{index}требуется код языка или языка-региона. — указывает на пустое поле выбора локали. - Для версии
{index}требуется указать полный URL. — поле адреса для указанной строки осталось пустым. - Версия
{index}должна использовать двухбуквенный код языка, опционально код письменности ISO 15924 и/или двухбуквенный код региона. — общая ошибка структуры кода локали. - Версия
{index}использует{code}, что не является кодом языка ISO 639-1. — введен некорректный или несуществующий код языка. - Версия
{index}использует{code}, что не является двухбуквенным кодом региона ISO 3166-1 Alpha-2. — указан неверный код страны. - Версия
{index}использует{code}, что не является корректным кодом письменности ISO 15924. — ошибка в написании кода шрифта/письменности. - Версия
{index}дублирует код hreflang{locale}. — один и тот же языковой или региональный код назначен двум разным URL. - Для версии
{index}требуется полный URL-адрес с http:// или https://. — адрес не содержит протокола или введен с ошибкой. - URL-адрес для версии
{index}должен быть короче 2048 символов. — превышено ограничение на длину веб-адреса. - Добавьте URL-адрес, который должен использоваться для x-default. — активирована настройка резервной страницы, но поле URL пусто.
- Для URL-адреса x-default требуется полный адрес с http:// или https://. — адрес резервной страницы не содержит корректного протокола.
- URL-адрес x-default должен быть короче 2048 символов. — превышена допустимая длина для резервного URL.
- Этот редактор поддерживает не более
{max}языковых версий одновременно. — попытка добавить более 100 записей.
Конфиденциальность данных
Все операции по обработке введенных URL-адресов и кодов локализации выполняются непосредственно в вашем веб-браузере. Ваши URL-адреса остаются в вашем браузере. Никакие данные не отправляются на BroBroGo. Это исключает утечку структуры вашего сайта или неопубликованных адресов на сторонние серверы.
Часто задаваемые вопросы
Какие коды hreflang принимает этот генератор?
Используйте двухбуквенный код языка ISO 639-1, за которым при необходимости может следовать код письменности ISO 15924 и/или двухбуквенный код региона ISO 3166-1: en, zh-Hant, zh-CN или zh-Hans-US. Регистр букв нормализуется при выводе.
Где следует размещать сгенерированные теги?
Добавьте полный, неизмененный набор тегов в раздел <head> каждой локализованной версии. Каждая страница должна ссылаться как на саму себя, так и на все остальные версии.
На что должен указывать x-default?
Выберите страницу для посетителей, чей язык или регион не совпадает ни с одним из указанных. Резервной страницей может быть выбор языка, глобальная главная страница или основная языковая версия.