В этой статье разберёмся, как правильно удалить кэш в WordPress — часто встречающуюся задачу, когда изменения на сайте не отображаются сразу или возникают проблемы с производительностью. Вы узнаете, какие существуют виды кэша, какие плагины помогут управлять кэшированием, а также как написать свои функции для очистки кэша в сложных случаях.
Что такое кэш в WordPress и зачем его удалять
Кэш — это временное хранение данных для ускорения загрузки страниц. В WordPress кэш бывает нескольких видов:
- Кэш браузера: сохраняет ресурсы на стороне пользователя для ускорения повторной загрузки.
- Кэш плагинов: например, WP Super Cache, W3 Total Cache, которые создают статические HTML-версии страниц.
- Объектный кэш: хранит результаты запросов к базе данных в памяти, например, с помощью Redis или Memcached.
- Кэш на уровне хостинга: часто поставляется провайдером для ускорения сайта.
Удалять кэш нужно, если после изменений в контенте, стилях или функционале сайта вы не видите обновлений, либо при возникновении ошибок, вызванных устаревшими данными.
Как удалить кэш с помощью популярных плагинов WordPress
Самый простой способ — использовать встроенные инструменты плагинов кэширования. Рассмотрим самые популярные из них.
WP Super Cache
В панели администрирования WordPress перейдите в Настройки > WP Super Cache. На вкладке Easy нажмите кнопку Delete Cache. Это очистит все сгенерированные HTML-страницы.
W3 Total Cache
В меню Performance выберите Dashboard и нажмите empty all caches. Это удалит все виды кэша, включая объектный и браузерный. Также можно очистить отдельные виды кэша в разделе Performance > Page Cache или Performance > Object Cache.
LiteSpeed Cache
Если ваш сервер поддерживает LiteSpeed, в панели плагина есть кнопка Пустить весь кэш на главной странице настроек. Также можно назначить автоматическую очистку кэша при публикации или обновлении постов.
Удаление кэша программно: примеры функций для WordPress
Иногда нужно сбросить кэш автоматически, например, после определённого действия. Ниже представлены примеры функций с префиксом wp2wp_, которые помогут в этом.
Очистка кэша плагина WP Super Cache
function wp2wp_clear_wp_super_cache() {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}Эта функция вызывает внутренний метод плагина для очистки всех кешированных страниц. Её можно вызвать после обновления данных.
Очистка объектного кэша
function wp2wp_flush_object_cache() {
if (function_exists('wp_cache_flush')) {
wp_cache_flush();
}
}Если у вас настроен объектный кэш (например, Memcached или Redis), эта функция очищает его. Рекомендуется вызывать после изменения критичных данных.
Пример хука для автоматической очистки кэша при сохранении записи
function wp2wp_clear_cache_on_save($post_id) {
// Проверяем тип записи, чтобы очистить кэш только для нужных
$post_type = get_post_type($post_id);
if ($post_type !== 'post') return;
wp2wp_clear_wp_super_cache();
wp2wp_flush_object_cache();
}
add_action('save_post', 'wp2wp_clear_cache_on_save');Этот код автоматически очищает кэш плагина WP Super Cache и объектный кэш при сохранении записи типа 'post'. Можно адаптировать под свои типы записей.
Дополнительные советы по управлению кэшем в WordPress
Чтобы минимизировать проблемы с кэшем:
- Используйте автоматическую очистку кэша при публикации или обновлении контента.
- Настройте исключения для страниц с динамическим содержимым, чтобы они не кэшировались.
- Регулярно проверяйте, что ваш плагин кэширования обновлён и совместим с текущей версией WordPress.
- При использовании CDN (например, Cloudflare) не забывайте очищать кэш и там.
Также стоит периодически проверять, не конфликтует ли кэш с другими плагинами, вызывая баги или некорректное отображение.
Заключение: почему важно правильно управлять кэшированием
Правильное удаление и управление кэшем в WordPress — ключ к стабильной работе сайта и корректному отображению изменений. Использование встроенных инструментов плагинов, а также кастомных функций позволяет гибко подходить к решению возникающих проблем и оптимизировать производительность без лишних рисков.