Problem
The crawl listed heavy images and broken ones with traces of the old platform. A full crawl found more than the report: thousands of heavy image links, broken images, hundreds of links to the old platform's CDN and links to an old domain. The ticket said to switch on modern image formats, but BigCommerce has no such switch.
Solution
Measurements first, then one fix per cause. Before any write, I backed up all content and the active theme and tested a restore. Scripts run in dry-run mode unless told otherwise. The key finding: the CDN re-encodes at a fixed quality, so file weight depends on the requested width, not on the master file. The main lever was correct image sizes in the theme and in content markup.
Key decisions
Chose to reduce the requested width, not master-file quality
Why Measurements showed master files of very different weights served almost the same bytes at one width.
Chose not to rely on switching on WebP or AVIF
Why Conversion at the CDN is inconsistent, and some paths are never converted.
Chose a full backup with a tested restore before the first write
Why The scripts rewrite hundreds of content fields, product images and the theme, so there had to be a way back.
Chose to replace product master files through the Catalog API
Why BigCommerce then rebuilds every size itself, and original file names stay for image search.