Налаштування плагіну W3 Total Cache для WordPress
W3 Total Cache — безкоштовна альтернатива WP Rocket з більш гнучкими налаштуваннями та підтримкою множеством бекендів для зберігання кешу: Disk, Memcached, Redis, APC, інтеграція CDN.
Вибір методу кешування сторінок
Disk: Enhanced — кеш зберігається на диск, Nginx відправляє статичні файли без PHP. Найкращий вибір для більшості хостингів.
Disk: Basic — PHP перевіряє наявність кешу, менш ефективно.
Memcached / Redis — кеш у пам'яті. Швидше диска, але вимагає налаштованого сервера та достатньо RAM.
Для вибору: якщо є Redis або Memcached — використовуйте їх. Якщо немає — Disk Enhanced.
Налаштування General Settings
Page Cache: ✓ Enable
Page Cache Method: Disk: Enhanced
Minify: ✓ Enable
Minify Mode: Manual (Auto ломає JS)
Minify Cache Method: Disk
Object Cache: ✓ Enable (якщо є Redis/Memcached)
Object Cache Method: Redis
Browser Cache: ✓ Enable
CDN: ✓ Enable (якщо використовується CDN)
Налаштування кешу сторінок
Page Cache → Page Cache Settings:
- Cache front page: ✓
- Cache feeds: ✓
- Cache SSL: ✓ (якщо сайт на HTTPS)
- Don't cache pages for logged in users: ✓
- Don't cache pages with GET parameters: ✓ (крім utm_*)
Rejected User Agents (не кешувати для ботів перевірки):
.*bot.*
.*crawler.*
Rejected Cookies:
wordpress_logged_in
woocommerce_cart_hash
Redis Object Cache
// wp-config.php
define('W3TC_CONFIG_DATABASE', true);
У налаштуваннях W3TC → Object Cache:
- Object Cache Method: Redis
- Redis hostname: 127.0.0.1
- Redis port: 6379
- Redis database: 1
Перевірка: W3TC → Dashboard → переконатися, що Object Cache показує HIT.
Мініфікація: ручний режим
Minify → JS:
- Embed type: Non-blocking using "defer"
- Додати кожен JS-файл вручну з правильним типом
Minify → CSS:
- Embed type: Inline
- Combine files: ✓ (якщо HTTP/1.1, не HTTP/2)
Ручний режим вимагає ретельного налаштування під кожен сайт, зате не ломає скрипти автоматично.
Browser Cache
Expires Headers для статичних файлів:
CSS, JS: 1 year
Images: 1 year
Fonts: 1 year
HTML: не кешувати
W3TC додає Cache-Control та Expires заголовки через .htaccess (Apache) або вимагає вручну налаштування Nginx.
Nginx конфіг для Disk Enhanced
# Кешовані сторінки
set $cache_uri $request_uri;
if ($request_method = POST) { set $cache_uri 'null cache'; }
if ($query_string != '') { set $cache_uri 'null cache'; }
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-.*.php|index.php|sitemap(_index)?.xml)") {
set $cache_uri 'null cache';
}
if ($http_cookie ~* "comment_author|wordpress_logged_in|wp-postpass|woocommerce") {
set $cache_uri 'null cache';
}
location / {
try_files /wp-content/w3tc/pgcache/$cache_uri/_index.html $uri $uri/ /index.php?$args;
}
Порівняння з WP Rocket
W3 Total Cache безкоштовна та гнучка в налаштуваннях, але вимагає більше часу на конфігурацію і обережності з мініфікацією. WP Rocket простіша, працює "з коробки" краще, але коштує грошей. Для технічних користувачів на VPS — W3TC розумний вибір.
Терміни
Установка та налаштування W3 Total Cache з тестуванням на конкретному сайті — 4–6 годин.







