How Images Affect Website Speed and SEO
Usually the largest thing on the page and the last thing anyone checks. Sizing, formats, and the lazy-loading trap.

Short answer
Serve images at the size they display, in AVIF or WebP, compressed, with explicit width and height. Lazy-load everything below the fold and nothing above it. Write alt text that describes the image rather than repeating keywords.
On most business websites images are more than half the page weight. They are also the easiest thing to fix, which makes the fact that they are usually ignored slightly remarkable.
Size them for where they display
A 4000px photograph displaying in an 800px slot sends roughly 25 times more pixel data than needed.
WordPress generates multiple sizes automatically, but only helps if the theme requests the right one. Check what is actually being served — DevTools shows both the intrinsic size and the displayed size, and the gap between them is your waste.
Use srcset so the browser picks an appropriate size for the device rather than sending the desktop image to a phone.
Use a modern format
| Format | Use for | Relative size |
|---|---|---|
| AVIF | Photographs | Smallest |
| WebP | Photographs, wide support | Small |
| JPEG | Fallback only | Large |
| PNG | Transparency, flat graphics | Large for photos |
| SVG | Logos, icons, diagrams | Tiny, scales perfectly |
AVIF and WebP with a JPEG fallback covers everything. PNG for a photograph is a common and expensive mistake.
Compress properly
Most photographs lose nothing visible at around 80% quality and shed most of their weight doing it. Compare before and after at full size once, satisfy yourself, then apply it everywhere.
The lazy-loading trap
Lazy loading defers images until they approach the viewport. Correct for images below the fold. Wrong for the hero image, and this is a common automatic behaviour rather than a deliberate choice.
The hero is usually the element LCP measures. Lazy-loading it means the browser waits before even requesting the thing being timed. A site can look optimised and score badly for exactly this reason.
Explicitly set loading="eager" on the hero, or exclude it in whatever plugin applies lazy loading globally.
Always set width and height
Without them the browser cannot reserve space, and everything below reflows when the image arrives. That is Cumulative Layout Shift and it is entirely preventable.
Set both even when CSS handles the sizing — the attributes give an aspect ratio to reserve against. How to fix CLS covers the rest.
Alt text
Two jobs: describe the image for anyone who cannot see it, and tell search engines what it shows.
- Describe what is in the image. "Kitchen extension with bifold doors onto a garden" is useful.
- Do not stuff keywords. "kitchen extension builder kent kitchen extension cost" helps nobody and reads as spam.
- Decorative images get empty alt (
alt=""), so screen readers skip them rather than announcing a filename. - Filenames matter a little.
kitchen-extension-bifold-doors.jpgbeatsIMG_4821.jpg.
Where images help SEO rather than hurt it
- Image search is genuine traffic for some sectors, particularly anything visual
- Images reduce bounce on long content by breaking it up
- Product images are a conversion factor on eCommerce, which is a ranking factor on marketplaces
The goal is not fewer images. It is images that cost what they are worth.
A quick audit
- Open your heaviest page in DevTools, Network tab, filter to images
- Sort by size — anything over 200KB deserves a look
- Compare intrinsic against displayed dimensions
- Check the hero is not lazy-loaded
- Confirm width and height are present
That takes ten minutes and frequently finds the largest single performance problem on the site.
Worked examples
Related services
Related reading
Website Performance
How to Improve Largest Contentful Paint (LCP)
Identify the element being measured first. Almost everything else is guesswork until you have.
Website Performance
Core Web Vitals Explained for Business Website Owners
Three metrics, in plain English — what each one measures, what breaks it, and which number Google actually uses.
Website Performance
Website Speed Optimisation Checklist
Ordered by impact rather than alphabetically, so you fix the thing that matters before the thing that does not.
Website Performance
How to Reduce Server Response Time (TTFB)
Everything else on the page waits for the first byte. How to find out why yours is slow, and what actually brings it down.

