Логотип seo-prodvizhenie-biznesa.ru
+7 (921) 333-77-45

Продвижение мультиязычных сайтов: как использовать атрибут hreflang в соответствии с SEO

Продвижение мультиязычных сайтов: как использовать атрибут hreflang в соответствии с SEO
Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога seo-prodvizhenie-biznesa.ru о продвижении и доработке сайтов.

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

В SEO я с 2005 года и разбирал такие проекты не раз. Картина повторяется: чем крупнее сайт, тем изящнее ошибка. На маленьком проекте атрибут просто забыли поставить, на большом он расставлен автоматически шаблоном — и потому неверно на всех тридцати тысячах страниц сразу. Ниже разбор механики: что этот атрибут делает, чего он не делает, как выбрать структуру сайта и какие ошибки встречаются чаще прочих.

Когда языковые версии действительно нужны

Перед разговором о технике стоит проверить саму задачу. Языковая версия — это не переключатель в шапке, а отдельный сайт со своим содержанием, своими посадочными страницами, своими условиями доставки и своей поддержкой. Стоимость владения растёт кратно, а отдача появляется только там, где есть реальный спрос.

  • Версия оправдана, когда в целевой стране есть подтверждённый спрос, компания способна обслужить заказ оттуда и есть кому отвечать на письма на этом языке.
  • Версия оправдана, когда внутри одной страны говорят на нескольких языках и обе аудитории — ваши покупатели.
  • Версия не нужна, если это машинный перевод основного сайта, сделанный «на всякий случай». Такие страницы редко получают трафик и создают проблемы с оценкой качества всего домена.
  • Версия не нужна, если товар физически не может быть доставлен в регион, для которого она создана.
  • Мультиязычный сайт на WordPress: hreflang, поддомены и типичные ошибки

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

Структура сайта: домены, поддомены или папки

Решение принимается один раз и переигрывается тяжело, поэтому его стоит принимать осознанно. Вариантов три, и универсально правильного среди них нет.

Схема Пример Плюсы Минусы
Отдельные национальные домены site.de, site.fr Максимальное доверие в стране, явный сигнал геопривязки, независимость версий Каждый домен продвигается с нуля, отдельный хостинг и юридические требования, дорого
Поддомены de.site.com Легко разделить хостинг и команды, гибкая привязка к региону Авторитет домена делится хуже, чем в папках, часть работ дублируется
Папки на одном домене site.com/de/ Весь авторитет копится на одном домене, дешевле в поддержке, проще аналитика Нельзя разнести по серверам в разных странах, единая судьба при санкциях
Параметры в адресе site.com/?lang=de Быстро внедряется Плохо индексируется, порождает дубли, разделять версии таким образом не стоит

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

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

Что делает атрибут hreflang и чего он не делает

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

Что он даёт:

Тему разбирал отдельно: «Региональное продвижение сайтов».

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

Чего он не делает — и здесь основной источник разочарований. Атрибут не поднимает позиции: страница, не попадающая в топ на своём языке, от него туда не попадёт. Он не заменяет перевод: если содержимое одинаковое, разметка ничего не исправит. Он не переключает пользователя принудительно и не является командой — это рекомендация, которую система может проигнорировать, если её сигналы противоречивы.

Здесь же полезно развести два похожих понятия. Атрибут lang в теге html описывает язык конкретного документа для браузеров, скринридеров и переводчиков. Атрибут hreflang в ссылке описывает связь между документами. Первый ничего не сообщает о существовании других версий, второй — не описывает язык текущей страницы. Нужны оба, и они не взаимозаменяемы.

Помогу с продвижением: продвижение сайта в поисковых системах — вывожу сайты в топ Яндекса белыми методами.

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

Про выделенный IP и его влияние на продвижение:

Три способа отдать атрибут

Реализаций существует три, и выбор зависит от размера сайта и от того, что вообще нужно связать.

Способ Где размещается Когда выбирать Риск
Теги в head страницы Внутри секции head каждой версии Небольшое число языков и страниц Раздувает код при десятке версий, ошибки повторяются на всех страницах шаблона
Карта сайта Отдельный файл sitemap с блоками альтернатив Крупные каталоги, много языков, частые изменения Файл легко рассинхронизируется с реальным составом страниц
Заголовок ответа сервера HTTP-заголовок Link Файлы без HTML: документы, изображения, выгрузки Не виден при просмотре кода, о нём забывают при переезде

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

Правила, которые нарушают чаще всего

Атрибут капризен: он работает целиком или не работает вовсе. Пять правил, невыполнение любого из которых обнуляет всю разметку.

Смежный материал по теме — «Продвижение сайтов в США».

  1. Взаимность. Если русская страница ссылается на английскую, английская обязана ссылаться на русскую. Односторонняя связь игнорируется целиком. Это самая частая поломка: версии добавляют по одной, и новая ссылается на старые, а старые о ней не знают.
  2. Самоссылка. Каждая версия включает в набор саму себя. Комплект из трёх языков означает три записи на каждой из трёх страниц, а не две.
  3. Абсолютные адреса. Указывается полный адрес с протоколом и доменом. Относительные пути не работают.
  4. Согласие с каноническим адресом. Каждая версия каноникализируется сама на себя. Канонический адрес, ведущий с немецкой страницы на английскую, отменяет весь набор: система считает немецкую версию неосновной и выбрасывает её из рассмотрения.
  5. Указываются только индексируемые страницы. Ссылаться на закрытые от индексации адреса, на страницы с перенаправлением или на ошибку 404 нельзя — связь рвётся.

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

Коды языков и регионов: где ошибаются

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

Записано Верно? Пояснение
ru Да Русский язык без привязки к стране
ru-KZ Да Русский для Казахстана
en-GB Да Английский для Великобритании
en-UK Нет Такого кода страны не существует, нужен GB
KZ Нет Указан только регион, язык обязателен
es-LA Нет Латинская Америка не страна; для континента кода нет
en-EU Нет Евросоюз не страна, такой код не поддерживается
x-default Да Специальное значение для версии по умолчанию

Регистр значения не имеет, но общепринято писать язык строчными, а регион прописными — так ошибки заметнее при беглом чтении кода. И главное: указывать регион нужно только тогда, когда версии действительно различаются под этот регион. Если сайт один и он на английском для всего мира, достаточно кода языка.

Что учитывает Яндекс, а что Google

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

Если нужна помощь по теме — обучение SEO-продвижению.

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

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

Если нужны детали, смотрите «Создание сайтов под продвижение».

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

Как проверять разметку и что смотреть в отчётах

Проверка делится на две части: синтаксис и связность. Синтаксис ловится глазами и валидатором, связность — только обходом сайта.

  • Прогнать сайт краулером с включённой проверкой языковых альтернатив. Отчёт покажет односторонние связи, отсутствующие самоссылки и ссылки на неиндексируемые адреса.
  • Проверить выборочно десяток страниц вручную, открыв исходный код: часто шаблон подставляет один и тот же набор альтернатив на все страницы раздела вместо адресов конкретной страницы.
  • Сверить канонические адреса: на каждой версии он должен указывать на неё саму.
  • В Вебмастере посмотреть, какие страницы попали в индекс, а какие исключены как дубли или малоценные — исключение целой языковой папки почти всегда означает поломку разметки или машинный перевод.
  • В аналитике сравнить язык браузера посетителей с языком страниц, которые они открывают из поиска. Массовое несовпадение — прямой признак того, что версии выбираются неверно.
  • Мультиязычный сайт на WordPress: hreflang, поддомены и типичные ошибки

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

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

Что видно Вероятная причина
Целая языковая папка отсутствует в индексе Канонический адрес ведёт на основную версию либо папка закрыта в robots
В выдаче по иностранному запросу показывается русская страница Разметка односторонняя или отсутствует самоссылка
Версии для двух стран на одном языке склеены в одну Содержимое различается слишком мало, регион в разметке не указан
Индексируется только одна версия из всех Автоматическое перенаправление по адресу посетителя
Разметка есть, но система её игнорирует Относительные адреса, ссылки на перенаправления или несуществующие коды

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

Нужно ли переводить адреса страниц? Желательно, если аудитория читает на этом языке и алфавит латинский. Транслитерация кириллицы в английской версии выглядит бессмысленно для иностранца. Но переводить адреса задним числом на живом сайте — это массовые перенаправления, и делать это стоит только вместе с другими крупными работами.

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

Можно ли обойтись машинным переводом с последующей вычиткой? Можно, если вычитка настоящая, а не косметическая. Критерий простой: носитель языка не должен спотыкаться о формулировки. Непроверенный машинный перевод даёт страницы, которые не ранжируются и тянут вниз оценку раздела.

Как быть с ценами и валютой? Показывать в валюте региона и указывать её явно рядом с числом. Пересчёт на лету по курсу без указания валюты — источник претензий и отказов, а для поисковой системы ещё и причина считать страницы одинаковыми.

Сколько ждать эффекта после исправления разметки? Первые изменения в выдаче видны через несколько недель — ровно столько нужно, чтобы робот обошёл обе версии и переоценил связь. На крупном сайте полный пересмотр занимает пару месяцев.

Коротко

  • Языковая версия оправдана только при реальном спросе и возможности обслужить заказ — машинный перевод «на всякий случай» вредит домену.
  • Для большинства проектов рабочая схема — папки на одном домене; отдельные национальные домены нужны там, где есть юрлицо и склад в стране.
  • Атрибут hreflang связывает версии между собой, но не поднимает позиции и не заменяет перевод: это подсказка о выборе версии, а не фактор ранжирования.
  • Разметка работает только целиком: обязательны взаимность связей, самоссылка на каждой версии, абсолютные адреса и канонический адрес, указывающий страницу саму на себя.
  • Коды пишутся в порядке «язык-регион», регион указывается только при реальных различиях; несуществующих кодов вроде обозначения Евросоюза или Латинской Америки не бывает.
  • Яндекс опирается прежде всего на региональные настройки в Вебмастере, а автоматическое перенаправление по адресу провайдера вредит обеим поисковым системам.
  • Мультиязычный сайт на WordPress: hreflang, поддомены и типичные ошибки

Если у вас несколько языковых версий и есть подозрение, что поиск показывает их не тем людям, приходите на SEO-консультацию — проверим связность разметки, канонические адреса и региональные настройки и найдём, где рвётся цепочка.

Увеличьте позиции и продажи вашего сайта

Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Анна Верещагина

У нас три языка в папках, разметку ставил разработчик по шаблону. Полезла проверять после статьи — оказалось, на всех карточках товара в альтернативах указана главная страница соответствующего языка, а не сама карточка. То есть полтора года это не работало вообще.

Анатолий Кузнецов автор

Очень распространённая поломка, и её причина техническая: шаблон подставляет статичный набор адресов вместо того, чтобы брать соответствие из базы. Чинится это добавлением поля связи между карточками разных языков — обычно там уже есть общий идентификатор товара, просто им не пользовались. Пока разработчик делает, проверьте заодно канонические адреса на карточках: в такой конфигурации они часто тоже указывают на основную языковую версию, и тогда весь неосновной каталог выпадает из индекса. И не ждите мгновенного эффекта после исправления: роботу нужно переобойти все карточки.

Владислав Кубасов

Спорный для меня момент про автоматическое перенаправление. Мы определяем страну и сразу открываем нужную версию, пользователям удобно. Отказываться от этого ради робота как-то странно.

Анатолий Кузнецов автор

Удобство здесь мнимое, и проверяется это легко. Ваш посетитель в поездке получит версию страны пребывания вместо своей, человек за корпоративным шлюзом — версию по расположению шлюза, а тот, кто пришёл по прямой ссылке от коллеги, попадёт не туда, куда его звали. При этом робот действительно видит один вариант из всех, и остальные версии в индекс не попадают. Компромисс рабочий: определяйте регион, но не перенаправляйте, а показывайте предложение перейти на подходящую версию с явными кнопками и запоминайте выбор. Тогда и человек получает то, что хочет, и все адреса остаются доступны.

Мария Гринберг

Вопрос по кодам. У нас сайт на русском для России, Казахстана и Беларуси, отличается только раздел с доставкой и телефонами. Стоит ли разводить на ru-RU, ru-KZ, ru-BY или это перебор при таких различиях?

Николай Опалев

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

Гульнара Ахметшина

Про x-default так и не поняла до конца. Если у нас русская и английская версии, и большинство иностранцев всё равно попадёт на английскую, нужно ли отдельно писать это значение или достаточно двух обычных записей?

Анатолий Кузнецов автор

В вашем случае значение по умолчанию поставить стоит, и указать на английскую версию. Логика такая: обычные записи говорят системе, кому показывать русскую и кому английскую, а значение по умолчанию отвечает на вопрос, что делать со всеми остальными — с французом, турком, бразильцем. Без него система решает сама и иногда решает не в вашу пользу. Важно только не подменять им обычные записи: набор на каждой странице будет состоять из трёх строк — русская, английская и значение по умолчанию, ведущее на тот же английский адрес. Дублирование адреса здесь нормально и ошибкой не считается.

Денис Хрусталёв

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

Татьяна Молодцова

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

Роман Слуцкий

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

Евгения Барановская

Уточните, пожалуйста, про карту сайта с альтернативами. Если у нас уже есть обычные карты по разделам, нужно делать отдельную с языковыми связями или дописывать блоки в существующие?

Анатолий Кузнецов автор

Дописывать в существующие. Отдельная карта только для языковых связей — лишняя сущность, которая быстро расходится с реальностью. Правило такое: каждый адрес присутствует в карте один раз, и внутри его записи перечисляются все альтернативные версии, включая его самого. То есть если у вас три языка, одна и та же группа из трёх записей повторится внутри трёх адресов. Файл вырастет в объёме, и здесь пригодится ограничение: не более пятидесяти тысяч адресов и десяти мегабайт до сжатия на файл, иначе придётся разбивать на части и собирать индексный файл карт.

Алексей Понизовкин

Про машинный перевод соглашусь на сто процентов. Сделали автоперевод на четыре языка, за год ни одна из этих папок не набрала и сотни визитов, зато в Вебмастере половина страниц ушла в малоценные. Убрали всё, оставили один нормально переведённый язык.

Динара Юсупова

Про Яндекс и регион в Вебмастере — а как быть, если версии в папках на одном домене? Регион ведь назначается всему сайту целиком, отдельно для папки его не выставить.

Анатолий Кузнецов автор

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

Фёдор Мещанинов

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 Нажимая «оставить комментарий» вы принимаетеправила конфиденциальности 

Прокрутить вверх