✈ Обсудить задачу
Все кейсы / SEO и контент

Сжали 65 фото каталога со 164 до 11 МБ, не меняя имён файлов и ссылок магазина

Отрасль: Производитель мебелиНаправление: SEO и контент
164 → 11 МБсуммарный вес 65 файлов
65 из 65отдаются с ответом 200 и весят меньше 400 КБ
SSIM 0,96-0,99на выборке против оригинала, без видимой потери
Хочу так же

Было

  • Фото в галереях товаров весили 2,5-8 МБ, многие в CMYK
  • Сжать под веб, не меняя имён файлов, чтобы не сломать ссылки магазина
  • Доступ к файлам только через файловый коннектор MODX, без FTP и SSH

Что сделали

  • PNG: перевод в RGB, уменьшение до 1024 px, pngquant и oxipng, имя и расширение прежние
  • JPEG пересжимается как JPEG, формат внутри совпадает с расширением
  • Замена файлов через коннектор MODX тем же именем и сброс кэша
  • Бэкап каждого оригинала, размер сверен до байта
  • Проверка на проде: ответ, вес и формат каждого файла; alt и слайдер на выборке карточек

До и после

ЧтоБылоСтало
Вес фото в карточке2,5-8 МБ32-371 КБ
Суммарный вес 65 файлов164 МБ11 МБ

Результат

  • Обе партии сжатия прошли независимую проверку на проде
  • Имена файлов, ссылки и база магазина не тронуты
  • Подписи alt на карточках целы, слайдер отдаёт сжатую версию

Технологии

PythonPillowpngquantoxipngscikit-image (SSIM)MODX RevolutionminiShop2
Что важно в таком проекте. Скрипт всегда отдавал PNG, и 27 файлов .jpg залились с PNG внутри. Поймали сверкой формата байтов с расширением, теперь сжатие ветвится по расширению.

Похожая задача?

Опишите её в двух строках в Telegram. Ответим, как бы сделали, в какой срок и за какие деньги.

Написать в Telegram

Похожие кейсы