Меню

Кэширование в браузере настройка joomla



Обзор JotCache. Кэш браузера Joomla

  • Тип – компонент кэша Джумла.

JotCache – это бесплатный компонент кэширования Joomla, который может ускорить сайт и снизить нагрузку на сервер. В предыдущей статье «Обзор JotCache. Кэширование Joomla 3» мы рассмотрели основные возможности расширения, общий «алгоритм» его настройки, ознакомились с тестами и результатами работы сайта с\без JotCache и начали более дательный обзор его интерфейса. В этой статье поговорим об исключениях «элементов» сайта из кэширования и о настройках плагина кэша Джумла.

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

Исключить URL

В разделе Исключить URL (рисунок ниже) JotCache позволяет включить или исключить кэширование страниц, создаваемых определёнными компонентами. Обратите внимание, что в настройках системного плагина JotCache Вы устанавливаете, для чего служит данный раздел – для включения в кэширование или исключения из него (вкладка Плагин, опция Раздел кэширования URL). В связи с этой настройкой раздел может называться Включить URL. Тогда все правила, заданные в нём, будут означать, что эти страницы нужно включать в кэш Джумла. В дальнейшем, когда пишу «исключить», подразумевается, что можно и включить – в зависимости от настроек плагина.

JotCache

Не обязательно исключать кэширование всего компонента. В моём примере полностью исключены из кэша AJAX комментарии Cсomment Pro и SEF компонент sh404SEF. Cсomment Pro исключил из-за проблемы с дублированием страниц, а вот sh404SEF исключил из-за того, что при запросе несуществующей страницы первый раз сервер отдавал ответ 404, а при последующих запросах этой несуществующей страницы — 200, так как страница с неправильным URL попадала в кэш Джумла.

Можно исключить из кэширования не все страницы компонента, а отдельные его страницы, в URL-адресе которых содержатся определённые запросы. Например, так было сделано для кэширования JoomShopping 4 (рисунок ниже). Для этого в столбце Просмотр исключений и параметры запроса напротив «jshopping» были добавлены параметры запроса через запятую: «controller=cart,controller=user,controller=checkout,controller=wishlist,controller=search» (без кавычек). Плюс, исключите позицию шаблона, где размещается корзина.

Кэширование Joomla

Для корректного кэширования VirtueMart 3 в качестве исключений нужно задать «cart,user,orders,askquestion,invoice,pluginresponse,state». Плюс, исключите позицию шаблона, где размещается корзина.

Параметры запроса можно посмотреть в URL-адресе страницы, где возникают проблемы с кэшем. Если у Вас включены ЧПУ, или отключите их, чтобы видеть не ЧПУ URL, или на вкладке Обзор в JotCache нажмите на иконку глазика напротив «проблемной» страницы.

В примере со страницей 404 и sh404SEF достаточно задать в исключениях параметров запроса значение «error404».

Исключить позицию

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

Кэш Джумла

Кэш браузера Joomla

Всё рассмотренное ранее кэширование – это серверное кэширование. Оно существенно увеличивает скорость загрузки и сокращает нагрузку на сервер (за счёт сокращения времени генерации страницы).

А вот кэширование в браузере на стороне клиента может значительно увеличить скорость доступа пользователя к странице, причём без нагрузки на сайт. Страницы закэшированные в браузере не загружаются с сервера сайта. Подобный кэш приемлем только для очень статических страниц. Например, информация о компании, условия оплаты и доставки и так далее. Суть в том, что после посещения такой страницы браузер пользователя не будет обращаться к серверу сайта за получением данной страницы в течение всего времени жизни кэша браузера, который Вы задали в настройках JotCache на вкладке Базовые. Есть исключение – пользователь очистил кэш своего браузера или принудительное обновление страницы.

Для работы данной опции в настройках плагина JotCache на вкладке Дополнительные параметры должна быть включена опция Кэширование браузера (смотрите всплывающее окно!).

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

Читайте также:  Настройка процессора в реестре

Кэш браузера Joomla

Плагин кэширования JotCache

Большинство настроек собраны в системном плагине JotCache. Настройки в нём разделены на пять вкладок.

  1. Плагин.
  2. Описание. Тут есть краткое текстовое описание JotCache и ссылка на справочную систему на сайте разработчика (на английском языке).
  3. Режимы работы кэша.
  4. Хранилище кэша.
  5. Дополнительные параметры.

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

Плагин

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

Плагин кэширования Joomla

Режим работы кэша

JotCache позволяет использовать разные режимы работы кэша Joomla в зависимости от браузера/устройства (рисунок ниже). Это может быть полезно для устранения конфликтов в отображении сайта. Особенно в случае с Internet Explorer.

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

Режим работы кэша

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

Хранилище кэша

JotCache позволяет хранить файлы кэша как непосредственно на жёстком или SSD-диске Вашего хостинга – «Файл», так и в оперативной памяти сервера – «Memcache» или «Memcached» (рисунок ниже). Для возможности использования «Memcache» или «Memcached» нужно, чтобы у Вас на сервере/хостинге была такая возможность. Если у Вас VPS или выделенный сервер, Вы сможете установить и настроить нужный модуль.

Если у Вас хостинг на SSD-дисках, то не думаю, что Вы увидите разительные отличия между кэшированием «Файл» и «Memcache» или «Memcached». А вот для владельцев хостингов на обычных дисках могут быть положительные отличия.

При тестировании мной кэширования «Memcached», не в Joomla 3.5.1 и не с JotCache, а со стандартным кэшем Joomla, я не заметил улучшения скорости или снижения нагрузки. Даже наоборот – скорость уменьшилась. Возросло количество потребляемой памяти (ОЗУ) и увеличилась нагрузка на процессор. Это произошло в результате появления нового процесса «Memcached». Сначала предположил, что, возможно, просто не настроил сам модуль Memcached на сервере. Или моего VPS (процессор 2×2.8 ГГц, 1024 Мб ОЗУ, SSD) недостаточно для того, чтобы увидеть положительный результат. К тому же нагрузки на сервер\сайт не очень большие, да и хранение кэша в файле на SSD — это уже хорошо (по сравнению с «обычными» винчестерами). Спустя некоторое время в статье «Memcached и PHP ликбез» нашёл объяснение: «…применять кэширование стоит только на высоконагруженных ресурсах. Ведь каждый раз, подключаясь к серверу Memcached, вы тратите драгоценное время, что скорее всего не будет оправданным. … Также не стоит забывать о расходовании памяти! Учтите, что положив 300 мегабайт в кэш, вы отняли у себя 300 мегабайт ОЗУ. »

Хранилище кэша

Дополнительные параметры

На вкладке Дополнительные параметры (рисунок ниже) можно включить кэш браузера Joomla (одноимённая опция).

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

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

Читайте также:  Подключение и настройка терминала сбора данных

Исключить URL адреса, содержащие запрос. Все страницы, в URL-адресе которых есть запрос (часть URL-адреса после символа ‘?’) будут исключены из кэширования. Включайте данную опцию только тогда, когда для опции Включить SEF (ЧПУ) в общих настройках Joomla задано Да.

JS и CSS интеграция. Позволяет настроить интеграцию JotCache с компонентами оптимизации скорости загрузки сайта JCH Optimize, Rokbooster или Scriptmerge, для корректного кэширования оптимизированных страниц и очистки их кэша.

Дополнительные параметры

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

Как видите JotCache, в отличие от стандартной системы кэширования, позволяет весьма тонко настроить кэш Джумла, добившись увеличения производительности, снижения нагрузки на сервер и сохранив функциональность и внешний вид сайта. Отмечу, что для проектов, где применяется большое количество динамического контента, процесс настройки может быть непростым, потребует много времени и внимательного изучения документации. При более динамичном содержимом сайта менее заметный эффект от кэширования.

Источник

Joomla3-x.ru

Вступление

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

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

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

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

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

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

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

  1. кэш страниц (для пользователей);
  2. кэш модулей и компонентов (для пользователей и зарегистрированных пользователей).

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

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

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

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

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

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

Читайте также:  Настройка фильтра для joomshopping

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

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

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

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

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

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

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

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

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

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

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

Время жизни кэша, это время в минутах или секундах (для модулей Joomla), сколько сохраненная копия будет лежать в папке «cache» в корне сайта. Здесь совет не уникален, выставите время жизни кэша по сроку обновления вашего сайта. Если статьи или новости появляются на сайте ежедневно, то ставьте время общего кэширования 1440 (минут=24 часа). Это непринципиальный пункт настроек, потому что, вы всегда сможете очистить кэш вручную, на вкладке Система→Общие настройки или по FTP соединению вручную вычистив папку cache (все кроме, файла index.php).

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

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

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

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

Итоги

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

Выводы

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

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

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

Источник

Adblock
detector