Skyneuron Image Optimizer
Skyneuron Image Optimizer — професійний модуль масової оптимізації зображень для OpenCart 2.3–4, що використовує PHP ImageMagick для стиснення та конвертації фотографій товарів безпосередньо в адмін-панелі.
Як це працює
Модуль сканує зображення товарів, категорій і виробників, додає їх у чергу, після чого обробляє пакетами через AJAX-запити. Кожен запит є незалежним — браузер може бути закритий, а оптимізація продовжиться на сервері. Курсорна пагінація замість OFFSET гарантує стабільну роботу навіть на магазинах з 1 000 000+ зображень.
Режими обробки
— Оптимізація без зміни формату — JPEG: видалення метаданих, прогресивне кодування, оптимізація таблиць Хаффмана. PNG: беззбиткове перестиснення та видалення метаданих
— Конвертація PNG → JPG — автоматичне згладжування прозорого фону на заданий колір, оновлення шляхів у базі даних, видалення оригінального PNG після успішної конвертації
— Dry Run — попередня оцінка економії без жодних змін у файлах. Показує скільки місця буде звільнено перед реальним запуском
Захист і надійність
— Резервне копіювання оригіналів у форматі gzip перед будь-якою зміною файлу
— Автоматичне відновлення з backup якщо результат обробки пошкоджений або більший за оригінал
— Транзакційне оновлення бази даних — при конвертації всі таблиці оновлюються в рамках однієї транзакції, часткове оновлення неможливе
— Захист backup-директорії через .htaccess — веб-доступ до резервних копій заблоковано автоматично
— Advisory lock через flock() — запобігає одночасному запуску двох процесів оптимізації
Інтелектуальна обробка
— Виявлення вже оптимізованих файлів за MD5-хешем — якщо файл не змінився з попереднього запуску, він пропускається автоматично
— Виявлення дублікатів — після сканування показує групи фізично ідентичних файлів і скільки місця витрачається даремно
— Три режими пріоритету черги: за порядком сканування, найбільші файли першими, найменші першими
Зручність використання
— Пауза / Продовження — курсор зберігається в localStorage, оптимізацію можна відновити навіть після перезавантаження сторінки
— Estimated time remaining — прогноз часу на основі середньої тривалості останніх 5 батчів
— Прогрес у вкладці браузера — заголовок вкладки показує відсоток виконання під час оптимізації
— Автоматичний retry — при таймауті (90 секунд) клієнт автоматично повторює запит до 3 разів
— Фільтр формату при скануванні — All / PNG only / JPG only
— Топ найбільших неоптимізованих файлів — показує де найбільший потенціал для економії одразу після сканування
Статистика та аналітика
— Історія сесій оптимізації — час початку та завершення, тривалість, кількість оброблених файлів, помилки, зекономлені байти
— Топ категорій за зекономленим місцем з прогрес-барами
— Статистика черги — розподіл по форматах, файли з прозорістю, відсутні файли, загальний розмір
— Вбудований переглядач лог-файлу з підтримкою копіювання
Технічні характеристики
— Підтримувані формати: JPEG, PNG
— Курсорна пагінація O(log N) — без деградації на великих каталогах
— Сканування категорій та виробників разом із товарами
— Налаштування: якість JPEG, прогресивне кодування, стриппінг метаданих, оптимізація Хаффмана, максимальні розміри (ширина/висота), розмір батчу, затримка між батчами
— Логування з трьома рівнями: INFO, WARNING, ERROR
Сумісність: OpenCart 2.3 – 4
Залежності: PHP ImageMagick extension
Як це працює
Модуль сканує зображення товарів, категорій і виробників, додає їх у чергу, після чого обробляє пакетами через AJAX-запити. Кожен запит є незалежним — браузер може бути закритий, а оптимізація продовжиться на сервері. Курсорна пагінація замість OFFSET гарантує стабільну роботу навіть на магазинах з 1 000 000+ зображень.
Режими обробки
— Оптимізація без зміни формату — JPEG: видалення метаданих, прогресивне кодування, оптимізація таблиць Хаффмана. PNG: беззбиткове перестиснення та видалення метаданих
— Конвертація PNG → JPG — автоматичне згладжування прозорого фону на заданий колір, оновлення шляхів у базі даних, видалення оригінального PNG після успішної конвертації
— Dry Run — попередня оцінка економії без жодних змін у файлах. Показує скільки місця буде звільнено перед реальним запуском
Захист і надійність
— Резервне копіювання оригіналів у форматі gzip перед будь-якою зміною файлу
— Автоматичне відновлення з backup якщо результат обробки пошкоджений або більший за оригінал
— Транзакційне оновлення бази даних — при конвертації всі таблиці оновлюються в рамках однієї транзакції, часткове оновлення неможливе
— Захист backup-директорії через .htaccess — веб-доступ до резервних копій заблоковано автоматично
— Advisory lock через flock() — запобігає одночасному запуску двох процесів оптимізації
Інтелектуальна обробка
— Виявлення вже оптимізованих файлів за MD5-хешем — якщо файл не змінився з попереднього запуску, він пропускається автоматично
— Виявлення дублікатів — після сканування показує групи фізично ідентичних файлів і скільки місця витрачається даремно
— Три режими пріоритету черги: за порядком сканування, найбільші файли першими, найменші першими
Зручність використання
— Пауза / Продовження — курсор зберігається в localStorage, оптимізацію можна відновити навіть після перезавантаження сторінки
— Estimated time remaining — прогноз часу на основі середньої тривалості останніх 5 батчів
— Прогрес у вкладці браузера — заголовок вкладки показує відсоток виконання під час оптимізації
— Автоматичний retry — при таймауті (90 секунд) клієнт автоматично повторює запит до 3 разів
— Фільтр формату при скануванні — All / PNG only / JPG only
— Топ найбільших неоптимізованих файлів — показує де найбільший потенціал для економії одразу після сканування
Статистика та аналітика
— Історія сесій оптимізації — час початку та завершення, тривалість, кількість оброблених файлів, помилки, зекономлені байти
— Топ категорій за зекономленим місцем з прогрес-барами
— Статистика черги — розподіл по форматах, файли з прозорістю, відсутні файли, загальний розмір
— Вбудований переглядач лог-файлу з підтримкою копіювання
Технічні характеристики
— Підтримувані формати: JPEG, PNG
— Курсорна пагінація O(log N) — без деградації на великих каталогах
— Сканування категорій та виробників разом із товарами
— Налаштування: якість JPEG, прогресивне кодування, стриппінг метаданих, оптимізація Хаффмана, максимальні розміри (ширина/висота), розмір батчу, затримка між батчами
— Логування з трьома рівнями: INFO, WARNING, ERROR
Сумісність: OpenCart 2.3 – 4
Залежності: PHP ImageMagick extension