Кэширование сайта - ТОП Плагинов Wordpress

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

Необходимо понимать, что работу с данными можно производить как на стороне клиента, так и на сервере.

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

Как время загрузки сайта влияет на позиции в Google (инфографика):

Виды кэширования: браузерное (клиентское), серверное

1) Браузерное кэширование или клиентское кэширование. Представляет собой составление для браузера команды использовать имеющуюся кэшированную копию. Работа такого кэширования основана на том, что при повторном посещении, браузеру отдаётся заголовок HTTP 304 Not Modified, а сама страница или картинка загружаются из локального пользовательского кэша. Получается, что вы экономите на трафике между браузером посетителя и хостингом сайта. Соответственно, страница вашего сайта начинает загружаться быстрее.

Это первый уровень кэширования, который состоит в отдаче заголовка «expired» и заголовка «304 Not Modified».

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

2) Серверное кэширование. Под серверным кэшированием понимаются все виды кэширования (PHP-кода, запросы к базе данных и ответы сервера), при котором данные хранятся на серверной стороне. Эти данные не доступны клиентским браузерам. Кэш создаётся и хранится по принципу «один ко многим» (многие, в данном случае, — это клиентские устройства). Современные сервисы для серверного кэширования: OPCache, Memcached и Redis.

Какой из способов выбрать

Эффективно работают связки OPCache+Redis и OPCache+Memcached, потому что каждый компонент из пары выполняет свои задачи. Redis и Memcached можно компоновать с OPCache, но включать все три сервиса не стоит. Обычно решение принимают в пользу Redis, поскольку он новее, обладает большим функционалом и позволяет решать больше задач, масштабироваться с помощью расширения серверной базы. Этим вариантом пользуются крупные проекты или с перспективой скорого роста.

Что нужно кешировать в Wordpress? Плагины кэширования для WordPress

Для начала нужно обзнакомиться с официальной документацией по ускорению WordPress Optimization – Advanced Administration Handbook.

Минимально нужно настроить:

  • Кэширование объектов. Постоянный кеш объектов делает работу базы данных сайта более эффективной, что приводит к улучшению времени загрузки, поскольку WordPress может гораздо быстрее извлекать содержимое и настройки вашего сайта. Использование постоянного кэша объектов помогает ускорить загрузку страниц, сокращая количество обращений к базе данных с вашего веб-сервера. Например, данные о настройках вашего сайта должны быть доступны для каждого просмотра страницы. Без постоянного кэша объектов ваш веб-сервер должен считывать эти настройки из базы данных для обработки каждого просмотра страницы. Эти дополнительные обращения к базе данных увеличивают время отклика веб-сервера, например, время получения первого байта (TTFB), и могут быстро привести к перегрузке сервера базы данных во время пиковых нагрузок. Для поиска плагинов умеющих это делать используйте ссылку https://wordpress.org/plugins/search/object+cache/

Сообщение «Вам следует использовать постоянный кеш объектов» появляется, если в WordPress не активирован drop-in object-cache.php. Этот файл подключает Redis/Memcached или другой persistent object cache. 👉 Чтобы надпись исчезла, нужно именно этот drop-in. Просто page cache (HTML-кеш) её не убирает.

Чтобы убрать эту надпись «Вам следует использовать постоянный кеш объектов» или устанавливаете W3 Total Cache, у ктрого есть настройки для подключения Redis/Memcached или совсем простой плагин Redis Object Cache. Соответственно Redis должен быть установлен на сервере.

Если цель — просто поставить, включить и забыть, без танцев с конфигами и постоянной настройкой, то для простых сайтов на WordPress есть несколько вариантов, которые реально работают “из коробки”:

  1. любой :) бесплатный плагин кеширования, например WP Super Cache
  2. WebP Express или QuickWebP — для конвертации картинок в WebP.
  3. Опционально: Autoptimize для минификации JS/CSS.

WP Super Cache является одним из самых популярных плагинов для кэширования, он используется на миллионах сайтов по всему миру.

Настройка WP Super Cache в связке c Nginx и Apache.

Плагин: WP Fastest Cache платный, есть бесплатная версия. В премиум-версии есть много функций, таких как Minify Html, Minify Css, включить сжатие Gzip, использование кэширования в браузере, объединить CSS, Объединить JS, Отключить Emoji.

После установки плагина, для настройки достаточно включить только 3 галочки в полях:

  1. Система: Включить.
  2. Предварительная загрузка: Автоматическая предварительная генерация кэша всего сайта.
  3. Зарегистрированные пользователи: Не показывать кешированную версию для авторизованных пользователей.

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

Дополнительные настройки доступные если вы купили плагин WP Fastest Cache. Включите

  • Кэш виджетов: Сокращение количества SQL-запросов
  • Минификация HTML: Вы можете уменьшить размер страницы
  • Минификация CSS: Вы можете уменьшить размер CSS-файлов
  • Кэш браузера: Сокращение времени загрузки страниц для повторных посетителей
  • Шрифты Google: Асинхронная загрузка шрифтов Google

Не включать настройки

  • Компрессия Gzip - потому что она обычно включена на уровне веб сервера. Как проверить читайте в разделе Включение сжатия текста.

W3 Total Cache - для использования всех возможностей включить модули Apache, HTML Tidy extension(required for HTML Tidy minifier suppport)

a2enmod headers
a2enmod expires
aptitude install php-tidy
service apache2 restart

W3 Total Cache (W3TC) улучшает SEO, Core Web Vitals и общее взаимодействие с пользователем вашего сайта за счет повышения производительности сайта и сокращения времени загрузки за счет использования таких функций, как интеграция сети доставки контента CDN и новейших передовых практик.

Если вы используете Nginx, не забудьте подключить конфигурационный файл W3 Total Cache (/var/www/yoursite.com/nginx.conf) в файл с описанием вашего виртуального домена:

nano /etc/nginx/sites-enabled/yoursite.com.conf
 
server {
     server_name yoursite.com;
 
# Settings W3 Total Cache
include /var/www/yoursite.com/nginx.conf;
...

W3 Total Cache поддерживает кеширования Redis и Memcache.

Системное окружение сайта: панель управления хостингом CloudPanel, Nginx + PHP-FPM, PHP 8.3.

  1. В админке WordPress → Плагины → Добавить новый → ищем и ставим W3 Total Cache.
  2. Включаем плагин.

Будет несколько сообщений, например "правила nginx.conf были обновлены. Перезапустите сервер nginx, чтобы обеспечить согласованное взаимодействие с пользователем." Мы понимаем что реального подключения не произошло и его нужно подключать вручную. Если сайт маленький и нагрузка небольшая, можно пока не подключать правила к Nginx — Redis Object Cache + page cache через PHP уже дают заметный прирост.

Теперь идём на вкладку Performance → General Settings (Performance → Основные настройки):

  • Page Cache → Enable (Disk: Enhanced) (Кэш страницы → Включить, метод: Disk: Enhanced.) PHP будет сохранять готовые HTML-страницы на диск, чтобы ускорять выдачу. Кэш страниц - это техника, используемая для ускорения работы веб-сайта путем хранения копии сгенерированной HTML-страницы в памяти или на диске сервера и последующей выдачи этой копии последующим посетителям вместо того, чтобы каждый раз генерировать страницу с нуля. Это может привести к значительному увеличению скорости работы сайтов с высокой посещаемостью или динамическим содержимым.
  • Database Cache → Off (Кэш базы данных → Выключено). На Nginx/PHP-FPM пользы мало, поэтому оставляем отключённым).
  • Object Cache → Enable, Method: Redis (Кэш объекта → Включено, метод: Redis.) Сохраняет результаты SQL-запросов между страницами, ускоряет работу админки и сайта. Кэширование объектов сохраняет в памяти часто используемые запросы к базе данных и сложные структуры данных, что снижает необходимость многократного их извлечения из базы данных.
  • OpCode Cache (Кэш OpCode): PHP 8.3 уже использует встроенный OPcache, дополнительного включения не требуется. В настройках W3 Total Cache вы увидите что уже включен на сервере через Zend OPcache. В плагине ничего менять не надо.

Сохраняем настройки (Save all settings).

После установки плагина Hyper Cache в Wordpress, для его включения добавьте опцию в файл wp-config.php

define('WP_CACHE', true);

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

Удаление WP Rocket вручную, если нет доступа к админской панели сайта:

Если вы вручную удалите WP Rocket из папки плагинов в /wp-content/plugins/, вам также придется заняться очисткой сам. Вот список того, что можно удалить/отредактировать:

  1. Удалите /wp-content/cache/ и /wp-content/wp-rocket -config/ папки
  2. Удалите файл /wp-content/advanced-cache.php
  3. Отредактируйте файл htaccess, удалив все, что находится между #BEGIN WP ROCKET и #END WP ROCKET< /а>
  4. Отредактируйте файл wp-config.php, установив для define('WP_CACHE', true) значение false или удаление строки
  5. Удалите wp_rocket_settings, wp_wpr_rucss_used_css, wp_wpr_rocket_cache и переходные процессы и cronjob в таблице параметров WordPress вашей базы данных

Breeze это бесплатный плагин кэширования WordPress, разработанный командой хостинг провайдера Cloudways.

Обзор и использование плагина в статье Breeze плагин кэширования WordPress WooCommerce

WP-Optimize — это универсальный плагин повышения производительности WordPress, который кэширует сайт, очищает базу данных и сжимает изображения.

  • Seraphinite Accelerator плагин кеширования. Использует быстрый файловый кеш для оптимизации работы сайта. Ленивая загрузка: Оптимизирует загрузку медиафайлов и скриптов, что улучшает скорость страниц даже при обновлении контента.

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

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!