Home / Blog / Case study

How We Cut a Client's Load Time From 4.1s to 1.6s

A walkthrough of the caching, image and query fixes that took a sluggish WooCommerce store from a Core Web Vitals fail to a pass.

When this client came to us, their WooCommerce store was averaging a 4.1 second Largest Contentful Paint on mobile — well past the 2.5 second mark Google treats as "good." Cart abandonment was climbing, and their ad spend was quietly getting more expensive because of it.

None of the fixes here were exotic. That's kind of the point — most slow WordPress stores are slow for the same handful of reasons, stacked on top of each other.

1. The theme was loading fonts and scripts it didn't need

The active theme queued four icon fonts and three animation libraries on every single page, including the checkout. We audited what was actually rendered on each template and dequeued anything unused, which alone shaved almost a full second off the load.

2. Images were serving at 4x the size they were displayed

Product photos were uploaded at full camera resolution and never resized. We set up responsive image sizes, converted the library to WebP, and lazy-loaded everything below the fold.

  • Average product image size dropped from 1.8MB to 210KB
  • Total page weight fell by roughly 65%
  • No visible quality loss at any breakpoint we tested

3. A page-builder plugin was running database queries it didn't need

The homepage was pulling a "related posts" widget that queried the full post table on every load, even though the section was rarely updated. We cached the query and dropped it to run once daily instead of on every page view.

The biggest win wasn't one big fix — it was finding four small ones that were all quietly adding up.

4. Caching was installed but barely configured

A caching plugin was active, but page caching was disabled for logged-in users and the cache was clearing on every single content edit — including from unrelated admin actions. We rebuilt the cache rules so only actual product and page changes triggered a clear.

The result

After two weeks of staged changes — each tested before going live to avoid any checkout downtime — Largest Contentful Paint landed at 1.6 seconds on mobile, comfortably inside Google's "good" range. Their ad account's Quality Score improved within the month, and cart abandonment dropped noticeably in their own analytics.

None of this required a redesign or a new theme. It required going through the site piece by piece and being honest about what each plugin, script and image was actually costing.

Related reading

5 Signs Your Site Needs a Maintenance Plan Why Weekly Updates Matter More Than You Think

Want a speed audit like this one?

Send us your store and we'll tell you exactly what's slowing it down — no obligation.

Get a free quote