Image Optimization for a 10,000-SKU WooCommerce Catalogue

Optimizing images on a 20-page brochure site is a five-minute job. Optimizing them on a WooCommerce store with 10,000 products is a different animal entirely.
Not because the compression is harder. It isn’t. The problem is scale: the sheer number of files, the credits, the server load, and the fact that new products keep arriving while you’re still dealing with the old ones.
Here’s how to get through it in one pass, and how to make sure you never have to do it again.
Why 10,000 products means way more than 10,000 images
Let’s do the math, because most store owners underestimate this by an order of magnitude.
A typical product has one featured image and three or four gallery images. Call it four uploads per SKU. That’s already 40,000 original files.
Now add the thumbnails. Every time you upload an image, WordPress generates its default sizes (thumbnail, medium, medium_large, large, plus the 1536px and 2048px versions on newer installs). WooCommerce then adds three of its own: woocommerce_thumbnail, woocommerce_single and woocommerce_gallery_thumbnail. Your theme and plugins may register a few more.
So one upload can easily turn into 10 files on disk.
| Per product | Whole catalogue | |
| Original uploads | 4 | 40,000 |
| Generated thumbnails (~9 sizes) | 36 | 360,000 |
| Total files | 40 | ~400,000 |
Four hundred thousand image files. If they’re unoptimized product photos straight from the supplier, you’re looking at a lot of storage and a store where every category page pulls megabytes of images before the visitor sees a single price.
That’s the real problem. Not “how do I compress a photo,” but “how do I compress 400,000 of them without breaking the site, blowing the budget, or babysitting a progress bar for a week.”
Step 1: prepare before you press “Bulk”
Bulk optimization on this scale is much easier when you get the settings right first. Ten minutes here saves hours later.
Back up your uploads folder. ShortPixel keeps backups of your originals by default (in wp-content/uploads/ShortpixelBackups), and you’ll want them: they’re what lets you restore an image and re-optimize it at a different level later. For 40,000 originals that’s a lot of extra disk space, though. Turn on Smart Backups (under Settings > ShortPixel > Processing) so only the main image is backed up and thumbnails are regenerated on restore, and set an automatic cleanup rule so old backups don’t pile up. If disk space is really tight, take your own backup first and disable the plugin’s backup entirely. Just don’t skip both.
Exclude thumbnail sizes you don’t use. This is the single biggest cost saver. Go to Settings > ShortPixel > Exclusions > Exclude thumbnail sizes and look at the list of registered image sizes. If your theme never displays the 2048×2048 version, or the old shop_catalog size left over from a previous theme, untick them. Every excluded size can mean up to roughly 40,000 fewer files to process in this example.
Turn on “Resize large images.” You’ll find it under Settings > ShortPixel > Image Optimization. Supplier photos are often 4000px wide or more, which is frequently larger than the storefront actually needs. Set a maximum dimension that still covers the largest image size your store uses (zoom and large gallery views included), and ShortPixel will downscale the originals before compressing them. How much you save depends on the images, but for oversized supplier photos it’s usually the biggest single win.
Decide on WebP/AVIF now. Converting to WebP or AVIF can be done later too, for images that are already optimized, but deciding now keeps the workflow simpler and means one bulk run instead of two.
Test on a handful of products first. Pick a few representative images from the Media Library (a textured fabric, a product with a logo, a white-background shot) and optimize them individually before you touch the bulk tool. Open the product pages and zoom in. If you’re happy with those, you’ll have a much better idea of what to expect from the full bulk run.
Step 2: pick the right compression level for product photos
This is where store owners tend to overthink it. The gap between lossy and lossless compression is real, but on a product grid viewed from a phone it’s a lot smaller than it sounds.
| Level | Best for |
| Lossy | Most catalogues: electronics, tools, packaged goods, home & garden. Smallest files, best page speed. |
| Glossy | Fashion, jewellery, cosmetics, art prints, anything where texture and colour sell the product. Near-original quality with a solid size reduction. |
| Lossless | Technical diagrams, size charts, anything with fine text. Pixel-identical to the original, smallest saving. |
Lossy is what ShortPixel recommends for most sites, and for a big catalogue of everyday products it’s usually the right call.
Glossy is the one to look at when your photography is the product. It was built for exactly this kind of situation: images where the details and accurate colours matter, but you still want a real reduction in file size. A €900 handbag deserves a bit more headroom than a pack of AA batteries.
Lossless is rarely the right choice for regular product photos. It’s better suited to things like size charts, diagrams, or other images where preserving every pixel matters.
You don’t have to commit forever. With backups enabled, ShortPixel lets you restore an image and re-optimize it at a different level from the Media Library, so you’re never compressing an already compressed file.
Step 3: run bulk optimization
Once the settings are in place, the actual work is easy. That’s the point.
Go to Media > Bulk ShortPixel. The plugin scans the Media Library, tells you how many images and thumbnails it found and how many credits the job needs, and asks you to confirm.
Press start.
Two things make this workable at 400,000 files:
The processing doesn’t happen on your server. Your hosting only sends files to the ShortPixel cloud and receives the optimized versions back. The CPU-heavy compression work is handled away from your hosting server.
You don’t have to keep the tab open. ShortPixel has a Background mode that uses cron jobs to keep processing the queue when no admin window is open. Enable it in Settings > ShortPixel > Processing (or directly from the Media > Bulk ShortPixel page), start the bulk run, close your laptop.
Background mode can be slower than keeping the bulk page open, especially on low-traffic sites or shared hosting, because WordPress’s default WP-Cron is triggered by site visits. Two ways to speed it up:
- Set up a real server cron instead of relying only on visitor-triggered WP-Cron. Check your host’s documentation and ShortPixel’s cron guide for the appropriate interval.
- Use WP-CLI if you have SSH access. Running the optimization from the command line is particularly useful for very large Media Libraries, and it doesn’t depend on cron or browser tabs.
How long the whole thing takes depends on your hosting, your traffic, and how many files you excluded in step 1. The point is that you don’t have to sit there watching it.
Optimizing a WooCommerce store with tens of thousands of products?
ShortPixel Image Optimizer handles the whole Media Library in one bulk run, moves the CPU-heavy compression work to ShortPixel’s servers, and can keep working in the background while you get on with the actual store. Give it a try.
Step 4: keep new products optimized automatically
Here’s the part most guides skip: the bulk run fixes the past, not the future.
If you add 200 products a week, that’s thousands of new files a week showing up unoptimized. You need the optimization to be invisible from now on.
Optimize on upload. Make sure Optimize media on upload is enabled (it is by default). New images added to the Media Library are automatically queued for optimization.
Handle product imports. If your importer (CSV, WP All Import, a PIM sync, a supplier feed) creates normal Media Library attachments, those images enter the same optimization workflow as any other newly added media. If it writes files directly to disk instead, add that location under Custom Media folders. ShortPixel scans those folders periodically for new images.
Give staff a rule for dimensions, not compression. If product photos regularly arrive at 5000 or 6000 pixels wide, give your team a sensible maximum dimension for uploads. There’s no need to compress them before uploading if ShortPixel is already handling that part; keeping the dimensions under control is enough.
What to expect afterwards
Once the bulk run is finished, test the same category and product pages you checked before optimization.
Look at the total image weight, load time, and Core Web Vitals. On image-heavy WooCommerce pages, reducing oversized product images and serving smaller modern formats can make a noticeable difference, especially on mobile.
How big a difference?
That depends entirely on what you started with.
A catalogue full of oversized, uncompressed supplier photos has much more room to improve than one where the images were already reasonably sized and compressed.
If you also want to serve images from a global edge network, pairing the plugin with an image CDN is the natural next step.
The useful part is that this is mostly a one-time cleanup. Once the existing Media Library is optimized, Optimize media on upload takes care of new images automatically, and you don’t have to think about it again.
FAQs
How many credits do I need for 10,000 products?
One credit per image or thumbnail optimized, plus one extra credit for each WebP or AVIF version. The bulk page shows the estimate before you start, and at this scale an Unlimited plan may be easier to budget for.
Will bulk optimization slow down my live store?
Usually, visitors shouldn’t notice a difference. The compression itself happens on ShortPixel’s servers, so the optimization isn’t using any resources on your side.
Can I optimize only part of the catalogue?
Yes. Select images in the Media Library list view and run a bulk optimization on just those.
What happens if I change my mind about Lossy vs Glossy?
With backups enabled, you can restore any image and re-optimize it at a different level, individually or in bulk.
Do I need to regenerate WooCommerce thumbnails after optimizing?
No. ShortPixel optimizes the thumbnails that already exist. If you later change your image sizes or regenerate WooCommerce thumbnails, treat that as a separate operation, since regenerated files may need to be optimized again.
Try ShortPixel on WordPress for free!
Easily optimize your pictures and generate WebP/AVIF in bulk using ShortPixel Image Optimizer.