Skip to content
Performance

Images are why your WordPress site is slow

On a typical WordPress page, images are sixty to eighty percent of the weight. Fix them properly once and everything else becomes a rounding error.

Engineering·2 September 2026·7 min read

Open any slow WordPress site, look at the network panel, and sort by size. Almost always, the top ten entries are images, and at least one of them is a photograph uploaded straight from a phone at four thousand pixels wide, displayed in a box six hundred pixels wide.

That single habit accounts for more slow WordPress sites in Pakistan than hosting, themes and plugins combined.

Three separate problems, often confused

Each needs a different fix, and doing one while ignoring the others is why people report that optimisation plugins did nothing.

  • Format. A JPEG or PNG where a WebP would be half the size for the same visual quality.
  • Dimensions. A 4000px image scaled down by the browser to 600px, which downloads the full file and then throws most of it away.
  • Loading strategy. Everything loaded at once, or the hero image lazily loaded so it arrives late.

Get the dimensions right first

WordPress generates several sizes on upload and uses srcset to let the browser pick. That works when your theme declares sensible sizes and breaks when a template hardcodes the full size image, which many do for hero areas and galleries.

The check takes a minute: load the page on a phone, inspect the hero image, and compare the file's intrinsic width with the displayed width. If the file is three times wider than the box, you have found seconds.

Then the format and compression

Converting to WebP at a sensible quality typically removes half the weight with no visible difference. The important part is that conversion happens for the whole library, including images uploaded two years ago, not just new uploads.

Keep the originals. You want the ability to re-encode later at a different setting, and you do not want a compression decision from 2026 baked permanently into your media library.

Load the first screen eagerly, everything else lazily

The hero image should be requested as early as possible and marked as high priority. Everything below the fold should wait until it is needed. Getting this backwards is common because some plugins apply lazy loading indiscriminately, and the site owner sees a worse score after installing an optimiser and concludes optimisation does not work.

The rule is simple: the element that Core Web Vitals measures must never be deferred.

The things people forget

  • Background images set in CSS are invisible to most image optimisation, and they are often the largest asset on the page.
  • Logos and icons are usually better as SVG, which is tiny and scales perfectly.
  • Product galleries multiply everything: twelve images at 400KB is a five megabyte page before any text renders.
  • Sliders load images the visitor will never see. Consider whether the second and third slides earn their weight.

Automating it

This is exactly the kind of work that should be systematic rather than manual, because a human will not re-check it after every upload. SmartSite Optimizer converts and compresses the media library, applies lazy loading where it belongs, and reports which specific assets are still holding the page back, so image discipline survives the next content editor.

The broader picture of what moves the score sits in what actually moves LCP on WordPress.

Images are the cheapest performance win in WordPress and the one most often half done. Right size, modern format, sensible quality, eager hero, lazy rest. Do that and most sites get faster in an afternoon.

Frequently asked questions

Should I use WebP or AVIF?

WebP is the safe default today: strong compression and support everywhere that matters. AVIF compresses better still but encodes slowly and is more work to serve with fallbacks. For most WordPress sites, converting to WebP with a sensible quality setting captures nearly all the available win.

What quality setting should I use?

Somewhere between 75 and 85 for photographs is usually indistinguishable from the original at normal viewing size, and often halves the file. Product photography and anything with fine detail deserves a look at full size before you commit, but the instinct to keep everything at maximum quality is what makes pages weigh five megabytes.

Does lazy loading always help?

No, and this is the single most common mistake. Lazy loading images below the fold is good. Lazy loading the hero image delays the exact element Core Web Vitals measures, so your LCP gets worse. Load the first screen eagerly, lazy load everything after it.

Do image file names and alt text matter for SEO?

Yes, modestly for ranking and substantially for image search and accessibility. Descriptive file names and honest alt text cost nothing at upload time and are painful to retrofit across a thousand posts, so make it a habit rather than a project.

Next step

Tell us what is slowing your business down

Send a short brief. Within four business hours you get either a straight answer, a rough number, or the two questions we need to give you one.

Replies under 4 business hoursNDA on requestYou own the code