Настройка плагина кэширования W3 Total Cache

DmitriyDenisov.com Logo

W3 Total Cache – это эффективный, надежный и очень функциональный плагин кэширования для WordPress, который позволяет значительно улучшить быстродействие сайта, повысить скорость его загрузки и снизить нагрузку на сервер. В данной статье мы рассмотрим примеры оптимальных настроек плагина W3 Total Cache для использования как на виртуальном хостинге, так и на выделенном сервере.

W3 Total Cache

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

Скачать настройки

Для максимального удобства вы можете скачать файлы импорта настроек плагина W3 Total Cache. Импортировать настройки можно в меню Performance > General Settings > Import / Export Settings.

Все что вам нужно, это при необходимости указать путь к карте сайта в формате XML на странице Page Cache в разделе Cache Preload после импорта настроек и очистить кэш. На этом настройка плагина W3 Total Cache будет завершена.

General Settings

На данной странице находятся общие настройки плагина W3 Total Cache. Страница доступна в меню Performance > General Settings.

General

W3 Total Cache > General Settings > General
Performance > General Settings > General
  • Preview mode – отвечает за включение режима предварительного просмотра. Данный режим активирует плагин только для пользователя, который производит его настройку. Функция полезна при работе с проектами, которые уже находятся в сети и имеют определенный трафик.

Page Cache

W3 Total Cache > General Settings > Page Cache
Performance > General Settings > Page Cache
  • Page Cache – активация кэширования страниц. Позволяет снизить время ответа сервера, увеличить скорость загрузки страниц, а также снизить нагрузку на сервер за счет кэширования страниц сайта.
  • Page Cache Method — метод кэширования страниц сайта. Рекомендуемое значение — Disk: Enhanced (кэш будет храниться на жестком диске). На сегодняшний день практически все сервера оборудованы производительными SSD дисками, поэтому данный вариант является оптимальным. Использование методов, предполагающих хранение кэша страниц в оперативной памяти рекомендуется только в том случае, если вы уверены, что ее объема будет достаточно для хранения кэша.

Minify

W3 Total Cache > General Settings > Minify
Performance > General Settings > Minify
  • Minify – активация минификации файлов. Позволяет увеличить скорость загрузки сайта за счет сжатия CSS, JavaScript и HTML файлов и удаления из них ненужного кода, например, комментариев.
  • Minify mode — режим минификации. Рекомендуемое значение — Auto. В этом случае плагин W3 Total Cache самостоятельно определяет файлы для минификации и порядок их подключения. Если вы хотите указать файлы вручную — выберите значение Manual (не рекомендуется).
  • Minify Cache Method – метод кэширования. Рекомендуемое значение — Disk. Я всегда рекомендую хранить статические файлы на жестком диске, так как в большинстве случаев это самый оптимальный вариант с точки зрения надежности и производительности.
  • HTML minifier — минификатор HTML кода. Рекомендуемое значение — Minify (default).
  • JS minifier – минификатор JavaScript кода. Рекомендуемое значение — JSMin (default).
  • CSS minifier – минификатор CSS кода.  Рекомендуемое значение — Minify (default).

Если после активации минификации возникают проблемы с работой сайта — поэкспериментируйте с разными типами минификаторов.

Opcode Cache

W3 Total Cache > General Settings > Opcode Cache
Performance > General Settings > Opcode Cache
  • Opcode Cache – активирует кэширование скомпилированного PHP кода. Рекомендуемое значение — Opcode: Zend Opcache. Обычно функция доступна только на VPS/VDS.
  • Validate timestamps – оставляем флажок для корректного обновления кэша без перезагрузки модуля PHP.

Database Cache

W3 Total Cache > General Settings > Database Cache
Performance > General Settings > Database Cache
  • Database Cache – активирует кэширование запросов к базе данных. Позволяет сократить время генерации страниц. Рекомендуется использовать как альтернативу объектному кэшу, если последний по какой-либо причине не может быть использован. Кэширование запросов к БД можно использовать как отдельно, так и одновременно с кэшированием объектов.
  • Database Cache Method — метод кэширования запросов к БД. Рекомендуемое значение — Memcached (если установлен) или любой другой вариант, предполагающий хранение кэша в оперативной памяти, а не на жестком диске. Кэширование запросов к БД может создавать огромное количество файлов и папок, которые будут сильно нагружать дисковую подсистему сервера и негативно влиять на его быстродействие.

Object Cache

W3 Total Cache > General Settings > Object Cache
Performance > General Settings > Object Cache
  • Object Cache – активация кэширования объектов. Позволяет кэшировать данные, повторное получение которых может быть дорогостоящим с точки зрения вычислительных мощностей, например, сложные запросы к базе данных.
  • Object Cache Method — метод кэширования объектов. Как и в случае с кэшем запросов к базе данных, объектный кэш рекомендуется хранить в оперативной памяти.

Browser Cache

W3 Total Cache > General Settings > Browser Cache
Performance > General Settings > Browser Cache
  • Browser Cache – активирует клиентское кэширование. Позволяет ускорить загрузку сайта при повторном обращении за счет кэширования графики, CSS, JavaScript и других элементов сайта в браузере пользователя.

Import / Export Settings

W3 Total Cache > General Settings > Import / Export Settings
Performance > General Settings > Import / Export Settings
  • Import configuration – импорт настроек с JSON файла.
  • Export configuration — экспорт настроек в JSON файл.
  • Reset configuration — сброс настроек плагина W3 Total Cache до значений, заданных по умолчанию.

Page Cache

На данной странице находятся настройки кэширования страниц. Страница настроек доступна в меню Performance > General Settings.

General

W3 Total Cache > Page Cache > General
Performance > Page Cache > General
  • Cache posts page — кэширование страниц записей.
  • Don’t cache front page — отключение кэширования главной страницы (если используется статическая страница).
  • Cache feeds: site, categories, tags, comments — кэширование фидов (рубрик, меток, комментариев и т.д. ).
  • Cache SSL (https) requests — кэширование уникальных SSL запросов. Используйте данную опцию, если ваш сайт работает по протоколу https.
  • Cache URIs with query string variables — кэширование страниц с параметрами в URL. Функция очень полезна для интернет-магазинов с фильтрами товаров, а также сайтов, на которых пользователи активно пользуются поиском. К сожалению, в бесплатной версии плагина данная функция недоступна.
  • Cache 404 (not found) pages — кэширование страниц ошибок 404. Используйте эту функцию с осторожностью, так как при выборе метода кэширования Disk: Enhanced сервер будет отдавать неправильные коды ответа (200 вместо 404), что негативно повлияет поисковую оптимизацию сайта.
  • Don’t cache pages for logged in users — отключить кэширование для авторизованных пользователей. Не рекомендуется отключать данную функцию, так как это приведет к кэшированию данных для всех пользователей, в том числе и администратора сайта.
  • Don’t cache pages for following user roles — отключить кэширование для выбранных ролей пользователей. Обязательно выберите роли пользователей, которые отвечают за управление сайтом, такие как «Administrator», «Editor» и т.д.

Cache Preload

W3 Total Cache > Page Cache > Cache Preload
Performance > Page Cache > Cache Preload
  • Automatically prime the page cache — активируйте данную функцию для автоматического создания кэша страниц. В противном случае кэш будет создаваться только при посещении страницы.
  • Automatically prime the page cache Update interval — интервал между созданием кэша следующей серии страниц.
  • Pages per interval — количество страниц, кэш которых будет создан через каждый интервал. Устанавливайте значение с учетом мощности сервера. Чем мощнее сервер, тем больше страниц вы можете указать в данном поле.
  • Sitemap URL — ссылка на карту сайта. Страницы будут кэшированы с учетом приоритета в XML карте сайта. Для генерации карты сайта в формате XML используйте плагин Google XML Sitemaps или аналогичный.

Purge Policy: Page Cache

Данный блок отвечает за настройку очистки кэша при создании/редактировании записи и публикации комментариев. С целью повышения производительности, рекомендуется использовать значения, установленные по умолчанию.

Advanced

Данный блок содержит расширенные настройки кэширования страниц. Здесь нас интересует только поле Garbage collection interval, которое отвечает за установку интервала очистки кэша на диске.

W3 Total Cache > Page Cache > Advanced > Garbage Colletion Interval
Performance > Page Cache > Advanced > Garbage Colletion Interval

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

Minify

На данной странице находятся настройки минификации HTML, XML, CSS и JavaScript.

General

W3 Total Cache > Minify > General
Performance > Minify > General
  • Rewrite URL structure – активируем данную функцию, чтобы убрать GET параметры из ссылок на сжатые CSS и JavaScript файлы.
  • Disable minify for logged in users — отключает загрузку сжатых страниц для авторизованных пользователей.
  • Minify error notification — отвечает за настройку оповещений об ошибках при создании минифицированного кэша.

HTML & XML

W3 Total Cache > Minify > HTML & XML
Performance > Minify > HTML & XML

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

JS

W3 Total Cache > Minify > JS
Performance > Minify > JS
  • JS minify settings – активирует минификацию JavaScript файлов.
  • Operations in areas — отвечает за настройку типа загрузки скриптов в разных областях HTML страницы. Поскольку в head страницы обычно загружаются только критически важные скрипты, а все остальное переносится ближе к закрывающему тегу body, то наиболее оптимальными значениями будут Default (blocking) для Before </head> и Non-blocking (using «defer») для After <body>. При желании вы можете поэкспериментировать с разными настройками, но как показала практика, вышеприведенные значения наиболее оптимальны.
  • Minify / Combine only – тип минификации. Согласно правилам хорошего тона, обычно в темах и плагинах подключаются уже сжатые версии CSS и JavaScript файлов, поэтому рекомендую выставить значение Combine only. В этом случае JavaScript файлы будут только объединены (по возможности).

Остальные настройки оставляем отключенными, учитывая ранее выбранный тип кэширования (Disk: Enhanced).

CSS

W3 Total Cache > Minify > CSS
Performance > Minify > CSS

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

Advanced

В данном блоке содержатся расширенные настройки минификации. Здесь нас интересуют всего два поля:

W3 Total Cache > Minify > Advanced
Performance > Minify > Advanced
  • Update external files every – интервал между загрузкой и обновлением внешних файлов в минифицированном кэше.
  • Garbage collection interval — интервал очистки минифицированного кэша. Для высоконагруженных проектов рекомендуется выставлять меньшее значение.

Остальные настройки оставляем со значениями, заданными по умолчанию.

Browser Cache

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

General

W3 Total Cache > Browser Cache > General
Performance > Browser Cache > General

CSS & JS

W3 Total Cache > Browser Cache > CSS & JS
Performance > Browser Cache > CSS & JS

HTML & XML

W3 Total Cache > Browser Cache > HTML & XML
Performance > Browser Cache > HTML & XML

Media & Other Files

W3 Total Cache > Browser Cache > Media & Other Files
Performance > Browser Cache > Media & Other Files

Security Headers

В данном блоке настроек нас интересует только поле HTTP Strict Transport Security policy, в котором необходимо поставить флажок, если вы используете на сайте SSL.

W3 Total Cache > Browser Cache > Security Headers > HTTP Strict Transport Security policy
Performance > Browser Cache > Security Headers > HTTP Strict Transport Security policy

Остальные поля рекомендуется оставить со значениями, заданными по умолчанию.

Очистка кэша

Чтобы очистить кэш в плагине W3 Total Cache, используйте верхнее меню Performance в административной панели сайта. Для очистки нужного кэша, достаточно перейти по соответствующей ссылке в меню.

W3 Total Cache - меню очистки кэша
Меню очистки кэша в W3 Total Cache

Также вы можете использовать соответствующие кнопки в настройках плагина W3 Total Cache или уведомлениях, которые появляются, например, после активации/деактивации какого-либо плагина WordPress.

Уведомление W3 Total Cache об активации плагина
Уведомление W3 Total Cache об активации плагина

Решение возможных проблем

За все время использования плагина W3 Total Cache я столкнулся лишь с двумя проблемами:

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

Ошибка активации W3 Total Cache

Ошибка активации W3 Total Cache
Ошибка активации W3 Total Cache

Если после активации плагина вы видите подобное уведомление, вам необходимо проверить правильность установки прав доступа к файлам и папкам WordPress.

Рекомендуемые права доступа для WordPress:

  • 755 или 750 для всех каталогов.
  • 644 или 640 для всех файлов.
  • 440 или 400 для файла wp-config.php.

Если после изменения прав доступа плагин по-прежнему не активируется, установите права 644 для файла wp-config.php, далее активируйте плагин W3 Total Cache, после чего изменить права обратно на 400 или 440.

Также вы можете вручную отредактировать файл wp-config.php. Для этого откройте его в любом текстовом редакторе, например, NotePad++ и добавьте в самое начало следующий код:

/** Enable W3 Total Cache */
define('WP_CACHE', true); // Added by W3 Total Cache

После этого сохраните файл, обновите его на сервере и повторно активируйте плагин.

Избыточная нагрузка на сервер

Если вы заметили резкий рост нагрузки на сервер после активации плагина W3 Total Cache, который сочетается с частыми обращениями плагина к XML карте сайта (смотрите логи сервера), то причиной является использования предварительного создания кэша страниц с использование карты сайта.

Пример роста нагрузки на сервер при использовании карты сайта для предварительного создания кэша в W3 Total Cache
Пример роста нагрузки на сервер при использовании карты сайта для предварительного создания кэша в W3 Total Cache

Решить проблему можно изменением приоритета страниц в XML карте сайта, удалением ссылки на карту сайта в настройках предварительного создания кэша (Performance > Page Cache > Cache Preload > Sitemap URL) или полным отключением данной функции.

Заключение

W3 Total Cache – это один из самых функциональных и надежных плагинов кэширования для WordPress, который также является и одним из самых популярных и высоко оцениваемых.

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

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

Нашли ошибку? Выделите ее и нажмите Ctrl + Enter

Оставить комментарий

* - поля, обязательные для заполнения
Загрузка Google reCAPTCHA