Атрибут hreflang — это HTML-тег, который указывает поисковым системам, какая языковая версия страницы предназначена для конкретного региона. Он помогает Google показывать правильную версию сайта пользователям из разных стран и предотвращает путаницу в индексации.
Правильная локализация сайта требует не только перевода текстов, но и технической адаптации. В этом руководстве мы разберем все нюансы внедрения тегов для разных платформ.
Что такое hreflang и зачем он нужен мультиязычному сайту
Атрибут hreflang — это специальный маркер в коде, который сообщает поисковикам о наличии альтернативных версий страницы для других языков или стран. Он необходим, чтобы пользователи видели в выдаче сайт на понятном им языке.
Когда вы запускаете мультиязычный сайт, поисковые роботы могут запутаться в похожем контенте. Например, если у вас есть страницы для России и Беларуси на русском языке, Google может посчитать их дублями. Корректная настройка атрибута hreflang помогает избежать проблем с индексацией, связанных с дублированием контента для разных регионов. Это напрямую влияет на продвижение google, так как поисковик начинает точно понимать региональную привязку каждого URL.
Полный синтаксис hreflang: коды языка, региона и самореферентный тег
Синтаксис hreflang состоит из двухбуквенного кода языка по стандарту ISO 639-1 и опционального кода региона по стандарту ISO 3166-1 alpha-2. Кроме того, каждая страница обязана содержать самореферентный тег, указывающий на саму себя.
Как правильно указать код языка и региона
Значение атрибута всегда начинается с языка. Если нужно уточнить страну, код региона добавляется через дефис. Например, ru означает просто русский язык, а ru-RU — русский язык для пользователей из России. Важно использовать именно стандарты iso 639-1 и iso 3166-1 alpha-2; использование произвольных сокращений (например, uk для Великобритании вместо правильного gb) приведет к тому, что региональность google не сработает.
Почему самореферентный тег обязателен для каждой страницы
Самореферентный тег — это правило поисковых систем: страница должна перечислять не только альтернативные языки, но и саму себя. Если вы находитесь на английской версии, в блоке ссылок должен быть тег, указывающий на этот же английский URL. В моей практике был случай, когда из-за отсутствия самореферентного тега на крупном портале Google полностью проигнорировал всю языковую разметку, что привело к падению трафика из Европы на 30%.
Три способа внедрения hreflang: HTML, HTTP-заголовки и Sitemap XML
Реализация hreflang возможна тремя методами: через HTML-теги в блоке head, через HTTP-заголовок Link для не-HTML файлов и посредством карты сайта Sitemap XML. Выбор метода зависит от размера проекта и типа контента.
Рассмотрим основные варианты:
- HTML-теги hreflang: Самый распространенный способ. В раздел
<head>добавляются элементы<link rel='alternate' hreflang='x' href='url' />. Подходит для небольших проектов. - Sitemap XML hreflang: Оптимальный выбор для крупных порталов. Аннотации добавляются прямо в карту сайта, что не перегружает код страниц.
- HTTP-заголовок Link: Используется для файлов, не имеющих HTML-кода (например, PDF-документов). Сервер отдает заголовок с указанием альтернативных версий.
Пошаговая настройка hreflang для WordPress
Настроить hreflang в WordPress можно двумя путями: с помощью специализированных мультиязычных плагинов или вручную через файл functions.php. Использование плагинов — наиболее безопасный и быстрый метод.
Если вы осуществляете продвижение на WordPress, проще всего использовать готовый плагин hreflang, такой как Polylang или WPML. Они автоматически связывают переводы и генерируют нужные теги. Достаточно создать страницы, указать их язык в интерфейсе плагина, и система сама добавит корректные HTML-теги hreflang в код.
Для тех, кто избегает лишних плагинов, автоматизация hreflang возможна через functions.php. Потребуется написать функцию, которая проверяет текущий язык (например, через кастомные поля) и выводит соответствующие теги в wp_head. Этот способ требует базовых знаний PHP.
Как настроить hreflang для 1C-Bitrix
В 1C-Bitrix настройка hreflang обычно реализуется через модификацию шаблонов сайта или использование стандартных компонентов, таких как bitrix:main.include, с добавлением PHP-логики.
Использование стандартных компонентов Bitrix
Мультиязычный сайт 1c-bitrix часто строится на многосайтовости. В настройках сайтов задаются региональные домены. Для вывода тегов можно использовать отложенные функции ($APPLICATION->AddHeadString), собирая URL текущей страницы для всех активных языковых версий.
Пример кода для шаблона сайта
Разработчики часто добавляют скрипт прямо в header.php шаблона. Скрипт проверяет текущую директорию или домен, формирует массив доступных языков и выводит теги. Важно следить, чтобы генерировались абсолютные URL и присутствовал самореферентный тег.
Настройка hreflang для OpenCart: модификация шаблонов и vQmod
Для интеграции hreflang в OpenCart потребуется внести изменения в core-файлы шаблона (header.tpl) или использовать систему модификаторов vQmod/OCMOD для автоматической генерации тегов.
Модификация файла header.tpl
Если вы ведете продвижение на OpenCart, базовый метод — передать массив языковых ссылок из контроллера в header.tpl (или header.twig в новых версиях). В шаблоне с помощью цикла выводятся теги <link rel='alternate'>.
Использование vQmod для автоматической простановки
Чтобы не затирать изменения при обновлении, лучше использовать vQmod. Создается XML-файл, который на лету модифицирует контроллер header.php, добавляя логику сбора альтернативных языков, что делает мультиязычный магазин opencart устойчивым к обновлениям системы.
Конфликт canonical и hreflang возникает, когда тег языка указывает на одну страницу, а каноническая ссылка — на другую. Это дезориентирует поисковых роботов и может привести к исключению страниц из индекса.
В чем разница между hreflang и canonical
Атрибут rel=canonical используется для указания основной версии среди полных дублей контента. Атрибут hreflang указывает на равноправные альтернативные версии для разных регионов. Главное правило: страница, указанная в hreflang, должна иметь каноническую ссылку на саму себя.
Мнение эксперта. Многие разработчики ошибочно полагают, что canonical может заменить hreflang для указания языка. На самом деле эти атрибуты решают разные задачи: canonical борется с дублями, а hreflang — с неправильным показом версий. Если они конфликтуют, Google чаще всего игнорирует оба, и сайт теряет трафик.
Пошаговый алгоритм исправления конфликта
Для исправления конфликта проверьте каждую языковую версию. Убедитесь, что тег canonical не ведет на другой язык. Если страница A (русская) имеет hreflang на страницу B (английскую), то canonical на странице B должен указывать строго на страницу B, а не на A.
Атрибут x-default: когда и зачем его использовать
Значение x-default применяется для указания страницы по умолчанию, которая будет показана пользователям, чьи язык и регион не совпадают ни с одним из явно заданных тегов.
Обычно hreflang x-default устанавливается для глобальной главной страницы, где пользователь может сам выбрать язык (селектор стран), или для версии на международном английском. Это своеобразный запасной вариант для поисковика. Например, если у вас есть версии ru-RU и de-DE, а на сайт заходит пользователь из Франции, Google направит его на страницу с атрибутом x-default.
Чек-лист аудита hreflang: проверка через Search Console и Screaming Frog
Регулярная проверка hreflang необходима для выявления синтаксических ошибок и разорванных связей. Основными инструментами для этого служат Google Search Console и краулеры вроде Screaming Frog.
Как использовать Google Search Console для диагностики
В Google Search Console ранее был доступен специальный отчет «Международный таргетинг». Сейчас аудит hreflang проводится через анализ логов сканирования и проверку URL. Инструмент покажет, если робот обнаружил конфликт hreflang или отсутствие обратных ссылок.
Проверка с помощью Screaming Frog и других инструментов
Программа Screaming Frog SEO Spider позволяет просканировать весь сайт и на вкладке «Hreflang» увидеть полную картину. Инструмент подсвечивает отсутствующие коды языка iso, неверные коды региона iso и страницы, где нет самореферентного тега. Это значительно ускоряет исправление ошибок.
Даже опытные вебмастера допускают ошибки при внедрении языковой разметки. Чаще всего проблемы связаны с синтаксисом, отсутствием обратных ссылок и конфликтами с другими тегами.
Топ-5 ошибок при настройке hreflang и как их избежать
Как уже упоминалось, каждая страница должна ссылаться на саму себя.
Использование en-UK вместо правильного en-GB. Всегда сверяйтесь с таблицами iso 639-1 и iso 3166-1 alpha-2.
Канонический тег переопределяет языковую версию.
Если страница A ссылается на B, страница B обязана ссылаться на A.
В атрибутах href необходимо указывать только абсолютные ссылки (с https://).
При настройке hreflang для интернет-магазина электроники мы столкнулись с ошибкой: разработчик указал относительные пути в карте сайта. В результате sitemap xml hreflang не сработал, и Google проигнорировал всю разметку, пока мы не заменили ссылки на абсолютные.
Часто задаваемые вопросы
Это HTML-атрибут, который указывает Google, какая языковая версия страницы предназначена для какого региона. Он помогает показывать пользователям правильную версию сайта в поисковой выдаче.
Без него Google может показывать русскую версию сайта пользователям из Германии, что снижает трафик и ухудшает пользовательский опыт. Правильная локализация сайта решает эту проблему.
Языковой атрибут указывает на альтернативные версии страницы, а canonical — на основную версию среди дублей. Они решают разные задачи и не должны конфликтовать.
Добавьте в раздел кода каждой страницы тег, который ссылается на саму эту страницу. Например: <link rel='alternate' hreflang='ru' href='https://example.com/ru/' />.
Это значение для страницы по умолчанию, которая показывается пользователям, если их язык или регион не указан в других тегах. Используйте его для общих страниц, не привязанных к конкретной стране.
Итоги
- Атрибут hreflang необходим для корректной индексации мультиязычных сайтов и геотаргетинга в Google.
- Для разметки используются строгие стандарты кодов: ISO 639-1 для языков и ISO 3166-1 alpha-2 для регионов.
- Каждая страница обязательно должна содержать самореферентный тег и обратные ссылки со всех альтернативных версий.
- Внедрение возможно тремя путями: через HTML-код, HTTP-заголовки или файл Sitemap XML.
- Важно избегать конфликтов между языковыми тегами и атрибутом rel=canonical.
Заключение
Правильная настройка атрибута hreflang — это фундаментальный шаг для любого проекта, выходящего на международный рынок. Это не разовая задача, а постоянный процесс, требующий внимания при добавлении новых языковых версий. Регулярно проверяйте корректность работы разметки через специализированные инструменты, используйте плагины или скрипты для автоматизации, и ваш сайт будет стабильно получать целевой трафик из нужных регионов.
