316
2025-07-18 15:53:20

Как настроить кеширование в 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. Выбирайте метод под ваш уровень: плагины для простоты, ручные настройки - для максимальной оптимизации.

Сделайте первый шаг
Выберите готовый шаблон сайта и запустите свой интернет-магазин уже сегодня
Начните бесплатно