Skip to Content

WordPress Image Optimization: Cut Load Time in Half

It's not rocket science, but most people don't do it

Images account for 60 to 80 percent of an average web page's total size. Yet people upload 4000-pixel-wide JPEGs straight from the camera and wonder why the site is slow. Proper image handling can cut load time in half without visible quality loss.

WebP format

WebP delivers 25 to 35 percent smaller file sizes compared to JPEG at the same visual quality. WordPress supports it natively since version 5.8. Plugins like ShortPixel or Imagify convert automatically on upload and serve the right format based on browser support.

Lazy loading

Built in since WordPress 5.5. Images load only when scrolled into viewport instead of all loading at page load. Verify with DevTools that loading="lazy" is present on img tags. Images above the fold (hero, logo) should have loading="eager" or fetchpriority="high" instead.

Right resolution

A column that's 600 pixels wide doesn't need a 4000-pixel-wide image. WordPress creates intermediate sizes automatically (thumbnail, medium, large), but check that your theme actually uses them. And enable srcset if it's not already on.

CDN

Cloudflare on the free plan gives you a global CDN. BunnyCDN costs from 1 cent per GB and is fast. Images are served from the nearest data center instead of your server in Stockholm.

Combine all four: WebP, lazy loading, right resolution, CDN. Each one makes a difference. Together they make an enormous difference. And it takes maybe an hour to set up.

WP-CLI: Manage WordPress from the Terminal
Faster than clicking through admin