Optimizing Images
Vibebun Image Optimizer uses the sharp image processing library to compress your images with minimal quality loss. Optimized images replace the originals directly on Shopify’s CDN — your URLs, theme templates, and product references stay intact.
How optimization works
Section titled “How optimization works”When you click Optimize on an image, the app performs these steps:
- Download — fetches the original image from Shopify’s CDN
- Preserve original — saves a copy of the original for future rollback
- HEIC conversion — if the image is HEIC/HEIF format, converts it to JPG first
- Resize — product images are resized to fit within a maximum bounding box (default: 2048 px). Media-library images are not resized.
- Iterative compression — compresses the image, checks the file size, and repeats until it’s under your target size or the iteration budget is exhausted
- Upload — uploads the optimized image to Shopify via a staged upload
- Replace — uses Shopify’s
fileUpdateAPI to swap the image in place, preserving the existing CDN URL - Verify — polls Shopify until the replacement is confirmed
- Log — records the optimization result (original size, optimized size, savings)
Understanding the results
Section titled “Understanding the results”After optimization, each image shows an inline result:
1.25 MB → 117 KB (saved 91%)
This tells you:
- The original file size
- The new file size after optimization
- The percentage reduction
Why URLs don’t change
Section titled “Why URLs don’t change”The app uses Shopify’s fileUpdate mutation, which replaces the image binary while keeping the same CDN URL slug and media ID. This means:
- Theme templates continue to work
- Product references stay valid
- External links to your images aren’t broken
- Social media previews and Google image search results keep working
Optimization settings
Section titled “Optimization settings”You can fine-tune the optimization process in Settings:
| Setting | Default | Range | Description |
|---|---|---|---|
| Target file size | 400 KB | 50–5,000 KB | Images larger than this will be compressed |
| Initial quality | 80% | 10–100% | Starting quality for compression; decreases each iteration |
| Max iterations | 5 | 1–20 | Maximum compression attempts before stopping |
| Max dimension | 2,048 px | 512–4,096 px | Product images are resized to fit within this bounding box |
See the Settings guide for details on adjusting these values.
Quota usage
Section titled “Quota usage”Each successfully optimized image counts as one optimization against your monthly quota:
| Plan | Monthly optimizations |
|---|---|
| Free | 50 |
| Basic | 1,000 |
| Advanced | 3,000 |
Failed optimizations and rollbacks do not count. Your quota resets on your billing-cycle anniversary.
Concurrent processing
Section titled “Concurrent processing”The number of images that can be optimized simultaneously depends on your plan:
| Plan | Concurrent limit |
|---|---|
| Free | 3 |
| Basic | 5 |
| Advanced | 10 |
When you optimize more images than your concurrent limit, the extras are queued automatically and processed as slots become available.
Tips for best results
Section titled “Tips for best results”- Start with default settings — the defaults (400 KB target, 80% quality, 2048 px max) work well for most stores
- Check large images first — use the “Over target KB” filter to find the biggest optimization opportunities
- Adjust quality if needed — if images look too compressed, increase the initial quality percentage in Settings
- Use bulk actions — for large catalogs, use bulk optimize instead of optimizing one by one