Многоязычность в Joomla 5: настройка без ловушек
Пошаговая настройка многоязычного сайта в Joomla 5.x: языковые пакеты, контент, меню, главные страницы, переключатель и типичные ошибки, из-за которых появляются пустые разделы и 404.

В Joomla 5.x многоязычность строится не вокруг автоматического перевода, а вокруг связки из языков, отдельных пунктов меню, главных страниц и ассоциаций материалов. Если пропустить хотя бы один элемент, переключатель может вести на 404, а английская версия — открывать русское меню. Ниже — схема, с которой можно запустить две языковые версии примерно за час, если тексты уже подготовлены.
Что подготовить до настройки
Инструкция рассчитана на Joomla 5.x и обычный сайт с двумя языками: например, русский и английский. Названия пунктов меню могут немного отличаться в минорных версиях и в русской локализации админки.
- резервную копию файлов и базы данных;
- доступ администратора к панели Joomla;
- установленные языковые пакеты для сайта и панели управления;
- готовые переводы названий меню, категорий, материалов и модулей;
- понимание структуры URL: например, site.ru/ для русского и site.ru/en/ для английского.
Сначала соберите список страниц для каждой версии. Не начинайте с переключателя языков: он не создаёт переводов и не исправляет структуру меню.
В Joomla перевод — это не свойство одного материала, а отдельный набор контента, связанный с оригиналом ассоциацией.
Пошаговая настройка многоязычности
Установите языковые пакеты. Откройте раздел установки расширений и добавьте нужные пакеты Joomla для сайта. Для каждого языка проверьте, что установлен именно пакет для фронтенда, а не только язык панели администратора. Обычно язык можно найти через каталог расширений Joomla или установить из загруженного архива.
Проверка: в разделе управления языками видны русский и английский языки, а в списке установленных языков у каждого есть статус включённого языка сайта.
Создайте языки контента. Перейдите в управление языками контента и добавьте записи для каждой версии сайта. Укажите понятное название, код языка и языковой тег из установленного пакета. Для английского обычно используется тег en-GB, для русского — ru-RU; выбирайте значение, которое соответствует установленному пакету.
Не путайте язык панели администратора с языком контента. Первый меняет интерфейс управления, второй участвует в маршрутизации страниц и фильтрации материалов.
Проверка: в списке языков контента есть обе записи, они опубликованы и имеют корректные теги.
Назначьте язык сайта по умолчанию. В разделе установленных языков сайта выберите язык, который должен открываться на основном адресе. Для русскоязычного сайта это обычно русский. Английский при этом не должен оставаться единственным языком, назначенным по умолчанию.
Проверка: при открытии домена без языкового префикса Joomla показывает главную страницу выбранного языка, а не страницу с ошибкой «No Home Page assigned».
Включите системные плагины языковой фильтрации. Найдите плагин System - Language Filter и включите его. В настройках оставьте включённой обработку ассоциаций, если хотите, чтобы Joomla переводила посетителя на соответствующую страницу при переключении языка.
Плагин System - Language Code отвечает за языковой код в HTML-документе. Его включение полезно для корректного атрибута
langи поисковой индексации, но сам по себе он не создаёт переводов.Проверка: оба нужных системных плагина имеют статус «Включено», а сохранение настроек не вызывает предупреждений.
Создайте отдельные меню для языков. Для русского и английского обычно делают два набора пунктов меню. В каждом наборе создайте главную страницу и назначьте ей соответствующий язык. Пункты «О компании», «Контакты» и «Каталог» тоже должны иметь языковую принадлежность.
Не оставляйте главную страницу с языком «Все», если она должна быть отдельной для каждого языка. Общий пункт может перехватить маршрутизацию и привести посетителя не на ту версию.
Проверка: в списке пунктов меню у каждой языковой версии есть ровно одна главная страница с пометкой Home для своего языка.
Разметьте категории и материалы. Назначьте каждой категории язык. Затем создайте отдельный материал для каждого перевода и выберите правильный язык в настройках публикации. Не копируйте русскую статью и не оставляйте у копии язык «Все»: Joomla не сможет надёжно понять, какая версия является переводом.
Для статей, категорий и пунктов меню создайте ассоциации. В интерфейсе материала откройте блок связанных элементов, выберите английскую версию для русской статьи и наоборот, затем сохраните обе записи.
Проверка: при просмотре русского материала в блоке ассоциаций виден английский вариант, а переход по нему открывает именно перевод, а не список материалов.
Добавьте переключатель языков. Создайте модуль Language Switcher и назначьте ему позицию шаблона. Публикацию установите на обе языковые версии и на нужные пункты меню. Если переключатель должен быть в шапке, проверьте, что выбранная позиция действительно выводится активным шаблоном.
Проверка: на странице видны названия или коды языков, а на странице с ассоциацией переход меняет URL и открывает связанный материал.
Проверьте URL и метаданные. Откройте сайт в приватном окне браузера и пройдите по главной странице, категории, статье и контактах на каждом языке. Посмотрите исходный HTML или инструменты браузера: атрибут
langдолжен соответствовать языку страницы, а canonical не должен указывать на другую локаль без причины.Проверка: каждая тестовая страница открывается с первого раза, ссылки не возвращают 404, а переход на другой язык не сбрасывает посетителя на главную без необходимости.
Что чаще всего ломается
Переключатель есть, но язык не меняется
Чаще всего материалу не назначена ассоциация или плагин Language Filter выключен. Проверьте обе связанные страницы, их языки и публикацию. Если перевода нет, переключатель не сможет придумать соответствующий URL.
Обе локали показывают одну главную страницу
Проверьте язык пунктов меню и наличие двух отдельных Home-пунктов. Ошибка часто появляется после копирования меню: новый пункт остаётся с языком «Все» или получает язык исходной версии.
После включения фильтра появились 404
Сначала очистите кеш Joomla, кеш браузера и кеш обратного прокси, если он используется. Затем проверьте, что для каждого языка есть опубликованная главная страница и что языковые теги совпадают с установленными пакетами. Если включена оптимизация URL, временно отключите её и повторите проверку: так проще отделить ошибку маршрутизации от ошибки языковой конфигурации.
Модуль переключателя не отображается
Проверьте позицию шаблона, статус публикации и назначение на пункты меню. В Joomla модуль может быть опубликован, но не показываться на странице, если выбранная позиция отсутствует в активном шаблоне.
Как не испортить SEO
У каждой локали должны быть свои доступные URL, заголовок страницы и метаописание. Переводить только видимый текст недостаточно: поисковик также видит меню, подписи модулей, хлебные крошки и метаданные.
- не создавайте две языковые версии под одним URL;
- не закрывайте перевод от индексации только потому, что он короче оригинала;
- проверяйте, что ссылки в меню ведут на материалы того же языка;
- не используйте автоматический перевод без редакторской проверки терминов и названий;
- после запуска просмотрите отчёты 404 и страницы, которые поисковый робот считает дублями.
Сноска. Ассоциация — связь между версиями одного объекта Joomla: например, между русской и английской статьями. Это не синхронизация текста: после изменения оригинала перевод автоматически не обновляется.
Что сделать после запуска
Создайте чек-лист для каждой новой страницы: материал, категория, пункт меню, ассоциация, модуль и метаданные. Затем проверьте сайт без авторизации на телефоне и компьютере, очистив кеш. В первые дни смотрите не только посещаемость, но и 404, цепочки редиректов, страницы без ассоциаций и язык, который Joomla отдаёт в HTML.
Если локалей станет больше двух, не копируйте структуру вслепую. Сначала определите единый шаблон URL и правила перевода категорий, затем добавляйте третью версию по той же схеме. Автоматизация импорта контента и переводов — отдельная задача, её стоит решать после того, как ручная конфигурация проходит все проверки.
Саммаризатор: 50 страниц или созвон — в 5 главных тезисов.
Спросить за 15 ₽Источники: Joomla Documentation: Setup a Multilingual Site, Joomla Documentation: Language Filter System Plugin
Частые вопросы
Нужно ли устанавливать язык отдельно для админки и сайта?
Можно ли сделать перевод в одном материале?
Почему переключатель языка ведёт на главную страницу?
Что делать, если после настройки появились 404?
Подойдёт ли эта схема для Joomla 4 или другой версии?
Нужен ли отдельный домен для каждого языка?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.