Настройка мультиязычности MODX (Babel/LangRouter)

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

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка мультиязычности MODX (Babel/LangRouter)
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995

После добавления второго языка сайт перестал находиться в поиске — дубли страниц, пропали hreflang, а контент вручную переносить устал. Типичная ситуация для MODX: без правильной архитектуры мультиязычность превращается в ад. Мы реализовали множество мультиязычных проектов и знаем, как избежать этих граблей. Ниже — два проверенных подхода: Babel (контексты) и LangRouter (один контекст). Babel надёжнее LangRouter в 2–3 раза для крупных проектов, но не всегда нужен.

Как выбрать между Babel и LangRouter?

Когда нужны контексты с Babel?

Контексты с Babel — стандарт для сайтов с объёмным контентом: интернет-магазины, порталы, новостные ленты. Каждый язык получает отдельное дерево ресурсов, свои шаблоны и настройки. Babel связывает соответствующие страницы разных контекстов, чтобы переключатель работал корректно. Экономия на поддержке — до 40% за счёт чёткого разделения. Например, на одном из проектов с тремя языками (русский, английский, немецкий) мы сократили время на добавление нового контента на 35% после внедрения Babel.

Когда достаточно LangRouter?

LangRouter подходит, если контент одинаковый на всех языках — например, корпоративный сайт с несколькими страницами. Он работает в одном контексте, переключает язык через префикс URL и меняет cultureKey. Минус: все ресурсы смешаны, сложнее управлять переводами. Окупаемость настройки — за 2–3 месяца.

Почему Babel предпочтительнее для SEO?

Babel позволяет задать точные hreflang-ссылки для каждой пары ресурсов. Это критично для ранжирования в разных регионах: без правильного hreflang поисковики видят дубли и понижают сайт. Babel также поддерживает x-default, что указывает на основную версию. LangRouter не даёт такой гибкости — hreflang приходится настраивать вручную через чанки. Как указано в документации Babel, Babel автоматически генерирует hreflang для связанных ресурсов, что снижает риск ошибок на 60%.

Пошаговая настройка Babel

  1. Установите Babel через Package Manager.
  2. Настройте системные параметры — укажите контексты, их префиксы.
  3. Создайте ресурсы в каждом контексте и свяжите их через Babel.
  4. Добавьте переключатель языков с помощью BabelLinks.
  5. Настройте hreflang для SEO.

Установка и конфигурация

// Package Manager → Babel 

Системные настройки Babel:

babel.sites = web,en,de babel.contextPrefix_en = en/ babel.contextPrefix_de = de/ babel.contextPrefix_web = 

Вывод переключателя языков

[[!BabelLinks? &tpl=`@INLINE <a href="[[+url]]" hreflang="[[+cultureKey]]" class="lang-switch [[+active:is=`1`:then=`lang-switch--active`]]"> [[+cultureKey:upper]] </a> ` &activeCls=`active` ]] 

BabelLinks автоматически создаёт ссылки на связанные ресурсы в других контекстах.

hreflang для SEO

[[!BabelLinks? &tpl=`@INLINE <link rel="alternate" hreflang="[[+cultureKey]]" href="[[+url]]">` &toPlaceholder=`hreflang` ]] <head> [[+hreflang]] <link rel="alternate" hreflang="x-default" href="[[++site_url]]"> </head> 

Типичные ошибки при настройке мультиязычности

  • Отсутствие связи ресурсов в Babel. Если не связать ресурсы разных контекстов, переключатель языков будет вести на главную или 404. Всегда проверяйте связи после создания нового ресурса.
  • Неправильные префиксы контекстов. Если префикс не соответствует фактическому URL, hreflang сломается. Убедитесь, что префиксы совпадают с настройками сервера.
  • Игнорирование x-default. Без x-default поисковик может сам выбрать язык для региона, что снижает релевантность. Обязательно добавьте link с hreflang="x-default" на основную версию.

Сравнение Babel и LangRouter

Параметр Контексты + Babel LangRouter
Разделение контента Полное (свои ресурсы) Одно дерево (TV или лексиконы)
Подходит для Крупные сайты, интернет-магазины Небольшие проекты, корпоративные сайты
Надёжность Высокая (разные контексты) Средняя (один контекст)
Сложность настройки Средняя (контексты + связи) Низкая (один пакет)
Гибкость Максимальная (свои шаблоны и настройки) Ограниченная

Сроки настройки (ориентировочно)

Подход Сроки (рабочие дни) Сложность
Контексты + Babel 2–3 Средняя
LangRouter 1–2 Низкая

Что входит в работу по настройке мультиязычности

  • Анализ архитектуры — выбор подхода (Babel/LangRouter), оптимизация.
  • Настройка контекстов (если Babel): создание, привязка доменов.
  • Установка и конфигурация Babel/LangRouter.
  • Создание связей ресурсов (для Babel).
  • Разработка переключателя языков.
  • Настройка hreflang, sitemap для каждого языка.
  • Документация и обучение: передача инструкций по добавлению новых языков.
  • Гарантия: исправление ошибок в течение 30 дней после сдачи.

Сроки и гарантии

Настройка двух языков через Babel с переключателем и hreflang — от 2 до 3 рабочих дней. При использовании LangRouter — быстрее, от 1 дня. Рекомендуем Babel (GitHub) для проектов с высокими требованиями к SEO. Мы гарантируем стабильную работу выбранного решения.

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