Поиск

Как настроить hreflang для языковых версий сайта

Как настроить hreflang для языковых версий сайта

Hreflang связывает языковые и региональные версии одной страницы. Составьте пары адресов, добавьте взаимные ссылки в head и проверьте доступность каждой версии.

Что должно получиться

У страницы есть русская и английская версии с соответствующим содержанием. Каждая сообщает о себе и о второй версии, а указанные адреса ведут прямо к нужным документам. Роботу не приходится угадывать связь только по похожим названиям каталогов.

Hreflang помогает описать языковые альтернативы, но не переводит текст и не гарантирует выбор нужного результата в поиске. Разметка также не заменяет удобное переключение языка для посетителя. Пользовательский переход и техническое описание связей решают разные части одной задачи.

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

Из чего это складывается

ЧастьНазначениеПроверка
Группа версийОбъединяет соответствующие документыОдна тема, а не случайные страницы одного сайта
Код языкаОбозначает язык версииНапример, ru или en, без выдуманных сокращений
Код регионаУточняет аудиторию при необходимостиДобавляется к языку, когда различие действительно нужно
АдресВедёт к конкретной версииПолный конечный URL без лишнего перенаправления
ВзаимностьПодтверждает связь с другой стороныАльтернативы указаны на каждой версии
Согласование с canonicalНе даёт смешать языковые связи и выбор основного адресаПереводы не склеены в одну чужую языковую версию

Составьте рабочую таблицу: документ, язык, при необходимости регион, фактический адрес, доступность и набор альтернатив. Адреса копируйте из опубликованных страниц. Различия транслитерации и структуры каталогов делают предположения ненадёжными.

Для Google предусмотрены варианты передачи связей через HTML, HTTP-заголовки и карту сайта. В этой инструкции используется HTML-разметка в head. Она подходит и для описанного Яндексом способа локализации; Яндекс отдельно сообщает, что не поддерживает Sitemap для языковых версий. Не переносите правило одного робота на другой автоматически.

Как это сделать по шагам

  1. Соберите соответствия. Для каждого документа найдите опубликованные языковые версии. Проверьте содержание, а не только похожий путь адреса.
  2. Проверьте конечные адреса. Они должны открывать нужную версию, а не ошибку, вход в аккаунт или цепочку переходов на другой язык. Зафиксируйте фактический URL.
  3. Выберите коды. Укажите язык, а регион добавляйте при реальной необходимости. Для общего английского достаточно en; региональная английская версия требует корректного дополнительного кода.
  4. Сформируйте набор link. В head каждой версии добавьте элементы с rel='alternate', кодом в hreflang и полным адресом в href. Включите текущую страницу наряду с остальными.
  5. Проверьте обратную связь. Если русская страница указывает на английскую, английская должна подтверждать русскую. Набор должен соответствовать одной группе документов.
  6. Разберите значение по умолчанию. Если есть страница выбора языка или подходящая общая версия для неохваченной аудитории, рассмотрите x-default. Не выдавайте его за ещё один язык.
  7. Согласуйте остальные сигналы. Проверьте canonical, доступность для индексирования, переключение языка и отсутствие конфликтующих наборов из разных модулей.
  8. Проверьте выпуск. Откройте исходный HTML каждой версии после сохранения и очистки нужного кеша. Затем добавьте новые группы тем же способом и контролируйте изменения адресов.

Небольшой пример соответствий

Представьте отдельный учебный сайт с русским документом в каталоге /ru/guide/ и английским в /en/guide/. Эти пути здесь условные. Для настоящей разметки нужны полные адреса: с протоколом, доменом и точным путём, скопированные с живых страниц.

Схема элементов для head показана ниже. ПОЛНЫЙ_РУССКИЙ_URL и ПОЛНЫЙ_АНГЛИЙСКИЙ_URL — обозначения для замены: вместо них вставьте фактические полные адреса соответствующих страниц. Сами эти обозначения публиковать в разметке нельзя.

<link rel='alternate' hreflang='ru' href='ПОЛНЫЙ_РУССКИЙ_URL'>

<link rel='alternate' hreflang='en' href='ПОЛНЫЙ_АНГЛИЙСКИЙ_URL'>

В head русского документа помещается указание ru на русский адрес и en на английский. В head английского — тот же набор. Если добавится перевод этого же документа на другой язык, обновите всю соответствующую группу, а не только новую страницу.

Не вставляйте link в текст статьи через визуальный редактор и не считайте это настройкой head. В CMS место управления может находиться в шаблоне или специальном модуле. Сначала установите, какой механизм реально формирует исходный HTML страницы, и работайте через него.

Язык, регион и запасная версия

Код ru обозначает русский язык, а не место размещения сервера. Для английского с привязкой к Великобритании используется en-GB, а не выдуманное en-UK. Страна без языка не заменяет полноценное языковое обозначение. Перед массовым выпуском сверяйте коды с актуальной документацией нужного робота.

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

x-default обозначает предусмотренную запасную страницу для аудитории, не сопоставленной с явно указанными вариантами. Она может помогать выбрать язык. Это не команда автоматически перевести содержимое и не способ исправить несуществующую альтернативу.

Canonical решает другой вопрос

Canonical указывает предпочтительный адрес среди дублирующих или очень похожих документов, а hreflang описывает локализованные варианты. Полноценный перевод не стоит автоматически объявлять дублем русской страницы только потому, что у них одна тема.

Для самостоятельных канонических языковых страниц часто используется ссылка canonical на собственный адрес. Если есть дубли внутри одного языка, сначала выберите предпочтительный адрес для этого языка. Не назначайте всем переводам одну русскую canonical без разбора: это создаёт противоречащие цели.

Решение проверяйте по всей цепочке: куда ведёт hreflang, что открывается по адресу и какой canonical там указан. Одна правильная строка в шаблоне не исправляет перенаправление, которое уводит робота на другую версию.

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

Связывать все страницы с главными языковых разделов

Страница об отдельной услуге должна ссылаться на соответствующий перевод этой услуги. Главная английского раздела не становится переводом любой русской страницы. Храните соответствия на уровне документов, а не собирайте их механически из одного шаблонного адреса.

Забывать текущую страницу

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

Проверять только видимое меню языка

Меню может работать, а технические связи отсутствовать или указывать на старые адреса. Откройте исходный HTML и найдите реальные элементы link в head. Отдельно нажмите пользовательский переход и проверьте, что он сохраняет соответствующий материал.

Дублировать настройку несколькими модулями

Один механизм формирует новый набор, а другой продолжает отдавать старый. До публикации выясните, кто отвечает за локализацию в CMS. Для выбранного HTML-способа оставьте согласованный источник данных и проверьте отсутствие конфликтующих повторов.

Обещать немедленное изменение поиска

Разметка не задаёт срок переобработки и не гарантирует показ определённого адреса. Проверка выпуска подтверждает доступность и корректность связей. Наблюдение за индексированием и поисковыми результатами требует отдельного времени и анализа.

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

  • Каждая группа связывает соответствующие документы, а не общие главные страницы.
  • Коды языка и региона корректны и соответствуют содержанию.
  • Адреса полные, фактические и ведут к конечной версии.
  • В набор включена текущая страница.
  • Другие версии подтверждают обратные связи.
  • Элементы link находятся в корректном head исходного HTML.
  • Canonical не противоречит цели сохранять самостоятельные переводы.
  • Версии доступны роботу и не закрыты случайным noindex.
  • x-default имеет понятное назначение, если он используется.
  • После изменения слага обновлены все затронутые связи.

Сохраните проверенные соответствия вместе с журналом выпуска. Если перевод ещё не готов или страница снята с публикации, обновите набор. Поддержка локализации продолжается после первого добавления атрибутов.

После выпуска проверьте состояние индексирования, структуру head — через HTML-валидатор, а изменения запишите в журнал обновлений. Помощь с продвижением сайта можно найти в разделе маркетинга.

Вопросы и ответы

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

Если нет языковых или региональных альтернатив, описывать несуществующие связи не нужно. Сначала определите реальную структуру версий.

Можно ли указать относительные адреса?

Для описанного способа используйте полные URL с протоколом и доменом. Условные пути из учебного примера не предназначены для вставки в настоящую разметку.

Достаточно ли добавить связь только на новой странице?

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

Hreflang заменяет canonical?

Нет. Они решают разные задачи. Согласуйте локализованные альтернативы с предпочтительными адресами внутри соответствующего языка.

Можно ли использовать только Sitemap для Яндекса?

Документация Яндекса сообщает об отсутствии поддержки Sitemap для языковых версий и рекомендует разметку локализованных страниц. Не считайте способы разных поисковых систем взаимозаменяемыми.

Гарантирует ли настройка показ нужного языка?

Нет. Она передаёт сведения о вариантах, но не является обещанием позиции, срока обработки или обязательного показа конкретного URL.

—
02:00
31
Нет комментариев. Ваш будет первым!