В современных проектах на WordPress кэширование — ключевой инструмент для ускорения загрузки страниц и снижения нагрузки на сервер. Однако, если не настроить своевременное удаление устаревших файлов кеша, он может разрастаться и занимать много места, а пользователи будут видеть устаревший контент. В этой статье разберём, как организовать автоматическое удаление старого файлового кеша в WordPress с помощью PHP-кода и популярных плагинов.
Почему важно удалять старый файловый кеш WordPress
Файловый кеш в WordPress обычно хранится в виде статических HTML-файлов, CSS, JS и изображений, создаваемых для ускорения отдачи контента. Без регулярной очистки старые кеш-файлы продолжают храниться на сервере, занимая дисковое пространство и потенциально вызывая конфликт с обновлённым контентом.
Если кеш не обновляется, пользователи не увидят последние изменения на сайте, что негативно сказывается на опыте взаимодействия. Особенно важно это для сайтов с динамическим содержимым, интернет-магазинов и новостных порталов.
Автоматизация удаления старых кеш-файлов помогает поддерживать чистоту на сервере и улучшать производительность без постоянного вмешательства администратора.
Настройка автоматического удаления кеша через WP-Host Cron
Использование wp-cron для регулярной очистки
WordPress имеет встроенную систему планировщика задач — wp-cron. С её помощью можно добавить регулярное событие, которое будет удалять устаревший кеш.
Для начала создадим функцию, которая будет проверять папку кеша и удалять файлы старше определённого времени, например, 24 часов.
function wp_host_delete_old_cache_files() {
$cache_dir = WP_CONTENT_DIR . '/cache'; // Путь к папке с кешем
$files = glob($cache_dir . '/*');
$now = time();
$max_age = 24 * 60 * 60; // 24 часа
foreach ($files as $file) {
if (is_file($file)) {
$file_time = filemtime($file);
if ($now - $file_time > $max_age) {
unlink($file); // Удаляем старый файл
}
}
}
}
Теперь зарегистрируем событие в wp-cron:
function wp_host_register_cache_cleanup_event() {
if (!wp_next_scheduled('wp_host_cache_cleanup_hook')) {
wp_schedule_event(time(), 'hourly', 'wp_host_cache_cleanup_hook');
}
}
add_action('wp', 'wp_host_register_cache_cleanup_event');
add_action('wp_host_cache_cleanup_hook', 'wp_host_delete_old_cache_files');
Этот код запустит очистку старых кеш-файлов каждый час. Можно настроить интервал и путь к кешу под конкретный сайт.
Особенности и рекомендации
- Убедитесь, что путь к кешу (
$cache_dir) указан корректно — у разных плагинов кеширования он может отличаться. - Для больших сайтов с миллионами файлов стоит реализовывать удаление порциями, чтобы не создавать нагрузку на сервер.
- Для более точного управления можно использовать расширенные параметры — например, удалять файлы определённых расширений.
Использование популярных плагинов для управления кешем и его очисткой
Clearfy Pro для тонкой настройки кеша
Плагин Clearfy Pro позволяет не только оптимизировать сайт, но и управлять кешированием. В нём есть функция автоматического удаления кеша по расписанию, включая файловый кеш. Можно настроить периодичность и исключения прямо из админки.
Для интеграции с WP-Host рекомендуем использовать ссылку на плагин с UTM-метками: Clearfy Pro на WPSHOP.
WP Super Cache: встроенная очистка кеша
WP Super Cache — один из самых популярных плагинов кеширования. В настройках есть опция автоматической очистки кеша при обновлении контента, а также можно добавить собственные задачи для удаления старых файлов.
Пример удаления кеша средствами WP Super Cache из кода:
function wp_host_clear_wp_super_cache() {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}
add_action('save_post', 'wp_host_clear_wp_super_cache');
Как найти и определить папку файлового кеша
Чтобы автоматизировать удаление, важно понимать, где именно хранятся кеш-файлы. В зависимости от плагина или сервера это может быть:
wp-content/cache/— стандартная папка для большинства кеш-плагинов;- Папки в
wp-content/uploads/wpsupercache/илиwp-content/wpsc/для WP Super Cache; - Кеш в папках, специфичных для плагинов, например,
w3tc-cacheдля W3 Total Cache; - Кеш на уровне сервера или CDN, который нужно очищать через API плагина или внешние сервисы.
Рекомендуется проверить документацию плагина кеширования, чтобы точно определить путь и особенности очистки.
Советы по безопасности при удалении кеша программно
Удаление файлов программным способом требует аккуратности:
- Всегда проверяйте, что удаляете только файлы внутри папки кеша, чтобы не повредить важные данные.
- Используйте функции WordPress для работы с файлами и путями, например,
WP_CONTENT_DIR, чтобы избежать ошибок. - Не давайте прямой доступ к папкам кеша через браузер, чтобы избежать утечки данных и безопасности.
- Логируйте операции удаления, если это возможно, чтобы отслеживать работу скриптов.
Итоги и рекомендации по автоматизации удаления старого файлового кеша
Автоматизация удаления устаревших кеш-файлов в WordPress — важная задача для поддержания производительности и актуальности сайта. Используйте встроенный wp-cron, например, код из статьи, или функционал популярных плагинов, таких как Clearfy Pro или WP Super Cache.
Подбирайте интервал очистки исходя из особенностей сайта и плагина кеширования. Например, для новостных сайтов — чаще, для лендингов и корпоративных ресурсов — реже.
Подробные руководства и плагины для оптимизации можно найти на WPSHOP.