Why Your WordPress Site Is Slow (and How Image Compression Fixes It)
If your WordPress site is slow, you've probably been told to install a caching plugin, switch hosts, or 'optimise the database'. None of those help as much as fixing your images. Here's why, and how to do it in 15 minutes.
Drop images here or click to upload
JPG, PNG, WebP · Up to 10 images · Max 20 MB each
🔒 100% private — your images never leave your browser
How to confirm images are the problem
Open your homepage in Chrome, right-click → Inspect → Network tab → filter by 'Img'. Refresh the page and look at the size column. If a single image is over 500 KB, or your total image weight is over 2 MB, that's almost certainly your bottleneck.
You can also run the page through PageSpeed Insights — the 'Properly size images' and 'Efficiently encode images' audits will name and shame every offender.
Why WordPress doesn't fix this for you
WordPress generates several thumbnail sizes when you upload, but it does not aggressively compress the original. A 5 MB photo stays a 5 MB photo in your Media Library, and your theme often serves the original (or a near-original) variant.
Themes built around full-bleed hero images are particularly bad offenders — they tend to load the largest variant for every visitor regardless of screen size.
The 15-minute fix
- Open Media Library → sort by file size (descending).
- Download the top 20 largest images.
- Run them through the compressor on our homepage (10 at a time).
- Re-upload the compressed versions, replacing the originals.
- Clear your cache and re-test PageSpeed Insights.
Plugins to consider (and skip)
If you want ongoing automatic compression for new uploads, ShortPixel and Smush both work well and integrate cleanly. The free tiers cap monthly compressions, which is fine for most small sites.
Skip 'all-in-one optimization' plugins — they tend to break themes in subtle ways and the image compression they do is rarely better than what CompressPix does for free.
Bonus: fix your hero LCP
Your hero image is almost always the LCP element. Compress it, set proper width/height attributes, and add fetchpriority="high" to the img tag. Those three changes routinely take WordPress LCP from 4 s to under 1.5 s.
Frequently asked questions
Will replacing images break post layouts?
No — as long as you replace the file (rather than uploading a new one with a different name), every existing post automatically gets the smaller version.
Do I still need a caching plugin?
Caching helps, but not as much as fixing image weight. Compress first, then add caching for incremental wins.
Should I switch to a faster host?
Probably not until you've fixed your images. Most 'slow host' complaints disappear after image compression.
Ready to shrink your own images?
Free, private, runs in your browser. No signup, no limits.
Open the compressor