В процессе активной работы с WordPress-сайтом количество загруженных изображений может значительно вырасти. Многие из них остаются неиспользуемыми — старые логотипы, временные скриншоты, дубли и просто забытые медиафайлы. Это приводит к неоправданному росту размера базы данных и дискового пространства, замедляет резервное копирование и усложняет обслуживание сайта.
Почему важно удалять неиспользуемые изображения в WordPress
Накопление неиспользуемых изображений влияет на производительность сайта и удобство администрирования. Медленный сайт негативно сказывается на SEO и пользовательском опыте. Кроме того, резервное копирование и миграция сайта занимают больше времени и ресурсов.
Регулярное удаление таких файлов помогает:
- освободить место на сервере;
- ускорить работу сайта;
- упростить структуру медиатеки;
- уменьшить время создания резервных копий;
- повысить безопасность, избавляясь от устаревших и потенциально уязвимых файлов.
Автоматический поиск и удаление неиспользуемых изображений
Ручной поиск по медиафайлам и записям — трудоемкая и рискованная задача. Лучше воспользоваться автоматическими инструментами и плагинами, которые сканируют контент и выявляют неиспользуемые изображения.
Плагин Media Cleaner: как работает и настройка
Media Cleaner — популярный плагин, который анализирует базу данных и контент сайта, выявляя медиафайлы, которые не задействованы в записях, страницах, виджетах, пользовательских типах записей и даже слайдерах.
Плагин работает в два этапа: сначала сканирует базу и файловую систему, затем предлагает безопасно удалить найденные «мусорные» файлы. Важно перед удалением сделать резервную копию.
Основные шаги для работы с Media Cleaner:
- Установить и активировать плагин.
- Перейти в раздел Media > Cleaner.
- Запустить сканирование, дождаться результата.
- Просмотреть список неиспользуемых файлов.
- Удалить выбранные изображения, либо поместить их в карантин.
Пример кода для удаления неиспользуемых изображений программно
Если хочется автоматизировать процесс и интегрировать удаление в свой функционал, можно использовать следующий пример кода. Он проверяет, используется ли медиафайл в постах, и удаляет его, если не найдено ссылок.
function wp5ru_delete_unused_image($attachment_id) {
global $wpdb;
$query = $wpdb->prepare(
"SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_content LIKE %s",
'%"' . $attachment_id . '"%'
);
$count = $wpdb->get_var($query);
if ($count == 0) {
// Удаляем изображение навсегда
wp_delete_attachment($attachment_id, true);
return true;
}
return false;
}
Этот код можно расширить, добавив проверку для различных типов контента или метаданных.
Советы по безопасности и резервному копированию перед удалением
Перед тем как запускать массовое удаление изображений, обязательно сделайте резервную копию сайта и базы данных. Это позволит быстро восстановить данные при ошибках.
Используйте плагины резервного копирования, например, Backup Master или популярные сторонние решения.
Также рекомендуется сначала тестировать удаление на копии сайта или локальной среде.
Альтернативные плагины и инструменты для оптимизации медиатеки
Кроме Media Cleaner, есть и другие полезные плагины для управления медиатекой:
- DNUI (Delete Not Used Image) — простой и эффективный плагин для поиска и удаления неиспользуемых изображений.
- Image Cleanup — позволяет фильтровать и удалять неиспользуемые медиафайлы, удобен для небольших сайтов.
- WP-Optimize — комплексный плагин для оптимизации базы данных и удаления ненужных данных, включая медиафайлы.
Выбор зависит от конкретных задач и масштаба сайта.
Заключение
Удаление неиспользуемых изображений в WordPress — важная задача для поддержания производительности и чистоты сайта. Использование автоматических инструментов и плагинов, таких как Media Cleaner, значительно упрощает процесс и снижает риски ошибок.