Функционал CMS Joomla позволяет значительно увеличить скорость загрузки сайта посредством кэширования данных на сервере. Для управления кэшем в Joomla предусмотрен ряд настроек в различных областях системы.
Что такое серверное кэширование?
Сайты на CMS Joomla являются динамическими: перед тем, как отобразиться в браузере, веб-страница формируется через взаимодействие PHP-кода с базой данных. Это предполагает огромное множество действий со стороны сервера, скорость выполнения которых может сильно падать, если к сайту одновременно выполняется много запросов (большое количество пользователей в единицу времени), в результате чего время загрузки страниц сайта может сильно возрастать.
Облегчить работу сервера позволяет серверное кэширование: веб-страницы целиком или частично в виде конечного HTML-кода будут сохраняться на сервере в виде временных файлов (кэша) после генерации и отдаваться при запросах пользователями.
Виды кэширования в Joomla
Джумла предусматривает 3 вида кэширования данных на сервере:
- стандартный уровень,
- прогрессивный уровень,
- кэширование страниц.
Теперь о каждом по порядку.
Стандартный уровень
Обеспечивает создание файлов кэша для всех элементов веб-страниц, в том числе модулей, в настройках которых не отключено кэширование. Подойдёт для любого сайта.
Прогрессивный уровень
Аналогично стандартному, за исключением того, что все модули будут кэшироваться в один файл, независимо от их индивидуальных настроек. Такой вариант не подходит для сайтов с динамическими модулями, контент которых может меняться в зависимости от действий пользователей (например, модуль виртуальной корзины). Также проблемы будут с отображением модуля типа Навигатор (Breadcrumbs), который работает некорректно при активном прогрессивном кэшировании, вне зависимости от настроек кэширования самого модуля.
Кэширование страниц
Такой вариант предполагает сохранение копий веб-страниц целиком, в том числе компонентов. Этот тип кэширования самый эффективный в отношении скорости загрузки и подойдёт для большинства лэндингов, но не для сайтов с постоянно обновляющимся контентом.
Настройка кэширования в Joomla
Теперь о том, как активировать и настроить серверное кэширование.
Настройка стандартного или прогрессивного кэширования
- Система → Общие настройки
- вкладка Система
- раздел Настройки кэша
- опция Обработчик кэширования
Если на сервере активированы прекомпиляторы для обработки кэша, они будут в выпадающем списке. Если выбор отсутствует или вызывает затруднение, выберите значение Файл.
- опция Путь к каталогу кэша
Если не заполнять, то все временные файлы будут храниться в папке
/cache/
. - опция Время кэширования
Подразумевает время хранения временных файлов в минутах. Рекомендуем выставлять значение, равное приблизительной частоте обновления контента на сайте, но не более 1440 минут (одних суток) во избежание каких бы то ни было проблем.
- опция Специфическое кэширование для платформы
Следует активировать, когда код веб-страниц отличается в зависимости от устройства вывода (например, для мобильных устройств применяется иная вёрстка).
- опция Системный кэш
Собственно, эта опция и определяет тип кэширования (стандартный или прогрессивный).
- по окончанию настройки жмем Сохранить или Сохранить и закрыть
Настройка кэширования страниц
Эта функция активируется посредством системного плагина, при этом в Общих настройках сайта (вкладка Система, раздел Настройки кэша) должно быть указано Время кэширования.
- Расширения → Плагины
- плагин Система - Кэширование страниц
- состояние Включено
Настройки плагина позволяют активировать кэширование в браузере (не рекомендуется включать, т. к. в таком случае вся страница, в том числе HTML-код, будет храниться в браузере и отображаться независимо от внесенных на сайте изменений), а также исключать кэширование отдельных страниц по пунктам меню и URL-адресам.
Очистка серверного кэша в Joomla
При изменениях на страницах сайтах до истечения срока действия файлов кэша потребуется их своевременное удаление. Для этого в Джумле предусмотрена стандартная функция:
- Система → Очистить весь кэш
Для удаления всех временных файлов
- Система → Очистить устаревший кэш
Для удаления просроченных файлов кэша.
Эту функцию значительно упрощает плагин Cache Cleaner от разработчика Regular Labs, позволяющий очищать кэш по кнопке в фоновом режиме (без перехода на отдельную страницу в админке). Платная версия расширения позволяет устанавливать автоматическую очистку кэша при любых (или определенных) изменениях на сайте.