Как настроить кеширование в WordPress
Настроить кеширование в WordPress можно разными способами: с помощью плагинов, ручной настройки сервера или комбинации методов. Вот основные варианты
Использование плагинов для кеширования
Самый простой способ - установить один из популярных плагинов
1. WP Rocket (Платный, но самый удобный)
- Устанавливается и настраивается за пару минут.
- Включает кеширование страниц, сжатие CSS/JS, ленивую загрузку (lazy load), предзагрузку кеша.
- Поддержка очистки кеша при обновлении контента.
2. WP Super Cache (Бесплатный)
- Установите плагин WP Super Cache из каталога WordPress.
- Перейдите в Настройки - WP Super Cache.
- Включите "Включить кеширование".
- Выберите режим
- Простой - подходит для большинства сайтов.
- Экспертный - для тонкой настройки (через .htaccess).
- Включите "Сжатие страниц" (Gzip).
- Сохраните изменения.
3. W3 Total Cache (Бесплатный, но сложнее в настройке)
- Установите W3 Total Cache.
- Перейдите в Performance - General Settings.
- Включите
- Page Cache (кеширование страниц).
- Browser Cache (кеширование в браузере).
- Minify (объединение CSS/JS).
- Database Cache (кеширование БД).
- Настройте CDN, если используете.
- Сохраните и очистите кеш.
Какие плагины использовать для кеширования
1. Для начала стоит выбрать подходящий плагин. Если вам нужен максимально простой вариант с хорошей эффективностью, можно поставить WP Super Cache. Он бесплатный и справляется с базовыми задачами.
После установки заходите в настройки плагина через админку WordPress, находите раздел WP Super Cache и активируете кеширование. Там будет несколько режимов работы - лучше выбрать «Простейший», если не разбираетесь в технических деталях.
2. Если хочется больше контроля, можно включить «Экспертный» режим. В этом случае плагин начнёт использовать файлы .htaccess для более глубокой оптимизации. Также желательно поставить галочку напротив «Сжатие страниц», чтобы включалось Gzip-сжатие - это уменьшит размер передаваемых данных и ускорит загрузку.
3. Ещё один важный момент - настройка очистки кеша. По умолчанию плагин будет обновлять кеш при изменении записей или страниц, но если вы используете другие инструменты, например, WooCommerce, может понадобиться дополнительная настройка. Для этого в плагине есть вкладка «Дополнительно», где можно указать, при каких условиях кеш должен сбрасываться.
4. Если же вам не жалко потратить немного денег, WP Rocket будет ещё удобнее. Его настройка сводится к активации плагина и включению всех опций разом - он сам настроит кеширование, сжатие, объединение CSS и JS, а также ленивую загрузку изображений. Плюс в том, что не нужно копаться в параметрах, всё работает «из коробки».
После активации любого плагина обязательно проверьте, что кеширование действительно работает. Можно зайти на сайт в режиме инкогнито или использовать инструменты разработчика в браузере (вкладка Network) - если в заголовках ответа сервера есть "x-cache: HIT" или "cf-cache-status: HIT", значит, кеш работает.

Настройка кеширования через .htaccess
Если у вас Apache, можно добавить правила в ".htaccess" для сжатия и кеширования
apache
<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" ExpiresByType text/javascript "access plus 1 month" </IfModule> <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript </IfModule>
Как настроить кеширование через .htaccess
1. Сначала нужно найти сам файл ".htaccess". Он обычно лежит в корневой папке WordPress (там же, где "wp-config.php"). Если его нет, можно создать вручную - главное, чтобы название было именно ".htaccess" (с точкой в начале). Перед редактированием сделайте резервную копию на случай ошибки.
2. Открываете файл в текстовом редакторе (лучше использовать Notepad++ или другой редактор с подсветкой кода). Вставляете в него правила для кеширования. Вот что делает каждый блок
- Браузерное кеширование (Expires Headers)
Этот блок заставляет браузер пользователя хранить определённые типы файлов (картинки, CSS, JS) локально, а не загружать их заново при каждом посещении сайта. Например, картинки будут кешироваться на год, а стили и скрипты - на месяц.
```apache
<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"
ExpiresByType text/javascript "access plus 1 month"
</IfModule>
```
- Gzip-сжатие
Включает сжатие текстовых файлов (HTML, CSS, JS) перед отправкой пользователю. Это уменьшает размер данных и ускоряет загрузку страниц.
```apache
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>
```
- Дополнительные настройки (опционально)
Можно добавить правила для запрета кеширования динамических страниц (например, корзины WooCommerce) или включить заголовки "Cache-Control"
```apache
<FilesMatch "\.(php|cgi|pl|woocommerce|cart|my-account)$">
Header set Cache-Control "no-store, no-cache, must-revalidate"
</FilesMatch>
```
3. После сохранения файла проверьте, работают ли настройки. Для этого
- Откройте сайт в браузере (лучше в режиме инкогнито).
- Нажмите "F12" - вкладка Network - перезагрузите страницу ("Ctrl+F5").
- Кликните на любой файл и проверьте заголовки ответа.
- Должны быть строки "Cache-Control: max-age=..." и "Expires: ..." (для кеширования) или "Content-Encoding: gzip" (для сжатия).
Если что-то не работает, проверьте
- Поддерживает ли хостинг модули "mod_expires" и "mod_deflate" (можно уточнить у поддержки).
- Нет ли ошибок в синтаксисе (лишних символов, неправильных путей).
- Не блокируют ли другие правила в ".htaccess" ваши изменения.
Этот метод не требует плагинов и снижает нагрузку на сервер, но его сложнее настроить, чем кеширование через WP Rocket или WP Super Cache.
Настройка кеширования в Nginx
nginx
Copy
Download
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires 1y; add_header Cache-Control "public, no-transform"; } location / { try_files $uri $uri/ /index.php?$args; } # Gzip сжатие gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
Как настроить кеширование в Nginx
1. Для начала вам потребуется доступ к конфигурационным файлам Nginx. Обычно они находятся в одной из этих папок
- /etc/nginx/nginx.conf (основной конфиг).
- /etc/nginx/sites-available/ваш_сайт.conf (конфиг конкретного сайта).
2. Откройте конфигурационный файл вашего сайта в текстовом редакторе через SSH (nano, vim) или скачайте его для редактирования. Перед внесением изменений создайте резервную копию.
3. Добавьте следующие блоки кода в нужные секции
- Кеширование статических файлов (изображений, CSS, JS)
```nginx
location ~* \.(jpg|jpeg|png|gif|ico|css|js|pdf|svg|webp|woff|woff2|ttf|eot)$ {
expires 365d;
add_header Cache-Control "public, no-transform";
access_log off;
log_not_found off;
try_files $uri =404;
}
```
Этот блок устанавливает срок хранения статических файлов в браузере на 1 год (365d), отключает логирование для этих запросов и добавляет правильные заголовки кеширования.
- Исключения для динамического контента
```nginx
location ~* /(wp-admin|wp-login|wp-cron.php|cart|my-account) {
expires off;
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
```
Здесь мы отключаем кеширование для админки WordPress, страницы входа, корзины магазина и личного кабинета.
- Gzip-сжатие
```nginx
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types text/plain text/css text/xml application/json application/javascript application/xml+rss text/javascript image/svg+xml;
gzip_min_length 1000;
gzip_disable "MSIE [1-6]\.";
```
Эти настройки включают сжатие для текстовых форматов, устанавливают уровень сжатия 6 (оптимальный баланс между скоростью и степенью сжатия) и исключают старые версии IE.
- Основной блок для обработки WordPress
```nginx
location / {
try_files $uri $uri/ /index.php?$args;
add_header X-Cache-Status $upstream_cache_status;
}
```
Это стандартная директива для WordPress, которая добавляет дополнительный заголовок для отслеживания статуса кеша.
4. После внесения изменений проверьте конфигурацию на ошибки
```bash
sudo nginx -t
```
5. Если проверка прошла успешно (вы увидите сообщение "test is successful"), перезагрузите Nginx
```bash
sudo systemctl reload nginx
```
- Для проверки работоспособности.
- Откройте сайт в браузере в режиме инкогнито.
- Нажмите F12 - вкладка Network.
- Обновите страницу (Ctrl+F5).
- Проверьте заголовки ответа для статических файлов.
- Должны присутствовать "Cache-Control: public" и "Expires" с датой в будущем.
- Для текстовых файлов должен быть заголовок "Content-Encoding: gzip".
Дополнительные рекомендации
- Для более тонкой настройки можно использовать FastCGI кеширование.
- Если используете Cloudflare или другой CDN, некоторые заголовки могут перезаписываться.
- Регулярно проверяйте кеширование после обновлений WordPress или плагинов.
Эти настройки значительно ускорят загрузку вашего сайта, уменьшив нагрузку на сервер и сократив время отклика для посетителей.
Использование Cloudflare
- Зарегистрируйтесь на (https://www.cloudflare.com/).
- Добавьте свой сайт и настройте DNS.
- В разделе Caching - Configuration включите
- Cache Everything (для статических страниц).
- Browser Cache Expiration (установите срок кеширования).
- Включите Auto Minify (оптимизация CSS/JS/HTML).
Как использовать Cloudflare
1. Сначала нужно зарегистрироваться в Cloudflare. Переходите на сайт cloudflare.com, нажимаете "Sign Up" и вводите email с паролем. После регистрации добавляете свой сайт - просто вводите доменное имя (например, vashe-site.ru) в поле "Add a Site". Cloudflare автоматически просканирует ваши DNS-записи.
2. Далее нужно изменить NS-серверы у вашего доменного регистратора. Cloudflare покажет вам свои NS-серверы (обычно что-то вроде lara.ns.cloudflare.com и rob.ns.cloudflare.com). Идёте в панель управления вашего домена (где покупали домен) и заменяете текущие NS-серверы на те, что дал Cloudflare. Это может занять до 24 часов, но обычно происходит за 1-2 часа.
3. Пока DNS распространяются, можно настроить кеширование в Cloudflare
- В панели Cloudflare выбираете вкладку "Caching" - "Configuration".
- Устанавливаете "Caching Level" на Standard (для начала).
- "Browser Cache Expiration" ставите на 1 месяц (или больше для статики).
- Включаете "Always Online" - это позволит показывать закешированную версию сайта, если ваш сервер упадёт.
- Прокручиваете ниже до "Purge Cache" - здесь можно очистить кеш при необходимости.
4. Особое внимание уделите разделу "Cache Rules" (Правила кеширования). Здесь нужно создать исключения
- Не кешировать админку WordPress: создаёте правило с URL-шаблоном "/wp-admin" и выбираете "Bypass Cache".
- Не кешировать корзину и оформление заказа, если у вас интернет-магазин: "/cart", "/checkout" - тоже "Bypass Cache".
- Для остальных страниц можно создать правило с "Cache Everything".
5. В разделе "Speed" - "Optimization" включите
- Auto Minify - автоматическое сжатие JS, CSS и HTML.
- Brotli - более эффективное сжатие чем Gzip.
- Rocket Loader - ускорение загрузки JS (может вызывать проблемы с некоторыми плагинами).
6. Для WordPress особенно полезен плагин "Cloudflare" (официальный). После установки
- Вводите API-ключ из Cloudflare (находится в профиле).
- Включаете "Automatic Cache Management".
- Активируете "Development Mode" при работе над сайтом.
- Настраиваете очистку кеша при обновлении контента.
7. Важный момент - проверка работы кеша. После настройки
- Откройте сайт в режиме инкогнито.
- Нажмите F12 - вкладка Network.
- Обновите страницу (Ctrl+F5).
- Посмотрите заголовки ответа - должны быть.
- cf-cache-status: HIT (значит страница закеширована).
- cache-control: public, max-age=...
- если видите cf-cache-status: DYNAMIC - значит страница не кешируется.
Если что-то не работает
- Проверьте, прошло ли более 5 минут после настройки (Cloudflare применяет изменения не мгновенно).
- Убедитесь, что у вас тарифный план не Free (некоторые функции в нём ограничены).
- Попробуйте очистить кеш в Cloudflare и в браузере.
- Временно отключите другие плагины кеширования на WordPress.
Cloudflare не только ускоряет сайт за счёт кеширования, но и защищает от DDoS-атак, фильтрует ботов, и предоставляет другие полезные функции вроде Argo Smart Routing. Для WordPress это один из самых эффективных способов ускорения без глубоких технических знаний.
Очистка кеша
После изменений важно очистить кеш
- В плагинах (Purge Cache в W3 Total Cache).
- В Cloudflare (Caching - Purge Cache).
- В браузере (Ctrl + F5 для принудительной перезагрузки).
Где и как очистить кеш
После настройки кеширования важно правильно его очищать. Рассмотрим все способы
1. Очистка кеша плагинов
- В WP Super Cache: заходите в "Настройки" - "WP Super Cache" - вкладка "Содержимое" - кнопка "Удалить кеш".
- В W3 Total Cache: в верхней панели админки WordPress есть пункт "Performance" - "Purge Modules" - выбираете что очищать (Page Cache, Database Cache и т.д.).
- В WP Rocket: в админке появляется синяя кнопка "Очистить кеш" вверху экрана, либо в настройках плагина раздел "Инструменты".
2. Очистка кеша Cloudflare
- В панели Cloudflare заходите в "Caching" - "Purge Cache".
- Можно очистить всё ("Purge Everything").
- Или только отдельные файлы/URL (вводите конкретные адреса).
- После очистки подождите 2-5 минут - изменения применяются не мгновенно.
3. Очистка кеша браузера
- Полная очистка: Ctrl+Shift+Del (выбираете "Изображения и файлы", "Кеш").
- Принудительное обновление одной страницы: Ctrl+F5.
- Для мобильных устройств: зайти в настройки браузера - "Очистить историю" - выбрать "Кеш".
4. Очистка серверного кеша (если используете Nginx/Apache)
- Для Nginx: удалите файлы в /var/cache/nginx/*.
- Для Apache: очистите папку /var/cache/apache2/mod_cache_disk/*.
- Или через SSH команды
```bash
sudo service nginx restart
sudo service apache2 restart
```
5. Автоматическая очистка
- Во многих плагинах можно настроить автоочистку.
- При обновлении страницы/записи.
- По расписанию (например, раз в сутки).
- При изменении определенных типов контента.
Например в WP Rocket: "Настройки" - "Инструменты" - "Автоматическая очистка".
Важные нюансы
- После очистки кеша первым посетителям сайт может грузиться медленнее - это нормально, пока создается новый кеш.
- Если используете CDN, изменения могут появляться с задержкой до 5 минут.
- Некоторые хостинги (например, WP Engine) имеют собственные системы кеширования - их нужно очищать отдельно через панель хостинга.
- Для тестирования изменений используйте.
- Режим инкогнито в браузере
- Сервисы типа browserstack.com
- Команду curl в терминале: curl -I вашсайт.ru (покажет заголовки ответа)
Если кеш не очищается
- Проверьте права на файлы (должны быть 755 для папок и 644 для файлов).
- Убедитесь что не включен "режим разработчика" в плагинах.
- Попробуйте отключить другие плагины кеширования.
- Проверьте .htaccess на наличие конфликтующих правил.
Для комплексной очистки лучше делать всё по порядку
- Очистить кеш плагина.
- Очистить кеш Cloudflare/CDN.
- Очистить серверный кеш.
- Очистить кеш браузера.
- Проверить результат через curl или новый сеанс браузера.
Помните: частая очистка кеша снижает производительность сайта. Очищайте только когда действительно внесли важные изменения.

Вывод
Кеширование в WordPress - ключевой способ ускорения сайта. Настроить его можно через плагины (WP Rocket, WP Super Cache, W3 Total Cache), серверные конфигурации (Nginx/Apache) или CDN (Cloudflare).
Главные моменты
- Плагины - самый простой вариант, подходит новичкам.
- Серверное кеширование (".htaccess", Nginx) - эффективнее, но требует технических навыков.
- Cloudflare - ускоряет сайт глобально, защищает от атак и снижает нагрузку на сервер.
Важно
- После изменений всегда очищайте кеш (плагин, сервер, браузер, CDN).
- Проверяйте работу кеша через инструменты разработчика ("cf-cache-status: HIT").
- Не кешируйте динамические страницы (корзины, админку).
Правильная настройка кеширования ускоряет загрузку в 2–5 раз, улучшает SEO и UX. Выбирайте метод под ваш уровень: плагины для простоты, ручные настройки - для максимальной оптимизации.