Настройка 8 мин чтения

Как очистить кэш WordPress

Как очистить кэш WordPress: плагины страничного кэша, объектный кэш Redis, кэш хостинга и CDN, OPcache, WP-CLI и браузер. Что делать, если изменения на сайте не появляются.

Вы изменили текст, цвет кнопки или подключили новый код, а на сайте всё по-старому. Почти всегда причина в кэше. У WordPress-сайта кэшей обычно несколько, и очищать нужно тот, который отдаёт устаревшую копию. Ниже разберём, какие они бывают, где находятся кнопки сброса и что делать, если кэш не очищается.

Какие бывают кэши

  1. Страничный кэш (плагин). Плагин сохраняет готовый HTML страницы и отдаёт его без обращения к PHP и базе данных. Самый частый источник «старой» версии.
  2. Объектный кэш (Redis, Memcached). Хранит результаты запросов к базе в памяти. Подробнее в статье про Redis для WordPress.
  3. Кэш сервера и хостинга. Nginx FastCGI cache, встроенное кэширование хостинга, кэш LiteSpeed на уровне сервера.
  4. CDN. Cloudflare или другой CDN хранит копии страниц и статических файлов на своих серверах.
  5. Кэш браузера. Браузер сохраняет картинки, CSS и JS, чтобы не скачивать их заново.
  6. OPcache. Кэш скомпилированного PHP-кода на сервере. Нужен, чтобы PHP не перечитывал файлы при каждом запросе.
  7. Кэш оптимизаторов CSS/JS. Плагины, которые объединяют и сжимают скрипты и стили, хранят готовые файлы в wp-content/cache или похожей папке.

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

Очистка кэша в популярных плагинах

Названия кнопок зависят от версии и языка интерфейса, но принцип одинаков: в верхней панели админки или на странице настроек плагина есть пункт, который удаляет сохранённые копии страниц.

  • WP Super Cache. Откройте Настройки → WP Super Cache и нажмите кнопку удаления кэша (Delete Cache) на вкладке с основными настройками.
  • W3 Total Cache. В верхней панели админки есть пункт Performance, в нём команда очистки всех кэшей (Purge All Caches). Отдельные виды кэша очищаются в разделе Dashboard плагина.
  • LiteSpeed Cache. В верхней панели админки есть пункт LiteSpeed Cache, в нём команда очистки всего кэша (Purge All). Подробные варианты доступны в разделе Toolbox плагина.
  • WP Fastest Cache. В верхней панели есть пункт WPFC (или «Delete Cache»). Отдельно в настройках плагина на вкладке удаления кэша можно очистить кэш минифицированных CSS/JS.
  • Autoptimize. В верхней панели админки есть пункт плагина с командой очистки кэша (Delete Cache). Он удаляет объединённые и сжатые файлы CSS и JS.

Если пунктов в верхней панели не видно, откройте страницу настроек плагина в боковом меню, вкладка с кэшем обычно первая.

Хорошая практика: после изменения дизайна, подключения нового плагина или правки кода очищайте сначала кэш оптимизатора CSS/JS, затем страничный кэш.

Очистка через WP-CLI

Если у вас есть доступ по SSH, команды выполняются из корня сайта:

# Сбросить объектный кэш WordPress
wp cache flush

# Удалить все транзиенты
wp transient delete --all

# Удалить только просроченные транзиенты
wp transient delete --expired

# Обновить правила постоянных ссылок
wp rewrite flush

Команда wp cache flush очищает объектный кэш. Если подключён Redis или Memcached, она сбросит и его через соответствующий drop-in object-cache.php. Страничный кэш плагинов она не трогает, для него используйте кнопку плагина или команду самого плагина, если он поддерживает WP-CLI (например, у LiteSpeed Cache есть собственные команды).

Транзиенты

Транзиенты — временные данные в таблице wp_options (или в объектном кэше, если он подключён). Их используют плагины для хранения ответов внешних API, результатов виджетов, данных лицензий. Если плагин показывает старые данные, сброс транзиентов часто помогает. Удаление безопасно: плагины создадут нужные значения заново.

OPcache

OPcache сбрасывается при перезапуске PHP, поэтому лучший способ — перезапустить PHP-FPM (на VPS, например, sudo systemctl restart php8.2-fpm, версию подставьте свою) или нажать кнопку сброса в панели хостинга. На обычном хостинге такого пункта часто нет. Тогда можно временно создать PHP-файл со строкой opcache_reset();, открыть его в браузере и сразу удалить. OPcache нужно сбрасывать после ручной замены PHP-файлов, например при обновлении ядра по FTP.

Кэш хостинга, nginx и CDN

Бывает, что все плагины очищены, а страница остаётся старой. Проверьте, нет ли кэша выше WordPress:

  • Хостинг. В панели управления ищите разделы вроде «Кэширование», «Ускорение сайта», «Очистить кэш». На хостингах с кэшем nginx сброс делается там, а не в WordPress.
  • Nginx FastCGI cache. Очищается удалением содержимого папки кэша, указанной в параметре fastcgi_cache_path, либо специальным плагином (например, Nginx Helper), если сервер для этого настроен.
  • CDN (например, Cloudflare). В панели CDN найдите очистку кэша: полную или по отдельным адресам. После этого очистите кэш и в WordPress.

Порядок очистки лучше такой: сначала плагин или объектный кэш на сайте, затем кэш сервера, затем CDN и в последнюю очередь браузер. Тогда в CDN не попадёт старая версия из нижних слоёв.

Кэш браузера

Чтобы увидеть актуальную страницу без очистки всего кэша браузера, нажмите Ctrl+F5 (на Mac — Cmd+Shift+R). Страница будет перезагружена с игнорированием сохранённых файлов. Если не помогло, откройте сайт в режиме инкогнито или очистите кэш в настройках браузера (раздел «Конфиденциальность», пункт про удаление кэшированных изображений и файлов).

Посетителям сайта обновлённые стили и скрипты подтянутся, если у подключаемых файлов меняется версия (параметр ?ver=). Большинство плагинов оптимизации делают это сами при очистке кэша.

Если кэш не сбрасывается

Проверьте по порядку:

  1. Открывали ли вы сайт без входа в админку? Вошедшим пользователям многие плагины кэширования отдают страницы без кэша, поэтому проверять результат лучше в режиме инкогнито.
  2. Не установлено ли несколько плагинов кэширования сразу? Два плагина страничного кэша конфликтуют, оставьте один.
  3. Очищен ли кэш хостинга и CDN? Для CDN иногда нужно очистить конкретный адрес.
  4. Не остался ли файл advanced-cache.php или object-cache.php от удалённого плагина в wp-content? Переименуйте такой файл, если плагина уже нет.
  5. Включён ли WP_CACHE в wp-config.php? Если плагин кэширования удалён, а константа осталась, уберите её.

Если не получилось

Если после очистки всех слоёв сайт всё равно отдаёт старые данные, тормозит или ломается при включённом кэше, возможно, проблема в настройках сервера или конфликте плагинов. Мы можем разобраться и настроить кэширование правильно: оптимизация WordPress.

Оставить заявку

Опишите, что нужно сделать, — ответим в течение рабочего дня и назовём сроки и стоимость.