Blog

Why is my WordPress site so slow? The images, measured

Slow WordPress? Plugins get checked first. Images rarely do. Weigh yours, see if they are the problem, and learn what the fix changes.

By 5 min read

Last reviewed:

A web server bent over, overwhelmed, forced to ship image after image to every visitor
Storing the images is not the problem. Shipping them to every visitor, on every visit, is.
On this page
  1. What Google looks at on a slow page
  2. Is it the images, or something else?
  3. How heavy are WordPress images, really?
  4. What fixing it actually means
  5. Weigh your own site's images
  6. Questions

When WordPress is slow, plugins get checked first. Nobody weighs the images — and they are usually the heaviest part of the page.

Hosting, plugins, the theme, the database, the cache: all five can cause trouble. None is the only weight on the page.

A store uploads hundreds of product images. A blog adds more with every post. On most pages, those files are the heaviest thing there.

We measured it. On a real home page — a small site with nine images — those images weighed 2,323 KB. At the size each screen draws and in a lighter format, the same nine weigh 281 KB. That is 88% less image weight on every visit. Image by image. The method is in this article. So is the estimate's error margin.

What Google looks at on a slow page

Google takes speed into account. The number is Largest Contentful Paint (LCP): how long the largest thing on screen takes to appear when someone opens the page.

LCP measures the time from when the user initiates loading the page until the largest image or text block is rendered within the viewport.

web.dev, Google's guide to optimizing LCP.

In plain English: the largest image or block of text. On a store, that is usually a product image. On a blog, it is often the image at the top.

We do not measure how long your site takes to open. We measure image bytes. We say that here because page-load time also depends on your hosting, theme, plugins, and everything else the page loads. Those image bytes are often the largest part traveling.

Is it the images, or something else?

Check before you install anything. Guess wrong, and you can spend a month fixing the wrong problem.

Three checks. All free.

What to doWhat it tells you
Run PageSpeed Insights on that pageIt identifies the largest element to appear. If that element is an image — as it is on most WordPress pages — this applies to you.
Weigh the images on that pageHow many kilobytes they weigh today. Real bytes, not a percentage built on a guess.
Compare the dashboard with the siteIf the WordPress dashboard is slow but the home page is not, images are not the problem. A plugin or the database is. No image tool will fix that.

You can have both: heavy images and a slow plugin. Order matters. Weighing first costs nothing.

How heavy are WordPress images, really?

We measured image weight on 41 real stores across 14 ecommerce platforms.

The WordPress and WooCommerce stores — 7 stores, a small sample, and we say so — sent 2.5 to 2.7 times more bytes per pixel than the 12 Shopify stores. Between 0% and 48% of their images used a lighter format. Shopify was at 100%.

That extra weight comes from two places: the file is larger than the screen, and it is still a JPEG when lighter formats exist.

Format is something we can count. Same perceived quality — not the same quality setting, which is the comparison that lies. Fourteen images from two real stores, encoded 336 ways, with perceived quality equalized at SSIMULACRA2 70:

FormatAgainst JPEGWon on
WebP — the free plan's format21.8% lighter11 of 14 images
AVIF — the Pro plan's format32.1% lighter14 of 14
AVIF against WebPabout 21% lighter again16 real versions, same width and quality

Size does not mean “upload smaller images.” It means not sending more image than the visitor's screen can show.

We set a cap because we measured what happens without one: for a 324-pixel space, the browser chose an image 42% heavier than another version the site already had ready.

Your server ships images instead of working. It keeps sending image after image to every visitor when its job is to run the site.

That happens on your server. The next step is to take it off your server.

What fixing it actually means

Three things, for every image. Doing them by hand never ends: every new upload starts the work again. All three matter. The third is the one most sites miss:

  1. The right size. The width the screen shows. Not the camera's width. Not whatever the theme uploaded. Never wider than a version your site already had.
  2. A lighter format. WebP for everything. AVIF where it matters. Those choices come from the measurements above, not a rule of thumb.
  3. Delivery from a network, not your server. Each image is prepared once. Then it leaves our network — 335 cities in more than 125 countries — for every visitor. Your server sees the image once. On later visits, it does not. We measured that too: once the image is on the network, the server receives no request for it.
What your server ships today, and what it ships when the images travel on a CDN Top: today, the server sends every image to every visitor, on every visit. Bottom: with a CDN that does images, the server is asked once per image, and a global network delivers to every visitor after that. TODAY your server visitor visitor visitor every image, on every visit WITH A CDN THAT DOES IMAGES your server our network 335 cities, 125+ countries asked once per image visitor visitor visitor
The third part of the fix is the one your server feels: it stops shipping image after image, and gets back to what counts — the site, the store, the checkout.

No slogan. The visitor downloads less. The server sends less.

That is what an image network changes. Ten visitors or ten thousand at once: the images still come from the network.

Weigh your own site's images

Do not take our word for it.

Paste a page into the website image size checker. It weighs every image on that page, encodes the heaviest ones for real, and puts two numbers side by side: today's, measured; the other, estimated.

That estimate has a median error of 6.2 percentage points for AVIF and 10.2 for WebP, measured on eight stores the model had not seen. We publish the error. A number that hides it is not much of a number.

If the site runs on WordPress, the report offers the connector. Two minutes in the dashboard. No account. No credit card. The home page stays free forever: up to 50 new images a month, in WebP, sized for each visitor.

The whole site in AVIF is the Pro plan: $9.90 a month. One price. No charge per visit, bandwidth, or overage. Your original files stay untouched. Deactivate the connector and everything returns to the way it was.

  1. Paste a page — the home page, or the category where the images are.
  2. Read both numbers. See which images carry the weight.
  3. If it runs on WordPress, install the connector. The home page starts shipping lighter right away.

Questions

Does this make my WordPress site faster?

It makes the images weigh less, and they are usually the heaviest part of the page. We do not measure how long the page takes to open. That also depends on the hosting, theme, plugins, and everything else it loads.

My site is not on WordPress. Can I still use this?

Yes, to measure it: paste the page and you get the numbers. The connector is for WordPress today. Other platforms are planned, with no release date.

What do the free and Pro plans cover?

The free plan covers the home page: up to 50 new images a month, WebP at three sizes, unlimited visits, forever, with no credit card. Pro covers every page and image in AVIF for a flat price, with no charge per visit or bandwidth.

Can it break my site?

No. Your original files stay untouched. If anything fails — the service, one image, anything — the visitor sees the original. We tested the four worst cases; none ends with a broken image. Deactivate the connector and everything reverts at once.

Sources

Official sources cited on this page. Our own measurements state their sample and method in the text.

  1. LCP measures the time from when the user initiates loading the page until the largest image or text block is rendered within the viewport.web.dev/articles/optimize-lcp, accessed September 4, 2026.

NimboCDN is not affiliated with, endorsed by, or sponsored by any of the products compared here. Product names and trademarks belong to their respective owners and are used only to identify the products being compared.