wpdownload.ru wordpress WPDownload.ru

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

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

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

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

  • Объем резервных копий — растет время и размер бэкапов;
  • Производительность — при большом количестве файлов могут замедляться операции с библиотекой;
  • Организацию контента — сложно ориентироваться в медиафайлах;
  • Безопасность — старые файлы могут содержать уязвимости.

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

Использование плагинов для удаления неиспользуемых изображений

Плагин Media Cleaner

Media Cleaner — популярный плагин для поиска и удаления неиспользуемых медиа файлов. Он анализирует базу данных и контент сайта, чтобы выявить неиспользуемые записи в библиотеке.

Основные возможности:

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

Для установки перейдите в админке WordPress в раздел Плагины → Добавить новый, введите «Media Cleaner», установите и активируйте.

После активации зайдите в Медиа → Media Cleaner и запустите сканирование. Плагин покажет список неиспользуемых файлов, которые можно безопасно удалить.

Плагин WP-Optimize

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

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

Реализация автоматического удаления неиспользуемых медиа через код

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

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

function wpdownload_get_unused_attachments() {
    global $wpdb;
    // Получаем все ID вложений
    $attachments = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'attachment'");
    
    $unused = [];
    foreach ($attachments as $attachment_id) {
        $meta = get_post_meta($attachment_id);
        $guid = get_post_field('guid', $attachment_id);
        
        // Ищем использование вложения в контенте
        $used = $wpdb->get_var($wpdb->prepare(
            "SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_content LIKE %s",
            '%' . $wpdb->esc_like($guid) . '%'
        ));
        
        if (!$used) {
            $unused[] = $attachment_id;
        }
    }
    return $unused;
}

function wpdownload_delete_unused_attachments() {
    $unused = wpdownload_get_unused_attachments();
    foreach ($unused as $attachment_id) {
        wp_delete_attachment($attachment_id, true);
    }
}

// Запускаем очистку раз в неделю
add_action('wpdownload_weekly_cleanup', 'wpdownload_delete_unused_attachments');

if (!wp_next_scheduled('wpdownload_weekly_cleanup')) {
    wp_schedule_event(time(), 'weekly', 'wpdownload_weekly_cleanup');
}

Этот код:

  • Находит вложения, не используемые в содержимом постов;
  • Удаляет их полностью из базы и файловой системы;
  • Настраивает еженедельное задание для автоматизации процесса.

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

Как обезопасить процесс удаления неиспользуемых медиа

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

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

Например, в коде выше можно расширить функцию, чтобы исключать вложения с определенными метками или в определенных папках.

Заключение

Удаление неиспользуемых медиа файлов помогает оптимизировать WordPress сайт, снижая нагрузку на сервер и улучшая управление контентом. Для этого можно использовать готовые плагины, такие как Media Cleaner и WP-Optimize, либо реализовать собственное решение с помощью кода и cron-задач.

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

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше