Коротко
- hreflang сообщает Google о языковых и региональных версиях страницы, но не переводит ее и не добавляет в индекс.
- Каждая версия перечисляет себя и все остальные версии кластера.
- Без ответной ссылки связь игнорируется.
- Региональный код ставят только версии, у которой есть свое предложение для региона.
- Canonical у перевода указывает на страницу того же языка.
Выбираем язык и регион
Сначала решите, кому адресована каждая версия. Русская и английская страницы одной услуги могут быть переводами друг друга. Русский обзор рынка и английская форма заказа на ту же тему переводами не будут, даже если CMS держит их в одной категории.
Настройка языковых версий относится к технической SEO-оптимизации сайта. Перевод текстов сам по себе не исправляет canonical, доступность URL и связи между версиями: эти изменения нужно проверять в исходном HTML и повторном обходе.
Код ru описывает русскую версию без привязки к стране. Код ru-AE подходит русской версии для ОАЭ, если у нее есть свои условия. Читатель из США, который читает по-русски, не превращает каждую русскую статью в ru-US.
Какие коды допустимы
По документации Google о локализованных версиях язык задают по ISO 639-1, регион по ISO 3166-1 Alpha 2. Страну без языка указать нельзя. Для Великобритании пишут en-GB, значение UK на поиск не влияет.
Откуда не брать список стран
Из рекламного таргетинга. Аудитория кампании и версии страниц - разные вещи, а сетка языково-страновых адресов без отличий в условиях только добавляет работы по проверке и дубли. Выбор структуры сайта - отдельная задача международного SEO, атрибут ее не решает.
URL и canonical
Перед внедрением составьте таблицу. В ней сущность страницы, язык, регион, итоговый адрес, canonical, статус публикации и наличие перевода. Если перевода нет, главную вместо него не подставляйте. Неполный кластер безопаснее неверных связей.
Правила canonical у Google прямо касаются hreflang. Canonical указывают на страницу того же языка, а при выборе канонического адреса Google отдает предпочтение адресам из hreflang-кластеров. Канонизировать все переводы на русский только потому, что исходник написан на нем, нельзя. Переводы Google считает дублями, только если основной текст остался непереведенным.
Взаимность и коды hreflang
Ниже head русской версии. Домен example.com в нем учебный, при внедрении весь набор меняют на реальные адреса из CMS.
<link rel="canonical" href="https://example.com/ru/service/">
<link rel="alternate" hreflang="ru" href="https://example.com/ru/service/">
<link rel="alternate" hreflang="en" href="https://example.com/en/service/">
<link rel="alternate" hreflang="x-default" href="https://example.com/service/">На английской странице набор alternate тот же, а canonical указывает на английский адрес. Каждая версия перечисляет себя и все остальные. Если две страницы не ссылаются друг на друга, Google такие теги игнорирует.
Передать связи можно тегами в HTML, HTTP-заголовками или в sitemap. Для Google эти способы равноценны. Выберите один и не держите параллельно плагин и шаблон, которые выводят разные наборы.
x-default и переключатель языка
x-default отдают странице, которую показывают, когда язык браузера не совпал ни с одной версией. Обычно это страница выбора языка. Если ее нет, фиктивную создавать не нужно, хватит версии, которая подходит как запасная.
Автоматический редирект по IP или языку браузера Google не советует. Робот приходит без заголовка Accept-Language и чаще всего из США, поэтому другие версии он может не увидеть. Переключатель пусть ведет на эквивалент текущей страницы, а не на главную другого языка.
Локализуем контент и конверсии
Перевод меню без перевода условий ничего не дает. В английской версии должны быть те же цены, сроки, ограничения и способ связи, что в русской, либо явная пометка, что условия отличаются. Форма на каждой версии отправляет заявку в CRM с меткой языка, иначе потом не разобрать, откуда пришел клиент.
Если перевод еще не готов, оставьте опубликованную версию самостоятельной. Когда перевод выйдет, обновите карту и обе стороны кластера одним выпуском. Пример с регионом разобран в статье про SEO в ОАЭ.
Проверяем граф языковых URL
Выберите несколько кластеров разных шаблонов, например услугу, статью и кейс. Сохраните HTML до изменений и карту ожидаемых связей, внедрите только на них. Потом проверьте ответ сервера, head, конечные адреса и переключатель без авторизации.
Негативные тесты
Негативные тесты гоняют на тестовой копии, боевой сайт для этого не трогают. Проверка должна поймать каждую ошибку из таблицы.
Выпуск на весь сайт
Комментарий Q2 AgencyВ Q2 hreflang принимаем по графу связей, число тегов тут не показатель. Каждый кластер сверяем с картой переводов, и только потом выпускаем изменения на весь сайт.
После пилота сравните видимый текст, меню и формы до и после. Метаданные не должны ломать верстку. Затем выпускайте на весь сайт и обходите все затронутые адреса. Если перевод не индексируется по другой причине, hreflang его не вернет, нужна диагностика индексации. Настройку hreflang под проект Q2 делает в рамках продвижения англоязычного сайта.
Частые вопросы
Источники
Основатель Q2 Agency, бывший директор по маркетингу: работал в Яндексе, Xsolla, Cheelee и Allen Carr’s Easyway. Специализация - нейромаркетинг, воронки продаж и сквозная аналитика.
