Кэширование — важный инструмент для ускорения работы сайта на WordPress, но иногда возникает необходимость полностью очистить кэш. Это может понадобиться при внесении изменений в дизайн, обновлении контента или исправлении ошибок. В этой статье подробно рассмотрим несколько практических способов, как удалить кэш в WordPress, включая примеры кода и полезные плагины.
Что такое кэш в WordPress и зачем его удалять?
Кэш — это временное хранение данных, которое позволяет серверу и браузеру быстро загружать страницы без повторной генерации контента. В WordPress кэш может храниться на разных уровнях: в браузере пользователя, на сервере, в плагинах кэширования и CDN.
Удаление кэша нужно, чтобы увидеть актуальные изменения на сайте. Без сброса кэша вы можете продолжать видеть старую версию страницы, что негативно влияет на пользовательский опыт и тестирование.
Основные способы удаления кэша в WordPress
Удаление кэша плагинов кэширования
Самый распространённый способ — использовать встроенную функцию плагина кэширования. Например:
- WP Super Cache: в админ-панели перейдите в раздел «Настройки» → «WP Super Cache» и нажмите кнопку «Удалить кэш».
- W3 Total Cache: в админке откройте раздел «Performance» → «Dashboard» и нажмите «Empty All Caches».
- WP Rocket: на панели инструментов нажмите «Очистить кэш».
Если нужно очистить кэш программно, например, для автоматизации, можно использовать хуки и функции плагинов. Для WP Super Cache это может выглядеть так:
function wpzoom_clear_wp_super_cache() {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}
Эту функцию можно вызвать по событию или через AJAX.
Удаление объектного и транзиентного кэша через код
WordPress хранит временные данные в виде транзиентов и объектного кэша. Чтобы очистить их, используйте следующие функции:
function wpzoom_clear_object_cache() {
wp_cache_flush(); // Очистка объектного кэша
}
function wpzoom_delete_all_transients() {
global $wpdb;
$transients = $wpdb->get_col("SELECT option_name FROM $wpdb->options WHERE option_name LIKE '_transient_%'");
foreach ($transients as $transient) {
$key = str_replace('_transient_', '', $transient);
delete_transient($key);
}
}
Вызовите эти функции, чтобы гарантировать удаление всех временных данных.
Очистка кэша браузера и CDN
Кроме серверного кэша, важно учитывать кэш браузера и CDN. Для браузерного кэша можно добавить в .htaccess заголовки контроля кэша с коротким временем жизни:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 hour"
</IfModule>
Для CDN (например, Cloudflare) очистка кэша происходит через панель управления или с помощью API вызовов.
Полезные плагины для управления кэшем в WordPress
Кроме популярных кэш-плагинов, есть дополнительные инструменты для удобного управления кэшем:
- Clearfy Pro — плагин для оптимизации и очистки WordPress, включая удаление кэша и неиспользуемых данных.
- My Popup — плагин с возможностью автоматической очистки кэша при обновлении контента, полезен для динамических всплывающих окон.
Автоматизация очистки кэша с помощью WP-Cron
Чтобы не очищать кэш вручную, можно настроить автоматическую очистку через WP-Cron. Пример кода для автоматического удаления кэша каждые 6 часов:
function wpzoom_schedule_cache_clear() {
if (!wp_next_scheduled('wpzoom_clear_cache_event')) {
wp_schedule_event(time(), 'six_hours', 'wpzoom_clear_cache_event');
}
}
add_action('wp', 'wpzoom_schedule_cache_clear');
add_action('wpzoom_clear_cache_event', 'wpzoom_clear_all_cache');
function wpzoom_clear_all_cache() {
// Очистка кэша плагина
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
// Очистка объектного кэша
wp_cache_flush();
// Удаление транзиентов
global $wpdb;
$wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE '_transient_%'");
}
// Добавим интервал 'six_hours'
add_filter('cron_schedules', function($schedules) {
$schedules['six_hours'] = [
'interval' => 21600,
'display' => __('Каждые 6 часов')
];
return $schedules;
});
Этот код автоматически будет очищать кэш, что особенно полезно для сайтов с частыми обновлениями.
Рекомендации по работе с кэшем в WordPress
Для стабильной работы сайта следуйте простым правилам:
- Регулярно очищайте кэш после обновления контента или дизайна.
- Используйте проверенные кэш-плагины и избегайте конфликтов между ними.
- Настраивайте кэширование так, чтобы не кэшировались динамические и персонализированные части сайта.
- Тестируйте работу сайта в режиме инкогнито и на разных устройствах после очистки кэша.
При комплексном подходе очистка кэша не станет проблемой, а будет инструментом повышения скорости и удобства работы сайта.