Как правильно настроить многоязычный сайт: hreflang, адреса, подводные камни

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

Светящаяся форма на переднем плане повторяется рядом одинаковых форм, уходящих вглубь

Самое важное вкратце

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

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

Структура адресов

ВариантПримерПодходит для
Подкаталогbeispiel.ch/en/почти всех — один домен, одна сила
Поддоменen.beispiel.chраздельных систем или операторов
Собственный страновой доменbeispiel.deсамостоятельных рыночных присутствий с собственной командой
Параметрbeispiel.ch/?lang=enничего — избегать

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

Правильно задать hreflang

Четыре правила, которые должны действовать вместе. Если одно нарушено, вся группа часто игнорируется.

  1. Взаимно. Если немецкая версия ссылается на английскую, английская должна ссылаться и на немецкую. Односторонние указания отбрасываются.
  2. Ссылка на саму себя. Каждая страница ссылается и на саму себя. Часто забывают, и это не опционально.
  3. Указать версию по умолчанию. Один x-default для всех языков, которые не охвачены.
  4. Абсолютные адреса. Полностью, с протоколом и доменом, без относительных путей.
Совет Код языка — сначала язык, потом опционально регион: de для немецкого вообще, de-CH для немецкого в Швейцарии. У кого только одна немецкая версия, берёт de — не de-CH. Иначе немецкие и австрийские посетители не получат привязку к версии.

Шесть ошибок, которые делают многоязычный сайт невидимым

1. Автоматическое перенаправление по языку браузера

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

Правильно: показать подсказку с предложением, но не перенаправлять. Запомнить выбор.

2. Адреса не переведены

/en/impressum/ вместо /en/legal-notice/. Выглядит как недоделанная версия — и впустую тратит поисковый запрос в адресе.

Правильно: переводить сегменты адреса по языкам, зафиксировать надолго и больше не менять.

3. Canonical указывает на основной язык

Если английская страница указывает в качестве канонического адреса немецкий, вы говорите: эта страница — дубликат, бери другую. Она исчезает из индекса.

Правильно: каждая языковая версия — свой собственный канонический адрес.

4. Отсутствующий атрибут lang

<html lang="de"> отсутствует или стоит одинаково во всех версиях. Затрагивает не только поисковые системы, но и программы чтения с экрана — там это ведёт к непонятному произношению.

Правильно: для каждой версии подходящий код, заданный автоматически.

5. Одна карта сайта на всё, без языковых указаний

Без указаний hreflang в карте сайта отсутствует связь между версиями там, где она распозналась бы проще всего.

Правильно: hreflang либо в карте сайта, либо в <head> — последовательно в одном месте.

6. Частично переведённые страницы

Заголовки переведены, основной текст на немецком. Для поисковых систем это страница без чёткого языка — а для посетителей проблема доверия.

Правильно: лучше меньше страниц полностью, чем все наполовину.

А ты знал?

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

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

Сопровождение — вот настоящая проблема

Построение — разовые затраты. Сопровождение — постоянно, и именно на нём многоязычные сайты терпят неудачу чаще, чем на технике.

Из практики

Через год типичная картина такая: у основного языка 40 страниц, у второго 31, у третьего 22. Изменения делали на основном языке и забывали в остальных — и никто больше не знает, какая версия актуальна.

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

Проверочный список перед стартом

  • Каждая страница через hreflang ссылается на все версии, на саму себя и на x-default
  • Каждая версия — свой собственный канонический адрес
  • <html lang> корректно задан для каждой версии
  • Сегменты адреса переведены и зафиксированы надолго
  • Нет автоматического перенаправления по языку браузера
  • Выбор языка виден и работает без JavaScript
  • Суммы, правовые указания и примеры приспособлены, а не только переведены
  • Есть фиксированный процесс, который подтягивает изменения во всех языках
Prompt
Проверь многоязычную настройку моего сайта.

Данные:
- Домен: [адрес]
- Языки: [список с кодами языков]
- Структура адресов: [подкаталог / поддомен / собственный домен]
- Блок hreflang примерной страницы:
  [вставить блок]
- Указание canonical той же страницы: [вставить]
- Атрибут lang той же страницы: [вставить]
- Есть ли автоматическое перенаправление по языку браузера?
  [да / нет]
- Переведены ли сегменты адреса? [пример по языку]

Задачи:
1. Проверь четыре правила hreflang: взаимно, ссылка на саму себя,
   x-default в наличии, абсолютные адреса. Назови каждое нарушение
   по отдельности.
2. Проверь, правильно ли выбраны коды языков — в особенности,
   не слишком ли узко задано указание региона.
3. Проверь canonical и атрибут lang на противоречия языковой
   версии.
4. Назови пункты из моих данных, которые могут сделать языковую
   версию невидимой, отсортированные по тяжести.
5. Выведи мне исправленный блок hreflang полностью.

Не выдумывай адресов — помечай недостающее как [дополнить].

Итог

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

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

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

Какая структура адресов лучше всего для многоязычных сайтов?

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

Что нужно учитывать при hreflang?

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

Стоит ли автоматически перенаправлять посетителей на их язык?

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

Нужно ли переводить адреса?

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

Сколько языков имеет смысл?

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

Маркетинг, который настраивается сам

Бета Studio Engine уже открыта. Забронируй место и участвуй в развитии с самого начала.

Присоединиться к бете →
← Назад к обзору