Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Практика

Переключатель языков: как сделать правильно

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

Две задачи одного элемента

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

Куда должна вести ссылка

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

Страницао доставкена русскомСсылкав переключателена эквивалентСтраницао доставкена английском
Страницао доставкена русскомСсылкав переключателена эквивалентСтраницао доставкена английском
Переключатель ведёт на ту же страницу другой версии

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

Как устроить ссылки

<nav aria-label="Язык">
  <a href='/ru/delivery/' hreflang="ru" lang="ru">Русский</a>
  <a href='/en/delivery/' hreflang="en" lang="en">English</a>
  <a href='/de/lieferung/' hreflang="de" lang="de">Deutsch</a>
</nav>

Каждый пункт — обычная ссылка с реальным адресом. Атрибуты hreflang и lang подсказывают браузеру и вспомогательным программам, на каком языке ссылка и её текст.

Хорошие и плохие решения

Как устроить переключатель языков
ПлохоХорошоПочему
Выпадающий список, который ведёт на адрес только после скриптаОбычные ссылки в разметкеРобот переходит только по настоящим ссылкам
Флаги вместо названий языковНазвания языков на самих языкахФлаг — это страна, а не язык
Ссылка всегда на главную страницу версииСсылка на эквивалент текущей страницыПользователь остаётся в контексте
Автоматическая смена языка при заходеВыбор остаётся за пользователемСм. статью про автоопределение языка
Переключатель только в подвалеЗаметное место в шапкеПользователь ищет его сверху

Запоминание выбора пользователя

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

Связь с hreflang: ссылки в переключателе и атрибуты hreflang должны вести на одни и те же адреса. Как задавать сами атрибуты — в статье про hreflang.

Доступность и удобство

  • Текущий язык отмечен визуально и атрибутом aria-current, чтобы пользователь понимал, где находится.
  • Пункты достаточно крупные для нажатия на телефоне и доступны с клавиатуры.
  • Переключатель расположен на одном и том же месте на всех страницах.
  • Названия языков не сокращаются до кодов вроде «RU» и «EN», если места достаточно.

Проверка перед запуском

Проверка переключателя языков
Что проверитьКак
Все ссылки ведут на страницы с кодом 200Прогнать краулером
Адреса совпадают с указанными в hreflangСравнить выгрузки ссылок и атрибутов
Переключатель работает без скриптовОтключить выполнение скриптов и открыть страницу
Для непереведённых страниц нет ссылки на пустую версиюПроверить страницы без перевода

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

Куда должен вести переключатель языка на внутренней странице?

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

Можно ли использовать флаги для выбора языка?

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

Должен ли переключатель состоять из обычных ссылок?

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

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

Читайте также