Кэширование – важная часть оптимизации сайта на WordPress. Оно ускоряет загрузку страниц и снижает нагрузку на сервер. Но иногда возникает необходимость очистить кэш – например, после обновления контента, дизайна или настройки сайта. В этой статье я расскажу, как правильно удалить кэш в WordPress, какие инструменты использовать и как автоматизировать этот процесс с помощью кода.
Почему важно удалять кэш и когда это нужно делать
Кэш сохраняет статические версии страниц и ресурсов, чтобы ускорить их загрузку для пользователей. Однако после внесения изменений на сайте старый кэш становится устаревшим, и посетители видят неактуальный контент. Вот основные ситуации, когда нужно очищать кэш:
- Обновление контента (тексты, картинки, цены и т. п.)
- Изменение дизайна или CSS-стилей
- Установка или обновление плагинов и тем
- Исправление багов, связанных с отображением
Если кэш не очищать, посетители могут видеть старую версию сайта, что негативно влияет на UX и SEO.
Популярные плагины для кэширования и способы очистки кэша
Сейчас большинство сайтов на WordPress используют плагины для кэширования. Рассмотрим самые распространённые и как в них удалять кэш.
WP Super Cache
Это один из самых популярных плагинов для кэширования. Чтобы удалить кэш:
- В панели управления WordPress перейдите в меню Настройки > WP Super Cache.
- На вкладке Простое нажмите кнопку Удалить кэш.
Для автоматизации очистки кэша при обновлении постов можно использовать следующий код:
function wppartner_clear_wp_super_cache() {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}
add_action('save_post', 'wppartner_clear_wp_super_cache');Этот код добавляет очистку кэша при сохранении записи.
W3 Total Cache
W3 Total Cache – мощный плагин с множеством настроек. Чтобы очистить кэш:
- В админке WordPress перейдите в Performance > Dashboard.
- Нажмите кнопку Empty All Caches.
Также можно программно очистить кэш:
function wppartner_clear_w3_total_cache() {
if (function_exists('w3tc_flush_all')) {
w3tc_flush_all();
}
}
add_action('save_post', 'wppartner_clear_w3_total_cache');LiteSpeed Cache
Если ваш сервер поддерживает LiteSpeed, этот плагин отлично справляется с кэшированием. Очистка кэша выполняется так:
- В админке WordPress перейдите в LiteSpeed Cache > Toolbox.
- Нажмите Пустить весь кэш.
Для автоматической очистки при обновлении записи добавьте:
function wppartner_clear_litespeed_cache() {
if (class_exists('LiteSpeed_Cache_API')) {
LiteSpeed_Cache_API::purge_all();
}
}
add_action('save_post', 'wppartner_clear_litespeed_cache');Очистка кэша браузера и CDN
Кроме плагинов, кэш может храниться в браузерах пользователей и на CDN (Content Delivery Network). Чтобы полностью обновить сайт, необходимо:
- Уведомить пользователей очистить кэш браузера или использовать версионирование файлов CSS/JS.
- Очистить кэш на CDN, если он используется (например, Cloudflare, BunnyCDN и др.). Обычно это делается через панель управления CDN.
Для автоматизации обновлений стилей и скриптов применяйте добавление параметров версии к URL:
function wppartner_versioned_assets($src) {
if (strpos($src, 'css') !== false || strpos($src, 'js') !== false) {
$src .= '?ver=' . time();
}
return $src;
}
add_filter('style_loader_src', 'wppartner_versioned_assets');
add_filter('script_loader_src', 'wppartner_versioned_assets');Так браузер всегда загружает свежие файлы, игнорируя старый кэш.
Удаление кэша объектов и транзиентов в WordPress
Помимо файлового кэша, WordPress использует кэш объектов и транзиенты для ускорения работы. Иногда их тоже нужно сбрасывать.
Что такое кэш объектов и транзиенты
Кэш объектов сохраняет результаты запросов к базе данных в памяти, уменьшает количество повторных запросов. Транзиенты – временные данные с ограниченным сроком хранения.
В некоторых случаях (например, при изменении настроек или контента) лучше очистить их вручную.
Как очищать кэш объектов и транзиенты
Добавьте следующий код в functions.php вашей темы или в плагин:
function wppartner_clear_object_cache_and_transients() {
wp_cache_flush(); // Очистка объектного кэша
global $wpdb;
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_%'");
}
add_action('save_post', 'wppartner_clear_object_cache_and_transients');Этот код очищает и объектный кэш, и все транзиенты при сохранении поста.
Советы по работе с кэшированием в WordPress
Чтобы избежать проблем с устаревшим кэшем, придерживайтесь следующих рекомендаций:
- Используйте только один плагин кэширования одновременно.
- Автоматизируйте очистку кэша при изменениях на сайте с помощью хуков и кода.
- Регулярно очищайте кэш вручную при крупных обновлениях.
- Настраивайте правильные заголовки кэширования на сервере.
- Тестируйте работу сайта в режиме инкогнито браузера, чтобы видеть актуальные данные.
Так вы избежите ситуаций, когда пользователи видят устаревший контент, а вы не понимаете, почему обновления не применились.
Итоговые рекомендации по удалению кэша в WordPress
Удаление кэша – обязательный шаг при работе с динамическими сайтами. В зависимости от используемых инструментов применяйте соответствующие методы: кнопки в админке, программные вызовы функций плагинов, очистку транзиентов и кэша объектов.
Автоматизация процесса с помощью хуков save_post значительно упростит жизнь разработчикам и администраторам. Не забывайте про кэш браузеров и CDN – без их очистки изменения могут не отображаться у пользователей.
Используйте приведённые в статье примеры кода и советы, чтобы эффективно управлять кэшированием на вашем WordPress-сайте и обеспечивать быстрый и актуальный контент для посетителей.