Функционал CMS Joomla позволяет значительно увеличить скорость загрузки сайта посредством кэширования данных на сервере. Для управления кэшем в Joomla предусмотрен ряд настроек в различных областях системы.

Что такое серверное кэширование?

Сайты на CMS Joomla являются динамическими: перед тем, как отобразиться в браузере, веб-страница формируется через взаимодействие PHP-кода с базой данных. Это предполагает огромное множество действий со стороны сервера, скорость выполнения которых может сильно падать, если к сайту одновременно выполняется много запросов (большое количество пользователей в единицу времени), в результате чего время загрузки страниц сайта может сильно возрастать.

Облегчить работу сервера позволяет серверное кэширование: веб-страницы целиком или частично в виде конечного HTML-кода будут сохраняться на сервере в виде временных файлов (кэша) после генерации и отдаваться при запросах пользователями.

Виды кэширования в Joomla

Джумла предусматривает 3 вида кэширования данных на сервере:

  1. стандартный уровень,
  2. прогрессивный уровень,
  3. кэширование страниц.

Теперь о каждом по порядку.

Стандартный уровень

Обеспечивает создание файлов кэша для всех элементов веб-страниц, в том числе модулей, в настройках которых не отключено кэширование. Подойдёт для любого сайта.

Прогрессивный уровень

Аналогично стандартному, за исключением того, что все модули будут кэшироваться в один файл, независимо от их индивидуальных настроек. Такой вариант не подходит для сайтов с динамическими модулями, контент которых может меняться в зависимости от действий пользователей (например, модуль виртуальной корзины). Также проблемы будут с отображением модуля типа Навигатор (Breadcrumbs), который работает некорректно при активном прогрессивном кэшировании, вне зависимости от настроек кэширования самого модуля.

Важно!
Если на сайте используется модуль типа Навигатор, то не используйте прогрессивное кэширование, а при стандартном кэшировании отключайте кэширования самого модуля.

Кэширование страниц

Такой вариант предполагает сохранение копий веб-страниц целиком, в том числе компонентов. Этот тип кэширования самый эффективный в отношении скорости загрузки и подойдёт для большинства лэндингов, но не для сайтов с постоянно обновляющимся контентом.

Настройка кэширования в Joomla

Теперь о том, как активировать и настроить серверное кэширование.

Настройка стандартного или прогрессивного кэширования

  1. СистемаОбщие настройки
  2. вкладка Система
  3. раздел Настройки кэша
  4. опция Обработчик кэширования

    Если на сервере активированы прекомпиляторы для обработки кэша, они будут в выпадающем списке. Если выбор отсутствует или вызывает затруднение, выберите значение Файл.

  5. опция Путь к каталогу кэша

    Если не заполнять, то все временные файлы будут храниться в папке /cache/.

  6. опция Время кэширования

    Подразумевает время хранения временных файлов в минутах. Рекомендуем выставлять значение, равное приблизительной частоте обновления контента на сайте, но не более 1440 минут (одних суток) во избежание каких бы то ни было проблем.

  7. опция Специфическое кэширование для платформы

    Следует активировать, когда код веб-страниц отличается в зависимости от устройства вывода (например, для мобильных устройств применяется иная вёрстка).

  8. опция Системный кэш

    Собственно, эта опция и определяет тип кэширования (стандартный или прогрессивный).

  9. по окончанию настройки жмем Сохранить или Сохранить и закрыть

Настройка кэширования страниц

Эта функция активируется посредством системного плагина, при этом в Общих настройках сайта (вкладка Система, раздел Настройки кэша) должно быть указано Время кэширования.

  1. РасширенияПлагины
  2. плагин Система - Кэширование страниц
  3. состояние Включено

Настройки плагина позволяют активировать кэширование в браузере (не рекомендуется включать, т. к. в таком случае вся страница, в том числе HTML-код, будет храниться в браузере и отображаться независимо от внесенных на сайте изменений), а также исключать кэширование отдельных страниц по пунктам меню и URL-адресам.

Упоминаемые термины:

Joomla, Админка, CMS