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.