Безопасная очистка папки image/catalog/ от изображений, которые больше не используются на сайте.
Модуль подходит для магазинов, где со временем накапливаются тысячи старых файлов после удаления товаров, смены фотографий, импорта, парсинга, обновления каталога или работы сторонних модулей.
Главная задача модуля — освободить место на сервере и при этом не удалить используемые изображения.
Что умеет модуль
Модуль выполняет глубокий поиск использования изображений по сайту и только после этого показывает файлы, которые потенциально можно удалить.
Проверяются:
- товары;
- дополнительные изображения товаров;
- категории;
- производители;
- баннеры;
- настройки OpenCart;
- описания товаров и категорий;
- HTML-контент;
- данные сторонних модулей;
- JSON;
- текстовые поля базы данных;
- PHP;
- Twig;
- JavaScript;
- CSS;
- XML;
- другие файлы сайта.
Если изображение найдено хотя бы в одном месте, оно считается используемым и не попадает в список очистки.
Максимально безопасный алгоритм
Модуль специально работает по принципу:
Лучше оставить несколько лишних файлов, чем случайно удалить нужную картинку.
Поэтому учитываются разные варианты использования изображения:
catalog/product/image.jpgimage/catalog/product/image.jpg- полный URL изображения
- упоминание имени файла
Даже если модуль обнаружит только имя изображения, такой файл будет считаться потенциально используемым.
Корзина вместо моментального удаления
Найденные изображения не удаляются сразу.
Сначала файлы перемещаются в специальный карантин:
image/_unused_quarantine/
После этого можно проверить сайт.
Если изображение всё-таки оказалось нужным — его можно восстановить.
Окончательное удаление выполняется отдельно.
Повторная проверка перед удалением
Перед перемещением выбранных изображений модуль ещё раз проверяет их использование.
Это защищает от ситуации, когда после первоначального сканирования изображение было добавлено в товар, категорию, баннер или модуль.
Защита новых изображений
Можно задать минимальный возраст файла.
Например, не показывать изображения, загруженные менее 7 дней назад.
Это особенно полезно при:
- автоматическом импорте;
- работе парсеров;
- обновлении товаров;
- синхронизации с поставщиками;
- массовой загрузке изображений.
Исключение папок
Можно указать каталоги, которые модуль вообще не должен проверять и удалять.
Например:
- изображения дизайна;
- служебные изображения;
- папки сторонних модулей;
- вручную созданные системные каталоги.
Для чего нужен модуль
Со временем папка image/catalog/ может занимать десятки гигабайт.
Причины:
- удалённые товары;
- старые фотографии товаров;
- повторные импорты;
- смена изображений;
- парсеры;
- тестовые изображения;
- удалённые категории;
- старые баннеры.
OpenCart самостоятельно такие файлы не очищает.
Модуль позволяет найти этот мусор и безопасно освободить дисковое пространство.
Преимущества
- безопасный поиск неиспользуемых изображений;
- глубокая проверка базы данных;
- проверка файлов сайта;
- поддержка сторонних модулей;
- поиск изображений внутри HTML и JSON;
- карантин перед удалением;
- восстановление изображений;
- повторная проверка перед очисткой;
- защита недавно загруженных файлов;
- исключение отдельных папок;
- подходит для больших интернет-магазинов;
- позволяет существенно освободить место на сервере.
Совместимость
- OpenCart 3.x
- ocStore 3.x
Установка выполняется через стандартный установщик расширений OpenCart.
Как пользоваться
- Установите модуль.
- Запустите сканирование.
- Просмотрите найденные изображения.
- Выберите файлы для очистки.
- Переместите их в карантин.
- Проверьте сайт.
- При необходимости восстановите файлы.
- После проверки окончательно очистите карантин.
Модуль особенно рекомендуется магазинам с большим каталогом товаров, регулярным импортом, парсингом и частым обновлением изображений.