✈ Discuss your project
All case studies / SEO & Content

Compressed 65 catalog photos from 164 to 11 MB without changing file names or store links

Industry: Furniture manufacturerService: SEO and content
164 → 11 MBtotal size of 65 files
65 of 65return a 200 response and are under 400 KB
SSIM 0.96-0.99on a sample compared with the originals, with no visible loss
I need something similar

Before

  • Product gallery photos were 2.5-8 MB, many in CMYK
  • Compress them for the web without changing file names, so store links would not break
  • File access only through the MODX file connector, without FTP or SSH

What we built

  • PNG: converted to RGB, resized to 1024 px, processed with pngquant and oxipng, keeping the same name and extension
  • JPEG recompressed as JPEG, with the internal format matching the extension
  • Replaced files through the MODX connector using the same names and cleared the cache
  • Backed up every original, with file sizes verified down to the byte
  • Checked in production: response, size, and format of every file; alt text and slider on a sample of product pages

Before and after

WhatBeforeAfter
Photo size on product page2.5-8 MB32-371 KB
Total size of 65 files164 MB11 MB

Result

  • Both compression batches passed independent checks in production
  • File names, links, and the store database were not changed
  • Alt text on product pages remained intact, and the slider serves the compressed version

Technology

PythonPillowpngquantoxipngscikit-image (SSIM)MODX RevolutionminiShop2
What matters in a project like this. The script always output PNG, so 27 .jpg files were uploaded with PNG content inside. We caught it by comparing the byte format with the extension. Compression now branches by extension.

Have a similar project?

Describe it in two lines in Telegram. We'll explain how we'd approach it, how long it would take, and what it would cost.

Message me on Telegram

Similar case studies