Кеширование — важный аспект оптимизации производительности сайта на WordPress. Однако иногда возникает необходимость вручную удалить кеш, чтобы увидеть изменения или устранить проблемы с отображением. В этой статье подробно разберём, как удалить кеш в WordPress с помощью популярных плагинов, функций и собственного кода.
Что такое кеш в WordPress и зачем его удалять
Кеш — это временное хранилище данных, которое позволяет ускорить загрузку страниц, уменьшая количество обращений к базе данных и серверу. В WordPress кеш может храниться на разных уровнях:
- кеш браузера пользователя;
- кеш серверных плагинов (например, WP Super Cache, W3 Total Cache, LiteSpeed Cache);
- объектный кеш (Object Cache) — данные, сохранённые в памяти для ускорения выполнения запросов;
- кеш CDN — распределённые по миру серверы, кеширующие контент.
Удаление кеша необходимо, когда вы вносите изменения в сайт (например, обновляете CSS, JavaScript, шаблоны или контент), а старые версии страниц продолжают показываться посетителям. Также это помогает при устранении ошибок, связанных с кешированием.
Удаление кеша через плагины WordPress
WP Super Cache
WP Super Cache — один из самых популярных плагинов для кеширования. Чтобы удалить кеш вручную:
- Перейдите в админку WordPress → Настройки → WP Super Cache.
- Вкладка «Простое» → нажмите кнопку «Удалить кеш». Это очистит все сгенерированные статические файлы.
Для автоматизации очистки кеша можно использовать функцию wparticles_wp_super_cache_flush():
function wparticles_wp_super_cache_flush() {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}Вызовите эту функцию из своего плагина или темы, чтобы программно сбросить кеш.
W3 Total Cache
W3 Total Cache предлагает более расширенные возможности кеширования. Для удаления кеша:
- В админке WordPress перейдите в Performance → Dashboard.
- Нажмите кнопку «empty all caches» (очистить все кеши).
Для программной очистки кеша используйте следующий код:
function wparticles_w3_total_cache_flush() {
if (class_exists('W3_Plugin_TotalCacheAdmin')) {
$w3_totalcache = W3_Plugin_TotalCacheAdmin::instance();
$w3_totalcache->flush_all();
}
}LiteSpeed Cache
Если ваш сервер поддерживает LiteSpeed, плагин LiteSpeed Cache обеспечит очень эффективное кеширование. Для ручной очистки:
- Перейдите в WordPress админку → LiteSpeed Cache → Toolbox → Purge.
- Нажмите «Purge All» для удаления всего кеша.
Для вызова из кода:
function wparticles_litespeed_cache_flush() {
if (class_exists('LiteSpeed_Cache_API')) {
LiteSpeed_Cache_API::purge_all();
}
}Очистка объектного кеша (Object Cache)
Объектный кеш хранит результаты запросов к базе данных в оперативной памяти, например, с помощью Redis или Memcached. Для сброса:
- Если используется встроенный Object Cache WordPress, вызовите
wp_cache_flush(). - Если Redis, то можно использовать в PHP:
function wparticles_redis_cache_flush() {
if (class_exists('Redis')) {
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->flushAll();
}
}Важно: сброс объектного кеша приводит к временной нагрузке на сервер, так как данные нужно будет заново получить из базы.
Удаление кеша браузера с помощью HTTP заголовков
Иногда браузер хранит устаревший кеш, и пользователь видит старую версию страницы. Чтобы гарантированно обновить кеш браузера, можно использовать версионирование ресурсов:
- Добавляйте версию CSS и JS файлов, например:
style.css?ver=1.2.3. - Меняйте версию при каждом обновлении.
Пример подключения стилей с версионированием в functions.php:
function wparticles_enqueue_styles() {
wp_enqueue_style('wparticles-style', get_stylesheet_uri(), array(), '1.2.3');
}
add_action('wp_enqueue_scripts', 'wparticles_enqueue_styles');Также можно настроить HTTP заголовки для запрета кеширования:
function wparticles_nocache_headers() {
if (is_page('contact')) { // пример для конкретной страницы
nocache_headers();
}
}
add_action('send_headers', 'wparticles_nocache_headers');Автоматическая очистка кеша при обновлении контента
Для удобства можно настроить автоматическую очистку кеша при публикации или обновлении постов. В зависимости от плагина, пример для WP Super Cache:
function wparticles_clear_cache_on_save_post($post_id) {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}
add_action('save_post', 'wparticles_clear_cache_on_save_post');Это гарантирует, что посетители увидят последние изменения без необходимости вручную сбрасывать кеш.
Использование плагина Clearfy Pro для управления кешем
Clearfy Pro — мощный инструмент для оптимизации WordPress, в том числе управления кешированием. Он позволяет легко очищать кеш сайта и объектный кеш прямо из админки. Также Clearfy Pro содержит функции для оптимизации базы данных и отключения лишних скриптов, что снижает необходимость частых очисток кеша.
Подробнее о Clearfy Pro и его возможностях можно узнать на официальной странице плагина.
Выводы и рекомендации по очистке кеша в WordPress
Удаление кеша — необходимая операция при работе с WordPress, особенно на сайтах с активным обновлением контента и сложными настройками кеширования. Лучше всего:
- Использовать специализированные плагины кеширования с удобными средствами очистки.
- Автоматизировать очистку кеша при обновлении контента.
- Контролировать объектный кеш, если он используется, и правильно его сбрасывать.
- Версионировать ресурсы, чтобы избежать проблем с браузерным кешем.
Следуя этим рекомендациям, вы сможете эффективно управлять кешированием на своём сайте и избегать проблем с отображением устаревшей информации.