Кеширование в Joomla 5: уровни, настройки и ошибки
В Joomla можно ускорить сайт на трёх уровнях: кешировать страницы, модули и данные расширений. Но неправильная настройка отдаёт посетителям устаревший контент, ломает личный кабинет и усложняет поиск причин.

Кеширование в Joomla 5 ускоряет сайт не одной галочкой: система может сохранять целую HTML-страницу, отдельный модуль или данные расширения. Чем выше уровень кеша, тем сильнее выигрыш для гостевых страниц и тем выше риск показать старую цену, меню или статус заказа. Ниже — практическая схема настройки для Joomla 5.x, где разделить безопасный кеш для публичных страниц и динамические участки важнее, чем просто включить максимальный режим.
Как устроены уровни кеширования в Joomla
В Joomla есть несколько независимых механизмов. Они не заменяют друг друга и могут срабатывать одновременно.
- Кеш страницы. Плагин System - Page Cache сохраняет готовый ответ для гостевого посетителя. При следующем запросе Joomla может не запускать полноценную сборку страницы.
- Кеш модулей. Меню, списки материалов, блоки категорий и другие модули могут получать отдельную кешированную копию вывода.
- Кеш данных расширений. Компоненты и плагины могут сохранять результаты запросов к базе, обращения к API и тяжёлые вычисления.
Есть и кеш браузера: браузер посетителя хранит CSS, JavaScript, изображения и другие файлы по правилам HTTP. Это отдельный слой. Очистка кеша Joomla не удаляет копии файлов, которые уже находятся у пользователя.
* Фрагмент кеша — сохранённый результат работы компонента, модуля или страницы. При повторном запросе Joomla использует этот результат, пока не закончится срок хранения или кеш не будет очищен.
Кешировать нужно не всё подряд, а только то, что допустимо показывать с небольшой задержкой и одинаково всем пользователям.
Что включать в первую очередь
Для обычного контентного сайта на Joomla 5.x безопаснее начинать с кеша модулей и данных расширений. Кеш всей страницы даёт больший эффект, но требует проверки форм, авторизации и персонального содержимого.
| Уровень | Что ускоряет | Главный риск | Когда включать |
|---|---|---|---|
| Страница | Готовый HTML для гостя | Старая страница, проблемы с динамическими блоками | Новостной сайт, блог, каталог без персональных цен |
| Модуль | Отдельные блоки и меню | Устаревший список материалов или пункт меню | Почти всегда, если блок не зависит от пользователя |
| Данные расширения | Запросы к базе и внешним сервисам | Несвежие остатки, курсы, статусы и настройки | Когда само расширение поддерживает кеширование |
| Браузер | Повторную загрузку статики | Пользователь видит старый CSS или JavaScript | После настройки версионирования файлов |
Базовая настройка глобального кеша
Перед изменениями сделайте резервную копию базы данных и файлов. Настройки зависят от версии Joomla 5.x, шаблона и установленных расширений, поэтому названия отдельных полей могут немного отличаться.
- Откройте System → Global Configuration → System. Найдите раздел Cache Settings. Проверьте, что папка кеша доступна веб-серверу для записи. После сохранения должна появиться возможность включить кеш без сообщения о невозможности записать файл.
- Выберите обработчик кеша. Для первого запуска используйте File, если в окружении нет подтверждённой конфигурации Redis или Memcached. После сохранения откройте публичную страницу и убедитесь, что сайт продолжает работать без предупреждений о недоступном обработчике.
- Установите умеренное время кеша. Для редко меняющихся материалов можно начать с 15–60 минут. Это не универсальная норма: для сайта с частыми публикациями срок должен быть короче, а для архива — длиннее. После истечения времени повторно откройте страницу и проверьте, что изменения появляются без ручной очистки.
- Выберите режим Conservative caching. В Joomla доступны режимы с разной агрессивностью кеширования; Progressive caching не стоит включать на рабочем сайте без проверки расширений и динамических страниц. После настройки протестируйте меню, формы и страницу входа.
- Сохраните конфигурацию и очистите старый кеш. В административной панели откройте System → Maintenance → Clear Cache и удалите кеш после изменения режима или времени хранения. Проверкой будет новая версия материала в гостевом окне браузера.
Кеш не исправляет медленные SQL-запросы и тяжёлый JavaScript. Он лишь позволяет реже выполнять часть работы. Если страница остаётся медленной при первом открытии, измеряйте именно этот запрос, а не только повторный визит из уже прогретого кеша.
Кеш страницы: максимальный эффект и максимальная осторожность
Плагин System - Page Cache подходит для публичных страниц, которые выглядят одинаково для всех гостей. Его обычно включают в списке плагинов, затем ограничивают области кеширования через параметры плагина.
Что исключить из кеша
- страницы входа, регистрации и восстановления пароля;
- личный кабинет, корзину, оформление заказа и страницы с персональными данными;
- страницы, где цена, остаток или доступность зависят от пользователя;
- формы, после отправки которых должен отображаться индивидуальный результат;
- служебные URL, AJAX-ответы и страницы интеграций, если расширение прямо не поддерживает кеширование.
Особое внимание уделите кукам. Если компонент меняет содержимое по cookie, один общий HTML-кеш может показать результат первого посетителя другим людям. Такая ошибка редко заметна на главной странице, но сразу проявляется в магазине, закрытом разделе или мультиязычном проекте.
Кеш модулей: самый полезный компромисс
У модуля в Joomla обычно есть настройка кеширования в его параметрах. Значение Use Global берёт общие правила Joomla, а No caching отключает кеш для конкретного блока. Название и расположение поля зависят от типа модуля и версии расширения.
Кешируйте меню, список последних материалов и блоки категорий, если они одинаковы для всех посетителей. Не кешируйте модуль корзины, блок авторизации, персональные рекомендации и виджет, который получает данные из внешнего API для каждого пользователя.
После изменения модуля очистите общий кеш Joomla. Если внешний сервис или само расширение хранит данные отдельно, очистите и его внутренний кеш: глобальная кнопка Joomla не обязана удалять файлы, созданные сторонним компонентом.
Что ломается чаще всего
Изменения не видны
Причиной может быть кеш страницы, кеш модуля, кеш браузера или CDN. Проверяйте результат в приватном окне, затем очищайте уровни по очереди. Если новый текст появляется только после жёсткого обновления браузера, проблема, вероятно, связана со статическими файлами, а не с кешем Joomla.
Показывается чужое или старое состояние
Отключите кеш страницы для проблемного URL и проверьте cookies, авторизацию и персональные параметры. Для магазина отдельно проверьте корзину, цены, остатки и оформление заказа. До выяснения причины лучше потерять часть ускорения, чем отдавать посетителям неправильные данные.
После включения появляется пустой блок
Модуль мог рассчитывать на данные, которые доступны только при полном выполнении запроса. Отключите кеш именно у этого модуля и посмотрите журнал ошибок Joomla и PHP. Если после отключения проблема исчезла, настройку расширения нужно проверять по его документации.
Сайт ускорился только для повторных визитов
Это нормальный признак прогретого кеша, но не доказательство, что сервер справляется с первым запросом. Сравните время ответа для пустого и заполненного кеша, количество SQL-запросов и потребление памяти. Для замеров используйте одинаковый URL, те же cookies и одинаковое число параллельных запросов.
Как выбрать режим для конкретного сайта
Для новостного сайта начните с кеша модулей и публичных страниц, а срок хранения подберите под частоту публикаций. Для корпоративного сайта с контактными формами исключите формы и страницы после отправки данных. Для интернет-магазина не включайте общий кеш страницы, пока не проверены цены, корзина, остатки и авторизация.
Если на сервере несколько приложений или контейнеров, файловый кеш должен быть доступен тому окружению, которое обрабатывает запрос. При раздельных локальных дисках один сервер может видеть новую копию, а другой — старую. В такой архитектуре выбор общего обработчика кеша и схема очистки требуют отдельной проверки по документации хостинга и расширения.
Что делать дальше
После включения кеша составьте список из пяти важных URL: главная, материал, категория, форма и страница с динамическим блоком. Для каждого проверьте гостевой просмотр, вход в аккаунт, отправку формы и появление изменений после очистки. Затем измеряйте время первого и повторного ответа, долю ответов 4xx/5xx и ошибки PHP.
Следующий шаг — не переход на самый агрессивный режим, а настройка исключений и автоматической очистки после публикации. Документацию конкретного расширения проверяйте отдельно: Joomla не знает, какие данные сторонний компонент считает безопасными для кеширования.
Контент-конвейер: Из одной идеи — текст, изображение, озвучка и ролик. Один заказ вместо четырёх.
Спросить за 60 ₽Источники: Joomla Documentation: Cache, Joomla Documentation: Cache Settings
Частые вопросы
Какой кеш включить первым в Joomla 5?
Почему после очистки кеша старая версия страницы всё ещё видна?
Можно ли включать кеш страницы для интернет-магазина?
Что выбрать: File, Redis или Memcached?
Может ли кеш сломать форму или страницу входа?
Нужно ли очищать кеш после каждой публикации материала?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.