We acquire WordPress agencies. Is yours next?

SRB/ENG

Why is my WooCommerce store slow? 9 causes generic WordPress advice misses

Generic WordPress speed advice doesn't fix a slow store, because WooCommerce's biggest performance problems are WooCommerce-specific. Here's what's actually happening.

By

, Web Developer

Table of Contents

A WooCommerce store is a different machine from a WordPress marketing site. It writes to the database on every cart action, keeps sessions for every visitor, and can’t fully cache its most important pages. That’s why a store that follows every generic speed guide can still crawl.

For e-commerce, speed is revenue arithmetic: in Portent’s 2022 study, sites that loaded in 1 second had an e-commerce conversion rate 2.5 times higher than sites that loaded in 5 seconds. Here are the nine causes we find over and over in store audits, and what fixes each one.

1. Cart fragments AJAX on every page

WooCommerce updates the little cart icon via an AJAX call (wc-ajax=get_refreshed_fragments) that fires on every page load, bypasses all caching by design, and hits your server even when the visitor is reading a blog post. On busy stores it’s routinely the single biggest source of server load.

Fix: Disable cart fragments on non-shop pages (a small code snippet or the ‘Disable Cart Fragments’ plugin) and let the cart count populate on cart interaction instead. Test add-to-cart behavior afterward.

2. Cart, checkout, and account pages can’t be page-cached

Page caching is the backbone of WordPress speed, and your three most conversion-critical pages are excluded from it by necessity: they’re personalized. Those pages hit PHP and the database on every single view, so their speed is a direct function of your hosting and code quality. This is why stores feel fast until someone starts buying.

Fix: You can’t cache them, so make the uncached path fast: PHP 8.3+, Redis object caching so repeated queries come from memory, and hosting with enough headroom (see #3).

3. Shared hosting under a database-heavy application

WooCommerce writes sessions, cart contents, and order data continuously. Shared hosting throttles exactly the resources this needs: database I/O and PHP workers. During a promotion, queued requests turn into 8-second checkouts, at the moment maximum money is on the line.

Fix: Managed WooCommerce hosting (WP Engine, Kinsta, Nexcess) sized for your traffic, with Redis and enough PHP workers for concurrent checkouts. This is the highest-ROI infrastructure dollar a store spends.

4. Product images at camera resolution

Product photography is the biggest asset weight on any store. A catalog uploaded straight from the photographer, 4,000-pixel JPEGs on category pages showing 24 products, transfers tens of megabytes per page view.

Fix: Automatic WebP conversion and compression on upload (Imagify or ShortPixel), correct srcset sizing so phones get phone-sized images, and lazy loading below the fold.

5. Variation-heavy products making expensive queries

A product with 40 variations (sizes × colors) makes WooCommerce assemble price, stock, and attribute data for every combination. Category pages full of variable products multiply that work. Stores with large variable catalogs on default settings spend most of their TTFB in these queries.

Fix: Redis object caching helps immediately. For big catalogs, restructure where possible (fewer variations per product) and consider ElasticPress or FacetWP for category filtering instead of raw WP_Query.

6. Session and transient bloat in the database

WooCommerce creates a session row for every visitor with a cart, and expired sessions plus orphaned transients accumulate. We’ve audited stores whose options and sessions tables were gigabytes, slowing every query on the site including the autoloaded ones that run on init.

Fix: Schedule cleanup of expired sessions and transients (WP Rocket’s database feature or WP-Optimize), and check autoloaded options size: WordPress Site Health flags a total above 800KB as a performance issue.

7. Every plugin loading everywhere

Store plugin stacks grow: reviews, wishlists, size guides, popups, feeds, analytics. Most load their CSS and JavaScript on every page, including checkout, where every extra script is measurable abandonment risk.

Fix: Audit with Query Monitor, remove overlap, and conditionally load page-specific plugins. Keep checkout as close to script-free as the stack allows. Our 12-plugin production stack is the shape to aim for.

8. Payment and shipping plugins calling external APIs synchronously

Live shipping rates and some payment gateways call external APIs while the customer waits. A slow carrier API can add seconds to checkout at the worst possible moment, and you’ll never see it in a PageSpeed test because it only happens mid-purchase.

Fix: Cache shipping rate responses where the plugin allows, use table rates for standard domestic tiers, and monitor checkout timing specifically (not just homepage scores).

9. No object cache behind a dynamic store

Everything above compounds without object caching. Redis keeps repeated query results in memory, which is the single biggest lever for the uncacheable cart-checkout-account path that actually processes your revenue.

Fix: Enable Redis (one click on good managed hosts) and verify WooCommerce sessions are covered. Measure TTFB on dynamic pages before and after to see the gain.

Where to start

Don’t guess. Measure TTFB on your checkout page specifically, not your homepage. If it’s over 600ms, start with hosting and Redis (#3, #9). If the homepage is heavy but TTFB is fine, it’s images and scripts (#4, #7). Then measure again after each fix. Our speed optimization work follows the same order: measure first, change second.

Get your store’s speed audited by specialists.

We measure the pages that make you money, not just the homepage, and send a prioritized fix list with before/after projections. Free, within 2 business days.

See our speed optimization service →

Related reading

Share:

You Read Our Blog.
Now Let’s Talk About Your Business.

See more of Mineweb on Google.

Add us as a preferred source and new Mineweb guides show up more often in your Top Stories and AI Overviews.

Red gradient
Web design - Services

Custom WordPress and WooCommerce builds, from Figma to launch.

Website development, WordPress website development and web shops

Moving to WordPress, or between builders, without losing ground.

WordPress maintenance dashboard

Hardening, maintenance, and compliance that keep a site running.

Digital Marketing - Services

Strategy, SEO, content, and social, aimed at the same numbers.

See the tools
we build.

The team that writes these articles also builds our products: a free Elementor plugin and a Figma layout generator.

Mineweb tools

Read enough and just want it fixed?

Tell us what is wrong with your site. We will review the project and give you the next steps.

Work
With Us