Мультиязычные URL
для AJAX-карточек материалов
3 языка — 3 версии сайта. 3 набора URL. 3 набора материалов. Если AJAX-подгрузка не учитывает язык — пользователь на /en/ получает русские карточки. Разберём по шагам, как модуль Reemake AJAX Content решает эту проблему.
Сравнительная таблица
Что происходит без учёта языка и с ним
| Параметр | Без учёта языка | RM VK Sender (с учётом) |
|---|---|---|
| Карточки на /en/ | Смешаны русские и английские | Только материалы с языком en |
| URL в карточке | Без языкового префикса — ведёт на основную версию | С префиксом /en/ через JRoute |
| Материалы без языка | Показываются везде — путают пользователя | Режим "все языки" — показывается на всех версиях |
| Переключение языков | Теряется контекст подгрузки | Новые карточки грузятся в текущем языке |
| Кеш | Одинаковый для всех языков | Кеш-ключ с языковым тегом |
| SEO | Дубли контента, hreflang не работает | Правильные hreflang и канонические URL |
Как работает
Логика мультиязычности в модуле
1. Модуль определяет текущий язык сайта через Factory::getApplication()->getLanguage().
2. Читает поле language из #__content — язык каждого материала.
3. Фильтрует материалы: текущий язык + записи со звёздочкой (*), которые показываются везде.
4. Формирует URL через JRoute — автоматически добавляет языковой префикс.
$lang = Factory::getApplication()->getLanguage()->getTag();
$query->where($db->quoteName('language') . ' IN (' .
$db->quote($lang) . ', ' . $db->quote('*') . ')');Пользователь на /en/ видит только английские материалы. Пользователь на /ru/ — только русские. Материалы без языка — на всех версиях. Никаких смешений.
Кейс · ГТРК «Брянск»
Федеральное медиа: RU + EN без смешения
Задача: ГТРК «Брянск» (Россия 1) — новостной портал на Joomla 6. Английская версия для международных партнёров и пресс-служб. AJAX-подгрузка до этого отдавала на /en/ русскоязычные материалы — выглядело как баг.
Что сделали: установили Reemake AJAX Content с учётом мультиязычности. Настроили фильтр по языку через JLanguage. Настроили кеш-ключ с языковым тегом. Проверили hreflang и канонические URL — Google не находит дублей.
Результат: на /en/ — только английские материалы. На /ru/ — только русские. Переключение языков не сбрасывает подгрузку. Английская версия начала ранжироваться в Google.com за 2 месяца.
Вопросы и ответы
Про цены и сроки
Сколько стоит настройка мультиязычности?
Стоимость зависит от задач проекта — назовём после аудита. Считаем смету по составу работ: фиксируем в договоре.
Сколько времени занимает внедрение?
Отвечаем в течение рабочего дня. Базовая настройка — 1–2 рабочих дня. Если языков больше двух или есть кастомные правила — обсуждаем сроки отдельно.
Работает с плагинами перевода?
Да, через стандартные поля языка. Совместимо с Joomla Language Manager, Falang, JoomFish.
Что если языков 5+?
Работает без ограничений. Кеш-ключ учитывает каждый тег. Скорость не страдает — фильтрация по индексированному полю language.
Обсудим мультиязычный сайт
Посмотрим структуру языков, покажем, как модуль встроится. Бесплатный аудит — без обязательств. Пришлём расчёт в течение 1 рабочего дня.
Обсудим задачу →




Messenger Max