Как настроить автоматическое удаление старого медиафайла в WordPress

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

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

Медиафайлы, такие как изображения, видео и документы, занимают значительный объём дискового пространства. С каждым новым постом или страницей в WordPress, особенно если активно используются визуальные элементы, размер папки wp-content/uploads растёт. Часто файлы остаются на сервере даже после удаления записей, где они использовались, или после замены изображений.

Накопление таких файлов приводит к нескольким проблемам:

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

Поэтому регулярное удаление неиспользуемых и старых медиафайлов — важная задача для каждого администратора WordPress.

Поиск и удаление неиспользуемых медиафайлов с помощью плагинов

Самый простой способ обнаружить и удалить неиспользуемые медиафайлы — воспользоваться специализированными плагинами. Рассмотрим несколько популярных решений.

Плагин Media Cleaner

Media Cleaner позволяет сканировать библиотеку медиафайлов и выявлять те, которые не связаны с вашими страницами, постами или плагинами. Плагин совместим с WooCommerce, Advanced Custom Fields, WPML и другими популярными расширениями.

  • Плюсы: простой интерфейс, поддержка различных типов контента.
  • Минусы: некоторые возможности доступны только в PRO-версии.

После сканирования вы можете безопасно удалять неиспользуемые файлы прямо из админки.

Плагин WP-Optimize

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

Автоматизация удаления старых медиафайлов с помощью собственного кода

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

Пример функции для удаления неиспользуемых медиафайлов старше 30 дней

function wpacademy_delete_unused_media_older_than_30_days() {
    global $wpdb;
    $date_threshold = date('Y-m-d H:i:s', strtotime('-30 days'));

    // Получаем ID вложений (attachment), которые не используются в постах
    $unused_attachments = $wpdb->get_col($wpdb->prepare(
        "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'attachment' AND post_date < %s",
        $date_threshold
    ));

    foreach ($unused_attachments as $attachment_id) {
        $meta = get_post_meta($attachment_id, '_wp_attachment_metadata', true);

        // Проверяем, используется ли файл где-либо
        $is_used = false;

        // Поиск по содержимому постов и метаданным
        $count = $wpdb->get_var($wpdb->prepare(
            "SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_content LIKE %s",
            '%' . get_attached_file($attachment_id) . '%'
        ));

        if ($count > 0) {
            $is_used = true;
        }

        if (!$is_used) {
            wp_delete_attachment($attachment_id, true);
        }
    }
}

// Запускаем функцию раз в сутки
if (!wp_next_scheduled('wpacademy_daily_media_cleanup')) {
    wp_schedule_event(time(), 'daily', 'wpacademy_daily_media_cleanup');
}
add_action('wpacademy_daily_media_cleanup', 'wpacademy_delete_unused_media_older_than_30_days');

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

Как интегрировать очистку медиа с плагином Clearfy Pro

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

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

Рекомендации и меры предосторожности при удалении медиафайлов

Удаление медиафайлов — потенциально рискованная операция, так как можно случайно удалить нужные файлы, что приведёт к поломке страниц или постов. Чтобы избежать проблем, следуйте нескольким советам:

  • Всегда делайте полный бэкап сайта и базы данных перед очисткой;
  • Используйте плагин для предварительного сканирования и просмотра списка файлов к удалению;
  • Тестируйте автоматические скрипты на тестовом сервере;
  • Если используете собственный код, добавьте логирование действий и возможность отмены удаления;
  • Периодически проверяйте состояние сайта после очистки, чтобы убедиться, что всё работает корректно.

Заключение

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

Как настроить автоматическое удаление неиспользуемых медиафайлов в WordPress
13.02.2026
Как создать автоматические бэкапы WordPress: практическое руководство
18.11.2025
Как добавить поддержку виджетов Gutenberg в собственную тему WordPress
08.01.2026
Как создать автоматические отчёты в WordPress с помощью WPExpertReview
07.04.2026
Удаление и оптимизация базы данных WordPress без плагинов: пошаговое руководство
18.02.2026