Кэширование WordPress
Кэширование WordPress
Заголовок раздела «Кэширование WordPress»Кэширование — самый быстрый способ ускорить WordPress. Для немедленного эффекта установите W3 Total Cache, WP Super Cache или Cache Enabler.
Подробнее об общих принципах оптимизации — Оптимизация WordPress.
Плагины кэширования
Заголовок раздела «Плагины кэширования»Плагины кэширования сохраняют посты и страницы как статические файлы и отдают их посетителям вместо повторной генерации PHP. Это снижает нагрузку на сервер в десятки и сотни раз — особенно для страниц с редкими изменениями.
В связке с системным кэшем уровня Varnish эффективность многократно возрастает.
Популярные плагины:
Если на сайте много динамического контента, настройка кэширования сложнее. Ищите по запросу «WordPress cache plugin» актуальные решения.
Браузерный кэш
Заголовок раздела «Браузерный кэш»Браузерный кэш снижает количество запросов к серверу за счёт хранения статических файлов (изображения, CSS, JS) на компьютере посетителя.
Механизм работы:
- Сервер отправляет заголовки
Cache-Control(особенноmax-age) иExpires - Браузер проверяет Entity Tags (ETag) вместо повторной загрузки
- Сервер отвечает
304 Not Modifiedвместо200 OKс телом файла
Результат — меньше трафика и быстрее загрузка при повторных визитах.
Пример заголовков в .htaccess
Заголовок раздела «Пример заголовков в .htaccess»<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month"</IfModule>Объектный кэш
Заголовок раздела «Объектный кэш»Объектное кэширование — перенос данных из медленного и дорогого хранилища в быстрое и дешёвое. В отличие от кэша страниц, объектный кэш обычно персистентный: данные, закэшированные при одном запросе, доступны при следующем.
Ключевое свойство: закэшированные данные всегда должны быть восстанавливаемыми. При повреждении кэша приложение продолжает работать — данные регенерируются автоматически, хотя и с временным падением производительности.
Движки объектного кэша:
| Движок | Тип | Особенности |
|---|---|---|
| Redis | In-memory | Самый популярный, богатая структура данных |
| Memcached | In-memory | Простой, проверенный временем |
| APC/u | In-memory | Локальный для одного сервера |
| Файловая система | Disk-based | Не требует доп. сервисов |
Выбор движка зависит от задачи. Минимальное требование — доступ к закэшированным данным должен быть быстрее, чем их повторная генерация.
Объектный кэш в WordPress
Заголовок раздела «Объектный кэш в WordPress»WordPress имеет встроенный API объектного кэша через класс WP_Object_Cache. Для подключения внешнего движка (Redis, Memcached) используйте drop-in плагин object-cache.php в wp-content/.
// Базовое использование WP Object Cache APIwp_cache_set('my_key', $data, 'my_group', 3600);$data = wp_cache_get('my_key', 'my_group');wp_cache_delete('my_key', 'my_group');Серверный кэш
Заголовок раздела «Серверный кэш»Серверный кэш сложнее плагинного, но необходим для высоконагруженных сайтов.
Уровни серверного кэширования:
Opcode-кэш
Заголовок раздела «Opcode-кэш»Ускоряет выполнение PHP, сохраняя скомпилированный байт-код в памяти:
Reverse Proxy
Заголовок раздела «Reverse Proxy»Обратный прокси-сервер перед веб-сервером WordPress:
- Varnish — мощный HTTP-акселератор, отлично сочетается с плагинами кэширования (W3TC, WP Super Cache)
- Nginx FastCGI Cache — кэширование на уровне веб-сервера без дополнительного ПО
Схема многоуровневого кэширования
Заголовок раздела «Схема многоуровневого кэширования»Пользователь → CDN → Varnish (reverse proxy) → Nginx/Apache (opcode cache) → WordPress (object cache: Redis) → MySQLВыбор стратегии
Заголовок раздела «Выбор стратегии»| Уровень сайта | Рекомендация |
|---|---|
| Блог на shared-хостинге | Плагин кэширования + браузерный кэш |
| Средний сайт на VPS | Плагин + OPcache + объектный кэш (Redis) |
| Высоконагруженный проект | Varnish/Nginx FastCGI + Redis + CDN + OPcache |
Дополнительные материалы
Заголовок раздела «Дополнительные материалы»- Core Caching Concepts in WordPress
- Best Practices for Speeding Up Your Web Site — Yahoo! Developer Network
- Use Server Cache Control to Improve Performance
- Оптимизация WordPress — общий обзор факторов производительности
- PHP-оптимизация — настройка PHP для WordPress
Источник: WordPress Developer Handbook — Cache