Отключить кэш в joomla

Обновлено: 05.07.2024

Как сделать свои сайты на Joomla немного быстрее? Есть несколько вариантов стандартного кэширования которые могут нам помочь.

Эта статья дает описание о доступных вариантах и как вы можете включить их.

Этот текст заимствует из этой статьи по Клас Берлик. Все подробных технических объяснений и изображений взяты из Класа, поэтому большое спасибо ему.

Что такое кэш?

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

Есть ли кэширование в joomla? Да, конечно! Есть много способов, чтобы ускорить сайт Joomla, и мы часто видим хорошие результаты кэширования. Как Клас объясняет в своей статье, получение сохраненных страниц может сделать веб-сайт до 10 раз быстрее, чем ждать, когда они будут созданы.

Опция № 1: Настройки кэша

Перейти к Система> Глобальные настройки> Система. Вы увидите область под названием Кэш с этими тремя вариантами:

  • OFF - Кэширование отключено
  • ON - Стандартное кэширование
  • ON - Прогрессивное кэширование

Вот подсказка как объяснить разницу между этими двумя вариантами включения.

  • Стандартное кэширование : меньше кэша системы.
  • Прогрессивное кэширование : быстрее, больше кэш - система, включает в себя модули и кэшируется. Не подходит для очень больших сайтов.

Давайте немного более конкретно о разнице между этими двумя:

  • Стандартное кэширование : Это позволяет администратору сайта , выбрать , какие модули закэшируются. Вы можете войти в каждый модуль и включить для него свой кэш по отдельности. Стандартное кэширование лучше для часто обновляемых сайтов - вы можете удалить кэширование из каких-то модулей , которые содержат динамический контент.
  • Прогрессивное кэширование : делает снимок каждого уникального набора модулей на странице, так что многие модули могут быть кэшированным сразу. Это влияет на все модули и переопределяет любые параметры кэша внутри отдельных модулей. Прогрессивное кэширование лучше для сайтов , которые не обновляют часто.

Это изображение из Класа показывает некоторые из областей, которые могут быть охвачены прогрессивной кэш:

охват Joomla типа кэша

Вот пример модуля с настройками кэша. Обратите внимание на то, что нет «Стандартного кэширование» настройки. Есть только эти два варианта:

  • По умолчанию : кэшировать этот модуль , если Прогрессивное или Стандартное кэширование включено.
  • Нет : Не кэшировать этот модуль , если Стандартное кэширование включено.

Опция № 2: Обработчик кэширования

Система > Общие настройки > Система, есть вторая настройка называется "Обработчик кэширования". Это позволяет отказаться от установки по умолчанию, но это сложнее в использовании. Для того, чтобы использовать что-либо, кроме опции «Файл», необходимо установить соответствующее расширение PHP.

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

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

Опция № 4: Время кэширования

Система > Общие настройки > Система , третья настройка в кэше - время. Чем динамичнее ваш сайт, тем меньше это время должно быть.

Например, если вы оставите эту настройку на 15 минут, ваша страница будет сохраняться только каждые 15 минут. Если ваш сайт обновляется чаще, изменить это на меньшее время. Если ваш сайт редко обновляется, вы можете установить на большее число.

Вариант № 5: Плагин - Система - Кэш

Чтобы включить кэш страницы, перейдите в Расширения> Менеджер плагинов и включить системный плагин - Система - Кэш.

По словам Класа, вот что делает кэш страницы:

«Принимает снимки целых страниц, включая все -. Компоненты, модули, плагины и шаблон. Это самый быстрый, самый широкий и наименее гибкий подход всех вариантов кэширования.»

Это изображение ниже от Класа показывает, какие области будут охвачены кэшем страниц. Короче говоря, кэш страниц охватывает всю страницу.

Области, охватываемые страницы кэша Joomla

Вариант № 6: Использовать Кэш браузера

В том же самом плагине включить опцию: Использовать кэширование в браузере.

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

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

Содержание

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

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

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

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

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

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

Стандартный уровень кэширования

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

Прогрессивный уровень кэширования

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

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

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

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

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

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

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

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

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

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

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

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

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

Бытует мнение, что CMS Joomla 3 быстрая система. Это не совсем так. Даже «голый» сайт, то есть сайт без установленных сторонних расширений, без страниц и без модулей грузится более 2-х секунд. Причем, включение/ выключение кэширования на таком сайте не на что не влияет. Например, если провести анализ скорости загрузки пустого сайта Joomla 3, с включенной и отключенной функцией кэширования, время загрузки будут отличаться на 0,1-0,2 секунды.

speed joomla 3 1

Дело в том, что основные виды кэширования Joomla, сохраняют в памяти сформированные страницы, установленные модули и данные компонентов, а не файлы и расширения самой системы.

Три вида кэширования Joomla, три типа кэша Joomla

В Joomla предусмотрено три основных типа кэша, настройки, которых доступны из административной панели. Разделяются типы кэша по объектам кэширования, а именно:

Как видите, по доступности кэширования, типы кэша можно объединить в две группы:

Причем, кэш страниц уже включает кэш модулей и компонентов. По этим группам разделяются и настройки кэширования Joomla.

Особенности кэширования Joomla или приоритеты кэша

Понятно, что несколько типов кэша Joomla, должны иметь приоритетное построение вызова. То есть, должно существовать правило, откуда система возьмет сохраненную копию страницы или её части (модуля, изображения и т.п.). Важно понимать:

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

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

Пора посмотреть, где включаются и настраиваются типы кэша Joomla 3.

Как включить и настроить Кэш страниц, модулей и компонентов Joomla 3

Все виды кэширования, по умолчанию, выключены. Для использования кэширования на Joomla 3, каждый вид кэширования нужно, при необходимости активировать и настроить в административной панели сайта.

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

Кэширование страниц сайта включается на вкладке: Расширения→Менеджер плагинов→Система-Кэш.

Права доступа пользователей к управлению кэш настраиваются на вкладке: Система→Общие настройки→Менеджер кэша.

Практически, настроек в кэширование страниц Joomla нет. Есть только включение и выключение, и важное включение «Кэш браузера». Если используете кэш страниц, то обязательно включите «Кэш браузера». Правда при таком включении вам придется чистить кэш браузера вручную, чтобы увидеть сделанные вами изменения на сайте.

plugin sistem cache joomla 3 1

sistem cache joomla 3 1

Кэширование модулей сайта и кэширование представлений компонентов

Кэширование модулей сайта и кэширование представлений компонентов работают параллельно и включаются на вкладке: Система→Общие настройки→Система→Настройки кэш. Здесь всё просто и сложно одновременно:

В пункте «Кэш» вы можете не только включить/отключить кэш сайта, но и выставить его уровень. Есть два уровня кэширования:

  • Стандартное кэширование: показывает всем пользователям одинаковый набор модулей для всех страниц. По сути, модули не кэшируются;
  • Прогрессивное кэширование: более тяжелое кэширование, но позволяет кэшировать уникальное расположение модулей каждому посетителю. Прогрессивное кэширование не работает для громоздких сайтов, но прекрасно работает, если вы настраиваете уникальный показ модулей для каждой страницы сайта.

obshhie nastroyki cache joomla 3 1

Время жизни кэша

vremja cache obshhee 1

Отдельное кэширование модулей

С модулями не все просто. В системе есть статические и динамические модули. Например, модуль меню в виде списка это статический модуль, а модуль меню в виде выпадающих пунктов меню, это модуль динамический. К динамическим модулям относятся все модули, которые меняются со временем.

vremja cache moduley 1

Правило простое, статические модули кэшируем, часто меняющиеся модули, кроме модулей JavaScript (реклама AdSense) не кэшируем. Но и здесь не все просто: если вы включили прогрессивное кэширование, то страница вместе со всеми модулями «потянется» из кэша, и выставленное значение в настройках модуля «Не кэшировать» учитываться не будет. Выход простой. Ставим время кэширования динамического модуля несколько минут. Кстати, по умолчанию все время кэширования выставлено 900 секунд, и, вполне, может не перестраиваться. А вот настройка кэширования для модуля «По умолчанию» (Создать модуль→Дополнительные параметры→Кэширование→По умолчанию), означает, что будет использована настройка кэша в «Общих настройках»: Система→Общие настройки→Система→Настройки кэш.

Повторюсь: Есть две группы настроек кэширования: Система - Кэш в менеджере плагинов и «Настройка кэширования» в Общих настройках. Первый имеет приоритет над вторым, но фактически, эти две группы кэширования работают параллельно.

Итоги

Как и на всех CMS настройка кэширования дело хлопотное, но нужное, если есть желание попасть в топы выдачи.

Выводы

  • Включить кэширование на Joomla 3 нужно обязательно.
  • Установите время кэширования в соответствии со временем обновления на сайте;
  • Настройте кэш таким образом, чтобы было возможно отключить кэширование динамических модулей;
  • Какой тип кэширования включить решать вам: поэкспериментируйте, на готовом сайте, с различными комбинациями включения выключения видов кэширования. У меня минимальная скорость загрузки получается при выключенном плагине кэширования страниц и включенном Прогрессивном кэшировании с жизнью кэша 10080 минут.

И последний совет: Если удалили весь кэш, например, после изменения внешнего вида сайта или какого-либо редактирования, для его восстановления, как минимум зайдите на главную страницу сайта, а как максимум прогоните сайт, через любой генератор sitemap.

Было бы просто замечательно, если бы скорость загрузки сайта глобально зависела только от включения кэша. А это не так. Есть масса других проблем, которые нужно решать, чтобы сайт загружался быстрее. Об этом в других статьях сайта.

Благодаря кэшу Joomla, при просмотре очередного сайта, информация о нем частично сохраняется на компьютерах пользователя и при повторном посещении позволяет не загружать весь исходный код сайта заново, а лишь дополнять уже имеющиеся данные. В Joomla реализовано 3 типа кэширования, которые помогут вам увеличить быстродействие вашего сайта: кэширование страниц, стандартное кэширование и прогрессивное кэширование. Сайт будет работать значительно быстрее, ведь ему не придется постоянно загружать большие объемы информации. Стоит уточнить, что Joomla самостоятельно не использует кэш. Кэширование необходимо включить, и тогда уже программа будет сохранять материалы в отдельную папку.

Использование Кэша Joomla

Первое что ждут от вашего сайта пользователи - это высокая скорость его работы. Если пренебречь этим пунктом, то ваш проект может обернутся провалом, но не стоит волноваться! Именно для предотвращения этого Joomla и была создана. В этой статье будет рассмотрено, как реализован кэш в системе Joomla и как можно использовать кэширование для оптимизации вашего сайта.

Настройка кэша

Чтоб настроить кэширование необходимо пройти по указанной директории: System > Global configuration > System. В опциях вы увидите настройки кэша. В графе System Cache расположились три варианта работы кэша. Какой из вариантов вам необходим? Ответ зависит от ваших потребностей. Рассмотрим все три варианта.

Настройка кэша

Вариант 1: Кэширование запрещено (Caching disabled)

Этот вариант запрещает кэширование. Если вам не нужно встроенное кэширование Joomla, во избежание ошибок в работе сайта и багов данную функцию можно отключить, выбрав этот вариант.

Вариант 2: Стандартное кэширование (Conservative caching)

Стандартное кэширование - это самый обыкновенный способ сохранения информации. Когда пользователь заходит на сайт, Joomla ищет информацию в специальных папках кэша на компьютере этого пользователя, и если находит, то загружает именно ее. Если же Joomla не находит нужную информацию, ее нет, или она уже не актуальна, то система загрузит новый пакет информации в папку кэша и загрузит ее. И один и тот же пакет информации будет приходить всем пользователям до тех пор, пока пакет будет действительным. Это самый популярный вариант среди владельцев сайтов и IT разработчиков.

Вариант 3: Прогрессивное кэширование (Progressive caching)

В случае, если модули вашего сайта имеют не изменчивое содержание можно использовать прогрессивное кэширование. Данный вариант подразумевает, что когда пользователь заходит на сайт, Joomla ищет уникальный пакет информации данного посетителя в специальных папках кэша на компьютере этого пользователя, и если находит, то загружает именно его. Если же Joomla не находит нужную информацию, ее нет, или она уже не актуальна, то система загрузит новый пакет уникальной информации для данного посетителя в папку кэша и загрузит ее. И каждый раз, когда новый пользователь будет заходить на сайт, ему в компьютер будет загружаться новый уникальный пакет информации, отличающийся от всех предыдущих, отправленных другим пользователям.

Прогрессивное кэширование

Обработка кэша

В настройках Кэша можно найти такую функцию, как «Cache handler» - сортировщик или обработчик кэша. Изменив эту опцию вы можете задействовать иную систему кэширования вместо встроенной, однако данная операция требует профессиональных навыков в сфере IT и в частности профессиональных навыков работы с Joomla.

Обработка кэша

Время кэширования

Так же в настройках можно найти графу с указанием времени кэширования («Cache time») в минутах. Данный показатель обозначает время, в течении которого кэш любой страницы вашего сайта остается действительным, и будет загружаться пользователю. Данный параметр стоит уменьшить, если ваш сайт динамичен и достаточно часто обновляется, однако если содержимое вашего сайта остается постоянным долгое время, то дефолтное значение (15 минут) не стоит изменять.

Время кэширования

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

Теперь пройдите из каталога Extensions в Plugins. Для быстроты нахождения введите слово «Cache» в поле быстрого поиска, и вы увидите плагин “System - Page Cache”. Включите данный плагин чтобы кэширование страниц работало. Для этого необходимо нажать на иконку крестика в графе «Status».

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

Кэширование браузера

В том же месте (Extensions> Plugins, плагин «System - Page Cache») можно включить функцию кэширования браузера. Стоит напомнить, что для удобства нахождения необходимого плагина надо использовать строку быстрого поиска. Нажмите на строку плагина чтоб открыть его настройки. В открывшемся окне включите кэширование браузера, выбрав значение «Yes». Теперь кэширование будет происходить с помощью самого браузера пользователя, что значительно упростит задачу системы.

Кэширование браузера

Подведение итогов

Используя вышеописанные функции кэширования, вы с легкостью сможете кардинально ускорить работу вашего сайта. Так же существуют стороние расширения Joomla для управления кешем.

Понравилась ли вам эта статья? Оставляйте свои комментарии ниже и предлагайте свои идеи. В будущем будет еще больше полезных статей про систему Joomla!

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

Содержание

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

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

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

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

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

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

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

Стандартный уровень кэширования

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

Прогрессивный уровень кэширования

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

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

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

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

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

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

1. СистемаОбщие настройки

2. вкладка Система

3. раздел Настройки кэша

4. Обработчик кэширования

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

5. Путь к каталогу кэша

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

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

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

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

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

8. Системный кэш

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

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

Читайте также: