Online stores are heavier than ordinary websites. Every product has images, variations, prices and stock levels, and every visitor can have a unique cart. That extra work is exactly why WooCommerce stores so often struggle with Core Web Vitals, and why slow stores lose sales. When a shopper waits at the checkout, they do not wait for long.
Here is how I approach WooCommerce speed, from the product page through to payment.
Why WooCommerce Is Different
A blog post looks the same for every visitor, so it can be cached and served as a static file. A cart, checkout or account page is personal, so it cannot be cached in the same way. Slow database queries, heavy plugins and third-party payment scripts all hit these pages directly. Fixing WooCommerce means speeding up the cacheable pages as much as possible and making the uncacheable ones as light as possible.
1. Cache Everything That Can Be Cached
Product pages, category pages, the shop page and your content pages should all be served from a full page cache. Make sure your cache is set to exclude only what must be excluded: the cart, the checkout, the my account area and any page with personalized content. Most good caching setups already know these WooCommerce rules, but verify them. Also test after every plugin update. My guide to WordPress caching covers the basics.
2. Add a Persistent Object Cache
For stores, object caching with Redis or Memcached makes a big difference. It stores the results of repeated database queries in memory so that WooCommerce does not recalculate them on every request. This helps most on the pages that cannot be page-cached, such as the cart and checkout, and in the admin area.
3. Optimize Product Images
Product galleries are usually the largest elements on the page, and often the LCP element. Use properly sized images, convert them to WebP or AVIF, and avoid lazy-loading the main product image. Thumbnails below the fold and in related products can be lazy-loaded. Avoid image zoom and gallery plugins that load large scripts before the first image appears.
4. Reduce Plugin and Script Weight
Stores tend to collect plugins for reviews, wishlists, upsells, sliders, chat and tracking. Each one may add scripts and styles to every page. Audit them, remove the ones you do not really use and load the rest only where needed. For example, there is no reason for a product review script to load on your about page. Check how to audit your plugins before deleting anything.
5. Keep the Cart Lightweight
Older WooCommerce setups run an AJAX request on every page to refresh the mini cart, which can slow down otherwise cacheable pages. Check whether your theme or plugins still rely on it and replace it with a lighter approach if possible. Also limit cross-sells, upsell carousels and animated cart drawers that inject heavy scripts.
6. Streamline the Checkout
The checkout deserves special care, because every extra field and script costs conversions.
- Remove fields you do not need, such as a second address line or company name.
- Load payment gateway scripts only on the checkout, not site-wide.
- Avoid stacking multiple checkout plugins that each rewrite the form.
- Keep third-party chat and pop-up tools off the checkout entirely.
- Make sure the buttons respond instantly. Slow responses here show up as poor INP.
7. Use High-Performance Order Storage
High-Performance Order Storage, or HPOS, moves orders into dedicated database tables instead of the general posts tables. New stores use it by default, and older stores can usually switch after checking that their plugins are compatible. It makes order queries faster and scales better as your order history grows.
8. Clean Up the Database
Expired sessions, transients, old scheduled actions and abandoned data pile up over time. Clean them regularly and keep an eye on the size of the options table, particularly entries that load on every request. Always take a backup first.
9. Choose Hosting That Fits a Store
Stores need more CPU and memory than brochure sites, particularly during sales. If server response time stays high even when pages are cached, or the checkout slows down under traffic, the plan may be too small. See how to check whether hosting is the bottleneck.
Test Like a Customer
After any optimization, place a test order. Add a product to the cart, apply a coupon, change the quantity and pay with a test gateway. Speed work that breaks the checkout is worse than no speed work at all.
If you run a store and want a safe, tested performance plan, get in touch and I will review your product pages, cart and checkout.

