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