Английская версия сайта не открывается или не переключается

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

Почему браузер открывает не ту версию

Многие сайты определяют язык автоматически — по заголовку Accept-Language или по cookie, которую ставит переключатель языков. Если cookie не сохраняется (например, заблокированы сторонние куки или домен /en/ считается отдельным поддоменом), сайт каждый раз откатывается на язык по умолчанию. Проверить это просто: откройте страницу в режиме инкогнито и посмотрите, предлагается ли выбор языка заново.

Как проверить, в чём именно проблема

  • Откройте адрес английской версии напрямую (обычно это /en/ или поддомен en.) — если он не грузится вовсе, проблема на сервере, а не в переключателе.
  • Посмотрите код ответа через инструменты разработчика (F12 → вкладка Network): код 404 значит, что страницы для этого языка просто нет, код 301/302 в цикл — редирект зациклен.
  • Проверьте исходный код страницы на наличие тегов link rel=»alternate» hreflang — если они указывают на несуществующий или неправильный URL, поисковик и сами пользователи будут попадать не туда.
  • Сбросьте кэш браузера и CDN-кэш сайта отдельно — иногда английская версия физически существует, но отдаётся старая закэшированная копия без переключателя.

Что делать, если версия пропала совсем

Если английские страницы раньше существовали, а теперь ведут на 404, значит их либо удалили, либо изменили структуру URL без настройки редиректов со старых адресов на новые. В этом случае нужно восстановить карту соответствия старых и новых путей и прописать 301-редиректы, а не оставлять пользователей на странице ошибки. Заодно стоит обновить sitemap.xml и убедиться, что в нём отдельно перечислены языковые версии — иначе поисковик может продолжать индексировать удалённые страницы ещё долгое время.

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

Понравилась статья? Поделиться с друзьями: