WooCommerce

How to speed up a slow WooCommerce store

A WooCommerce store has a speed problem a brochure site never faces: its most valuable pages cannot be cached. A visitor with a cart, a logged-in customer, the checkout itself — every one of those requests runs the full WordPress + WooCommerce stack. Speeding up a store means fixing the uncacheable path, not just polishing the homepage score.

1. Tame cart fragments

WooCommerce keeps the mini-cart fresh with an AJAX call (wc-ajax=get_refreshed_fragments) that fires on essentially every page view and cannot be cached. On busy stores it becomes a constant drain. If your header does not show a live cart count, disable fragments on non-shop pages; if it does, make sure the call is not also dragging in heavy sessions on pages that never needed them.

2. Fix the store database

Stores accumulate data fast: expired sessions in wp_options, thousands of orders, and product meta queries that scan huge tables. Three fixes with outsized impact: clean expired sessions and transients, add indexes for the slow meta queries Query Monitor reveals, and enable WooCommerce’s High-Performance Order Storage (HPOS) so orders live in purpose-built tables instead of wp_posts.

3. Audit the extension stack

Store plugin stacks grow by accretion — shipping calculators, badges, popups, three abandoned-cart tools. Each adds queries and assets to every page, including checkout. Audit what each extension costs on the checkout path specifically; that is where milliseconds are money. Remove the passengers, keep the crew.

4. Give it the server it needs

Because so much store traffic bypasses caching, PHP workers and CPU matter far more than for a content site. Symptoms of hitting the ceiling: the site is fine until a promotion, then everything crawls. If uncached requests take seconds while cached pages fly, the constraint is the hosting plan, not the theme. Move checkout-critical stores onto hosting sized for concurrent uncached traffic.

5. Then do the normal front-end work

Everything from the general WordPress speed playbook still applies — image formats, unused CSS/JS, caching for anonymous visitors. Do it after the store-specific fixes, and measure the checkout path before and after: conversion is where a store’s speed work pays its invoice.