wp-kurs.ru wordpress WP-Kurs

Как удалить автоматически создающиеся временные файлы в WordPress

Если вы заметили, что на вашем сайте WordPress регулярно появляются временные файлы, которые занимают место на сервере и могут замедлять работу сайта, эта статья для вас. Временные файлы (temporary files) создаются плагинами, темами или самим ядром WordPress для различных целей: кеширования, бэкапов, логов или промежуточных данных. Однако без контроля они могут накапливаться и создавать проблемы.

Что такое временные файлы в WordPress и почему их нужно удалять

Временные файлы — это файлы, которые создаются для временного хранения информации, необходимой для работы сайта. Например, плагины кеширования создают временные файлы с кешированным содержимым страниц, а некоторые плагины для создания резервных копий создают временные архивы.

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

Регулярное удаление временных файлов — хорошая практика технического обслуживания WordPress-сайта.

Где находятся временные файлы WordPress и как их найти

Чаще всего временные файлы хранятся в следующих директориях:

  • wp-content/uploads/tmp/ — временные загрузки;
  • wp-content/cache/ — кеш плагинов;
  • wp-content/backup-db/ — временные бэкапы;
  • wp-content/plugins/ — временные файлы, создаваемые плагинами;
  • wp-content/wflogs/ — логи плагина Wordfence;
  • корневая папка сайта — иногда плагины создают временные файлы здесь.

Для поиска таких файлов можно использовать FTP или файловый менеджер хостинга, а также подключаться к серверу по SSH и использовать команду find:

find /path/to/wordpress -type f -name '*.tmp'
find /path/to/wordpress -type f -mtime +7

Первая команда ищет все файлы с расширением .tmp, вторая — файлы старше 7 дней.

Как программно удалять временные файлы в WordPress

Чтобы автоматизировать удаление временных файлов, можно написать простой плагин или добавить код в functions.php вашей темы. Ниже пример функции, которая удаляет временные файлы из папки wp-content/uploads/tmp/ старше 3 дней.

function wpkurs_delete_old_temp_files() {
    $upload_dir = wp_upload_dir();
    $tmp_dir = $upload_dir['basedir'] . '/tmp';

    if ( ! is_dir( $tmp_dir ) ) {
        return;
    }

    $files = scandir( $tmp_dir );
    $now = time();
    foreach ( $files as $file ) {
        if ( $file === '.' || $file === '..' ) {
            continue;
        }
        $file_path = $tmp_dir . '/' . $file;
        if ( is_file( $file_path ) ) {
            $file_mtime = filemtime( $file_path );
            if ( ( $now - $file_mtime ) > 3 * DAY_IN_SECONDS ) {
                unlink( $file_path );
            }
        }
    }
}

add_action( 'wp_loaded', 'wpkurs_delete_old_temp_files' );

Эта функция при каждом загрузке сайта проверяет папку временных файлов и удаляет те, которые старше 3 дней. Можно настроить запуск через WP-Cron для уменьшения нагрузки.

Запуск очистки через WP-Cron

Для более оптимального подхода лучше запускать очистку периодически, например, раз в сутки. Добавим задачу в WP-Cron:

if ( ! wp_next_scheduled( 'wpkurs_daily_temp_cleanup' ) ) {
    wp_schedule_event( time(), 'daily', 'wpkurs_daily_temp_cleanup' );
}

add_action( 'wpkurs_daily_temp_cleanup', 'wpkurs_delete_old_temp_files' );

Теперь функция wpkurs_delete_old_temp_files будет запускаться автоматически раз в день.

Как очистить кеш плагинов с помощью кода и плагинов

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

Например, для плагина Clearfy Pro доступна функция очистки кеша. В документации Clearfy есть подробности, как вызвать очистку из кода.

Если плагин кеширования хранит файлы в wp-content/cache, можно использовать функцию выше, изменив путь.

Удаление временных файлов плагинов резервного копирования

Плагины для бэкапа, например UpdraftPlus или BackWPup, создают временные файлы во время работы. Если они не удаляются автоматически, это приводит к накоплению мусора.

Для UpdraftPlus можно очистить временные файлы из админки, но для автоматизации лучше настроить регулярную очистку. В коде можно добавить удаление файлов из папки wp-content/updraft.

Пример удаления временных файлов бэкапа

function wpkurs_cleanup_backup_temp_files() {
    $backup_dir = WP_CONTENT_DIR . '/updraft';
    if ( ! is_dir( $backup_dir ) ) {
        return;
    }
    $files = scandir( $backup_dir );
    $now = time();
    foreach ( $files as $file ) {
        if ( $file === '.' || $file === '..' ) {
            continue;
        }
        $file_path = $backup_dir . '/' . $file;
        if ( is_file( $file_path ) ) {
            $file_mtime = filemtime( $file_path );
            if ( ( $now - $file_mtime ) > 7 * DAY_IN_SECONDS ) {
                unlink( $file_path );
            }
        }
    }
}

add_action( 'wpkurs_daily_temp_cleanup', 'wpkurs_cleanup_backup_temp_files' );

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

Использование плагина My Popup для вывода уведомлений при очистке временных файлов

Если вы хотите информировать администратора сайта о результатах очистки временных файлов, можно использовать плагин My Popup.

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

Выводы и рекомендации по удалению временных файлов в WordPress

Удаление временных файлов — важная задача для поддержания производительности и чистоты сайта. Рекомендуется:

  • Регулярно проверять папки с временными файлами;
  • Автоматизировать очистку через WP-Cron и собственные функции, как показано в примерах;
  • Использовать встроенные средства плагинов кеширования и резервного копирования;
  • Информировать администратора о результатах очистки с помощью уведомлений.

Сочетание этих методов поможет избежать переполнения диска и ускорит работу сайта.

×
Делай сайт лучше!!

-20% на премиум темы и плагины

Использовать скидку ⋙