Core Web Vitals 27 July 2026 4 min read

WordPress Image Optimisation: Settings That Actually Matter

Most WordPress sites carry more image weight than they need to. Not because nobody tried to fix it, but because the settings people adjust are often the wrong ones. Compress a JPEG to 80% quality and congratulate yourself, meanwhile the file is still the wrong format, the wrong dimensions, and loading before the browser even needs it. These are the settings that actually shift the numbers.

On this page
  1. Set a Maximum Upload Width and Stick to It
  2. Convert to WebP, Not Just Compress
  3. Lazy Load Below-the-Fold Images
  4. Only Generate the Thumbnail Sizes You Actually Use
  5. Use Responsive Images Properly
  6. One Setting People Overlook: Image Quality on Resize
Share:

Set a Maximum Upload Width and Stick to It

WordPress lets you upload any size image, and most people do exactly that. A 4,000-pixel-wide photo from a phone gets uploaded, stored, and served, even when the content column it sits in is 800 pixels wide. The file stays enormous in the media library, and every visitor pays for it.

Go to Settings, then Media, and set a hard maximum for large images. WordPress will scale down on upload. For most sites, 1,600 pixels wide is generous. Blog images rarely need more than 1,200. Set it once and every future upload is handled automatically. This is one of those quiet adjustments that pays off for the life of the site.

Convert to WebP, Not Just Compress

JPEG compression is not the answer it was five years ago. WebP serves roughly the same visual quality at 25-35% smaller file sizes, and browser support is now essentially universal. If your images are still being served as JPEGs or PNGs, you are carrying unnecessary weight on every page load.

Most reputable image plugins handle WebP conversion on upload, but check the setting is actually switched on. Some plugins default to converting only when a WebP-capable browser is detected, then serve the original otherwise. That split logic adds complexity and can slow things down. A cleaner approach is to convert everything to WebP at upload and serve that file to everyone. We’d argue WordPress is the most flexible content platform ever built, powering well over 40% of the internet, which is exactly why getting these defaults right matters so much across so many sites.

For a detailed look at where plugins do and don’t handle this reliably, the post on what image plugins commonly miss covers the gaps worth knowing about.

Lazy Load Below-the-Fold Images

WordPress has had native lazy loading since version 5.5. For images that appear below the fold, the browser waits until the user scrolls near them before fetching the file. That means the initial page load is faster, and users who never scroll don’t download images they never see.

The setting is automatic for most images, but check your theme and any page builder you’re using. Some override the native behaviour, or add loading="eager" to images that should be lazy. One place you do NOT want lazy loading is the hero image or any image visible without scrolling. Google’s Largest Contentful Paint measurement is often that top image, and lazy loading it will hurt your LCP score directly.

Only Generate the Thumbnail Sizes You Actually Use

By default, WordPress generates multiple thumbnail sizes every time you upload an image. Large, medium, medium-large, thumbnail, plus whatever your theme registers on top of that. A single upload can create six or seven files. Most of them are never used.

Unused image sizes waste storage and slow down uploads. More importantly, they clutter the media library and make it harder to see what is actually being served. You can disable unneeded sizes via functions.php or a lightweight plugin. First, audit what sizes your theme genuinely calls. Then remove everything else. It is a small job but one that compounds across hundreds of uploads.

Use Responsive Images Properly

The srcset attribute tells the browser which version of an image to load based on screen size. WordPress generates this automatically, but only if the right intermediate sizes exist in the first place. If you have stripped out too many thumbnail sizes, or uploaded images that are too small to begin with, the srcset will be thin or missing entirely.

A mobile visitor on a 390-pixel-wide screen should not be downloading the same file as someone on a 27-inch monitor. Check your images in the browser’s developer tools. Look at the Network tab, filter by images, and see what size is actually being fetched. If a 1,400-pixel image is loading on a phone, the srcset is not doing its job.

For a more thorough walkthrough of file size, format and lazy load decisions together, the guide on WordPress image file size, format and lazy load goes into the detail.

One Setting People Overlook: Image Quality on Resize

When WordPress scales an image down, it applies a default quality setting of 82 for JPEG output. That is actually reasonable. Some plugins drop this to 60 or lower in the name of compression, and the results show, particularly on product photos or anything with fine detail.

Higher compression is not always better. A blurry image that loads fast still looks cheap. Set quality at 80-85 and let format choice do the heavy lifting instead. WebP at 82 quality will outperform a JPEG at 60 on both file size and appearance.

Share:

Ready to take the next step?

Get in touch today and find out how we can help.

Get In Touch
Privacy Overview

Yorkshire Design uses cookies so that we can provide you with the best user experience possible.

Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.