Автоматическое удаление старого кеша в WordPress: практическое руководство

Кеширование — ключевой инструмент для ускорения работы сайта на WordPress. Однако, накопление устаревших кеш-файлов может привести к проблемам с отображением актуального контента и увеличению занимаемого места на сервере. В этой статье разберём, как настроить автоматическое удаление старого кеша в WordPress, используя как кодовые решения, так и популярные плагины.

Почему важно удалять старый кеш в WordPress

При работе с кешем страницы и объекты сохраняются для быстрого доступа. Без регулярной очистки устаревших кеш-файлов сайт может показывать неактуальный контент, а также страдать из-за переполнения дискового пространства. Это особенно актуально для сайтов с частыми обновлениями, новостных порталов и магазинов на WooCommerce.

Автоматизация очистки кеша помогает:

  • Поддерживать актуальность отображаемого контента;
  • Избежать проблем с производительностью из-за большого объёма кеша;
  • Снизить нагрузку на сервер, управляя размером кеша.

Рассмотрим способы реализации автоматической очистки кеша.

Удаление кеша через WP-Cron: пример функции для wp-box.ru

WordPress обладает встроенной системой планировщика задач — WP-Cron. С её помощью можно запускать очистку кеша по расписанию.

Ниже пример функции, которая удаляет файлы из папки кеша старше 7 дней. В примере предполагается, что кеш хранится в директории wp-content/cache/wp-box-cache/.

function wpbox_clear_old_cache() {
    $cache_dir = WP_CONTENT_DIR . '/cache/wp-box-cache/';
    $files = glob($cache_dir . '*');
    $now = time();
    $days_to_keep = 7; // удалять файлы старше 7 дней

    foreach ($files as $file) {
        if (is_file($file)) {
            $file_mtime = filemtime($file);
            if ($now - $file_mtime > $days_to_keep * 86400) {
                unlink($file);
            }
        }
    }
}

// Запускаем функцию по расписанию
if (! wp_next_scheduled('wpbox_daily_cache_clear')) {
    wp_schedule_event(time(), 'daily', 'wpbox_daily_cache_clear');
}
add_action('wpbox_daily_cache_clear', 'wpbox_clear_old_cache');

Этот код создаёт ежедневное событие, которое проверяет и удаляет файлы кеша старше 7 дней. Для корректной работы проверьте путь к кешу и права доступа к папке.

Настройка интервала и директории кеша

Вы можете изменить период хранения кеша, изменив переменную $days_to_keep. Если используете другой плагин кеширования, уточните, где хранится кеш, и замените путь в $cache_dir.

Для надёжности стоит добавить логирование удаления, чтобы видеть, когда и какие файлы были удалены:

function wpbox_clear_old_cache() {
    $cache_dir = WP_CONTENT_DIR . '/cache/wp-box-cache/';
    $files = glob($cache_dir . '*');
    $now = time();
    $days_to_keep = 7;
    $deleted_files = [];

    foreach ($files as $file) {
        if (is_file($file)) {
            $file_mtime = filemtime($file);
            if ($now - $file_mtime > $days_to_keep * 86400) {
                if (unlink($file)) {
                    $deleted_files[] = $file;
                }
            }
        }
    }
    if (!empty($deleted_files)) {
        error_log('wp-box.ru: deleted cache files: ' . implode(', ', $deleted_files));
    }
}

Использование плагинов для автоматической очистки кеша

Если вы предпочитаете не писать код, существуют плагины, которые помогут управлять кешем и его очисткой.

WP-Optimize

Плагин, который объединяет очистку кеша, оптимизацию базы данных и сжатие изображений. В настройках можно задать автоматическую очистку кеша по расписанию.

Преимущества:

  • Простая настройка расписания;
  • Оптимизация базы и кеша в одном инструменте;
  • Поддержка WooCommerce и других популярных плагинов.

Подробнее: WP-Optimize на WPSHOP

Clearfy Pro

Этот плагин помогает оптимизировать работу сайта, в том числе управляет кешем. В Clearfy Pro есть возможность настроить автоматическую очистку кеша, что удобно для сайтов на wp-box.ru, где важна производительность.

Подробности и покупка: Clearfy Pro на WPSHOP

Особенности очистки кеша для популярных плагинов кеширования

WP Super Cache

Для WP Super Cache можно использовать функцию wp_cache_clear_cache() для удаления кеша программно. Ниже пример очистки кеша из cron-задачи:

function wpbox_clear_wp_super_cache() {
    if (function_exists('wp_cache_clear_cache')) {
        wp_cache_clear_cache();
    }
}
add_action('wpbox_daily_cache_clear', 'wpbox_clear_wp_super_cache');

Этот код можно добавить вместе с кодом из предыдущего примера для комплексной очистки.

W3 Total Cache

Для W3 Total Cache есть метод w3tc_pgcache_flush() для очистки кеша страниц. Пример использования:

function wpbox_clear_w3_total_cache() {
    if (function_exists('w3tc_pgcache_flush')) {
        w3tc_pgcache_flush();
    }
}
add_action('wpbox_daily_cache_clear', 'wpbox_clear_w3_total_cache');

Практические рекомендации по безопасности и производительности

При реализации автоматического удаления кеша важно:

  • Убедиться, что скрипты имеют права на удаление файлов;
  • Не удалять кеш слишком часто, чтобы не перегружать сервер;
  • Проверять, что удаляются именно старые файлы, чтобы не потерять актуальный кеш;
  • Использовать логирование для контроля работы автоматизации;
  • Тестировать на тестовом сайте перед внедрением на рабочем.

Если используете сторонние плагины кеширования, изучите их API и возможности очистки кеша — это поможет избежать конфликтов и ошибок.

Как избежать конфликтов между плагинами в WordPress: практические методы и примеры
07.12.2025
Как создать автоматическое сохранение данных в WordPress с помощью AJAX и плагинов
03.01.2026
Как удалить пустые метаданные из базы WordPress для оптимизации
11.12.2025
WordPress: как изменить URL авторской страницы
13.11.2025
Как создать свой шорткод в WordPress: подробное руководство
04.11.2025