Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket
WordPress and WooCommerce

How to Speed Up WooCommerce: A Prioritised Guide for Your Store

Speed up WooCommerce in the right order: measure Core Web Vitals, fix hosting and PHP, cache safely, shrink images, audit plugins and scripts, then tidy the database and background jobs.

By DevMarket EditorialPublished: 9 min read
How to Speed Up WooCommerce: A Prioritised Guide for Your Store
On this page

To speed up WooCommerce, measure first, then work from the biggest wins down: hosting and PHP version, safe page caching, image sizes, and then plugins, scripts and database housekeeping. Most slow stores are held back by a few causes, not a hundred small ones. This guide gives you the order, the settings and the traps, such as caching pages that must stay dynamic.

In short

  • Measure real pages with PageSpeed Insights and Search Console. As of 2026 the Core Web Vitals are LCP (2.5 seconds or less), INP (200 milliseconds or less) and CLS (0.1 or less), judged at the 75th percentile of visits.
  • Fix the server first: a current PHP version, enough memory and a host that answers quickly.
  • Cache pages, but never the cart, checkout or My account pages.
  • Then reduce images, fonts, theme weight, plugins and third-party scripts, and last tidy the database and background jobs.
  • Change one thing at a time and test again.

How to speed up WooCommerce: the order of work

The order matters because the server sets a ceiling for everything after it. web.dev notes in its guide to optimising LCP that a high Time to First Byte (TTFB) can make a 2.5 second Largest Contentful Paint hard or even impossible.

Three cards joined by arrows from left to right, the last one marked with a green tick
Measure, change the biggest cause first, then test again, and repeat until the real-visitor numbers turn good.

How do you measure WooCommerce speed before you change anything?

PageSpeed Insights reports two kinds of data. Field data comes from real Chrome users over the previous 28 days. Lab data comes from a simulated Lighthouse run on one device and one network. The Core Web Vitals pass or fail on field data, but a new or small store may have none, and the lab run is the better tool for debugging. Lab data does not include INP, so rely on field data for that metric.

The three Core Web Vitals, as defined on web.dev, are:

  • LCP, loading: 2.5 seconds or less.
  • INP, responsiveness to taps, clicks and key presses: 200 milliseconds or less (it replaced First Input Delay in 2024).
  • CLS, visual stability: 0.1 or less.

Each is judged at the 75th percentile of page loads. The Core Web Vitals report in Search Console shows the same data for your indexed pages, split into mobile and desktop, and a group of pages takes the status of its worst metric.

Test the pages that earn money, not only the home page: a category, a product page, and then the cart and checkout by hand. Test mobile first, repeat each test because results vary, and write the numbers down before you change anything.

Fix the server and cache the right pages

Hosting and PHP version

Check TTFB on a page that is already cached. web.dev gives 0.8 seconds or less as a rough guide for good. If cached pages are still slow to start, look at hosting before anything else.

As of 2026, WordPress recommends PHP 8.3 or greater, and WooCommerce's server requirements list PHP 8.3 or greater, MySQL 8.0 or MariaDB 10.6 or greater, a 256 MB memory limit and HTTPS for current versions. WordPress says a newer PHP may make your site faster. Update it through your host's settings, after a backup, with WordPress, WooCommerce, theme and plugins updated first and a test on a staging copy: see WordPress's guide to updating PHP.

Also ask your host about a persistent object cache. By default the WordPress object cache lasts for a single request; keeping it between requests needs a plugin such as Redis Object Cache and a Redis or Memcached server.

Page caching, and what must never be cached

A page cache stores finished pages so PHP does not rebuild them for every visitor. It suits the home page, categories, product pages and articles. It must skip pages that differ for every customer: WooCommerce's caching guide says the Cart, My Account and Checkout pages need to stay dynamic. Many caching plugins already exclude them, but confirm the setting. The guide also lists cookies to exclude, including woocommerce_cart_hash, woocommerce_items_in_cart and wp_woocommerce_session_, and suggests excluding _wc_session_ if your cache has a database option.

Use one page cache. Your host may already run one at server level, and two caches on the same site clash. WP Super Cache, W3 Total Cache and LiteSpeed Cache are long-established examples; the cache features of LiteSpeed Cache need a LiteSpeed server.

Test it like a customer. Add a product to the cart, open the store in a private window and confirm that its cart is empty. Log in and check that My account shows your own details. Place a test order.

Make the front end lighter

Images, fonts and lazy loading

  • Size: upload images close to the size they display, not straight from a camera. After you change image sizes, WooCommerce > Status > Tools has a Regenerate Shop Thumbnails tool.
  • Format: WordPress has accepted WebP uploads since 5.8 and AVIF since 6.5, as long as your server's image library supports them. Check under Tools > Site Health > Info > Media Handling. Plugins such as EWWW Image Optimizer or ShortPixel can convert existing images.
  • Lazy loading: WordPress adds loading="lazy" to images, a feature in core since 5.5. Lazy-load only images below the first screen. web.dev says never to lazy-load the LCP image; mark that one with fetchpriority="high", on one or two images at most, and give every image width and height so the layout does not jump.
  • Fonts: web.dev recommends WOFF2, subsetting to the characters you use, as few font files as possible, and preloading the most important one. System fonts need no download at all. See its font best practices.

CDN, theme weight and third-party scripts

A content delivery network keeps cached copies of files on servers closer to visitors, which can lower TTFB and take load off your server. web.dev notes that results vary by region and time of day, so test from where your customers are. Add a CDN after page caching, not instead of it.

A heavy theme costs you on every page. Test the theme on a product page in PageSpeed Insights, and read our guide to testing a WooCommerce theme before you buy it. Sliders, page builders and many bundled libraries are the usual weight.

Third-party scripts such as chat widgets, ad pixels, tag managers and review badges each add requests and can delay interactions, which hurts INP. List every third-party domain in your browser's Network tab. Remove scripts that add no clear value, and load the rest with async or defer where the vendor allows it.

Plugins, database and background jobs

Audit your plugins

On a staging copy, install Query Monitor, a developer tools panel for WordPress and WooCommerce, to find slow queries. Deactivate suspects one at a time, measure again and delete what you do not need. Our guide to the best WooCommerce plugins covers how to choose replacements.

Database, transients and sessions

Autoloaded options are loaded on every page request. Since WordPress 6.6, Site Health reports a critical issue when the total of autoloaded options passes 800 KB; the Performance Lab plugin adds a more detailed version of that check. Transients are temporary cached values with an expiry date. WooCommerce > Status > Tools has an Expired Transients tool that removes only expired ones, a WooCommerce Transients tool that clears temporary shop and product data (pages may be slower until it rebuilds) and a Clear Customer Sessions tool, which deletes live carts, so avoid it during trading hours. Take a backup before any cleanup.

Action Scheduler and HPOS

WooCommerce runs background jobs through Action Scheduler; you can see them under WooCommerce > Status > Scheduled Actions. It deletes completed and cancelled actions after about a month, and from version 4.0.0 it keeps failed actions for three months by default. A long queue of past-due actions can mean WordPress's scheduler is not being triggered, because WP-Cron only runs when someone loads a page. Ask your host about a server-side scheduled task, and see Action Scheduler's own performance notes.

High-Performance Order Storage (HPOS) keeps orders in dedicated tables built for WooCommerce queries. It is on by default for new stores from WooCommerce 8.2. Existing stores opt in under WooCommerce > Settings > Advanced > Features, using compatibility mode while the orders sync. Check plugin compatibility first and take a backup.

A prioritised plan

OrderActionHow to check
1Baseline on home, category, product, cart and checkoutSaved PageSpeed Insights and Search Console numbers
2Host and PHP: PHP 8.3 or greater, memory, TTFBTTFB on a cached page
3One page cache with cart, checkout and account excludedPrivate-window cart test
4Images and fonts: sizes, WebP or AVIF, no lazy-loaded hero imageLCP
5Plugin and theme auditBefore and after on staging
6Third-party scriptsINP in field data
7Database and Action Scheduler housekeepingSite Health, Scheduled Actions
8CDNTTFB from your customers' regions

Frequently asked questions

What is a good PageSpeed score for WooCommerce?

Do not chase 100. What counts is passing the three Core Web Vitals thresholds in field data. A fast product page and checkout matter more than a perfect lab score on the home page.

Why is my checkout slow when the rest of the store is fast?

Cart and checkout pages cannot be page-cached, so they depend on your server, PHP, object cache, database and the scripts of your payment methods. Check TTFB and plugin load first.

Do I need a CDN?

Not always. If most customers are far from your server, or you serve many images, a CDN can help. Set up page caching first and measure the gain.

Will deleting old orders speed up my store?

Not as a first step. Orders are business and tax records, so ask your accountant before deleting any, and prefer HPOS, caching and plugin clean-up.

Where to go next

Read how to choose the best WooCommerce plugins without bloating the store, protect it with the WordPress security checklist, and browse WooCommerce plugins and themes on DevMarket.

Find the right software for the job

Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.