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

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

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

Многие пользователи WordPress устанавливают плагины кеширования, но редко заботятся об очистке старых кеш-файлов. Это приводит к следующим проблемам:

  • Переполнение дискового пространства на сервере;
  • Загрузка устаревших данных пользователям;
  • Падение производительности сайта из-за большого количества файлов;
  • Проблемы с отображением обновлённого контента.

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

Где хранится кеш и как его можно очистить

В зависимости от выбранного метода кеширования кеш-файлы могут храниться в разных местах: в папках плагинов (например, WP Super Cache, W3 Total Cache), в объектном кеше (Redis, Memcached) или в кеше браузера. В данной статье мы сосредоточимся на файловом кеше, так как он наиболее распространён и доступен для контроля.

Пример: очистка кеша плагина WP Super Cache

WP Super Cache хранит кеш в папке wp-content/cache/supercache/. Для очистки старых кеш-файлов можно написать функцию, которая удаляет файлы старше определённого времени.

Реализация автоматического удаления кеша с помощью кода

Создадим функцию wp24_clear_old_cache(), которая будет сканировать папку кеша и удалять файлы старше 24 часов.

function wp24_clear_old_cache() {
    $cache_dir = WP_CONTENT_DIR . '/cache/supercache/'; // путь к кешу
    $files = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($cache_dir, RecursiveDirectoryIterator::SKIP_DOTS),
        RecursiveIteratorIterator::CHILD_FIRST
    );
    $now = time();
    $max_age = 24 * 60 * 60; // 24 часа

    foreach ($files as $fileinfo) {
        if ($fileinfo->isFile()) {
            $file_age = $now - $fileinfo->getMTime();
            if ($file_age > $max_age) {
                unlink($fileinfo->getRealPath());
            }
        }
    }
}

Эта функция рекурсивно проходит по всем файлам в папке кеша и удаляет те, что старше 24 часов, что позволяет поддерживать кеш в актуальном состоянии.

Как запустить очистку кеша автоматически с помощью WP-Cron

Чтобы функция запускалась регулярно, создадим задачу WP-Cron. Добавим следующий код в файл functions.php вашей темы или в отдельный плагин:

// Регистрируем событие при активации темы или плагина
function wp24_schedule_cache_cleanup() {
    if (!wp_next_scheduled('wp24_daily_cache_cleanup')) {
        wp_schedule_event(time(), 'daily', 'wp24_daily_cache_cleanup');
    }
}
add_action('wp', 'wp24_schedule_cache_cleanup');

// Хук для запуска функции очистки
add_action('wp24_daily_cache_cleanup', 'wp24_clear_old_cache');

// Отмена расписания при деактивации
function wp24_clear_schedule() {
    $timestamp = wp_next_scheduled('wp24_daily_cache_cleanup');
    if ($timestamp) {
        wp_unschedule_event($timestamp, 'wp24_daily_cache_cleanup');
    }
}
// Для плагина: register_deactivation_hook(__FILE__, 'wp24_clear_schedule');

Теперь функция wp24_clear_old_cache будет запускаться один раз в день и удалять устаревший кеш.

Дополнительные советы по работе с кешем в WordPress

Чтобы избежать проблем с кешем, стоит учитывать следующие рекомендации:

  • Настраивайте время жизни кеша в настройках плагина кеширования, если такая опция есть;
  • Регулярно проверяйте размер папки кеша и очищайте её при необходимости;
  • Используйте инструменты для очистки кеша при обновлении контента, например, вручную или через хуки;
  • Если используете объектный кеш (Redis, Memcached), настраивайте автоматическую очистку через их конфигурацию.

Пример интеграции с плагином Clearfy Pro для управления кешем

Плагин Clearfy Pro предлагает расширенные возможности по управлению кешем и оптимизации сайта. Он позволяет автоматически очищать кеш при изменении контента, а также удалять устаревшие кеш-файлы по расписанию.

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

Как автоматизировать обновление тем и плагинов в WordPress с помощью кода
17.01.2026
Как добавить автоматическое удаление неиспользуемых медиафайлов в WordPress
03.04.2026
Как удалить неиспользуемые метаданные WordPress
23.12.2025
Как избежать проблем с кэшированием в WordPress
13.12.2025
Удаление неиспользуемых таблиц в базе данных WordPress: практическое руководство
28.11.2025