All guides

WordPressAugust 2, 20269 min read

Why Is My WooCommerce Site So Slow?

A step-by-step diagnostic for a slow WooCommerce site: hosting, plugins, database bloat, caching, and the checkout-specific issues most guides miss.

A slow WooCommerce store isn't one problem — it's usually three or four smaller ones stacked on top of each other, which is exactly why "install a caching plugin" alone rarely fixes it. This is the diagnostic sequence we run through when a client says their store feels sluggish, in the order that actually finds the cause fastest.

Diagnose before you fix anything

Before touching plugins or hosting, get real numbers. Run your homepage and a product page through Google PageSpeed Insights and note two things specifically: Time to First Byte (TTFB) and the breakdown of what's blocking render. TTFB over 600ms almost always points to a hosting or server-side problem — no amount of front-end optimisation fixes a slow server. If TTFB is fast but the page still feels slow to load, the problem is more likely front-end: images, render-blocking scripts, or plugin-injected CSS/JS.

This single check saves hours — it tells you whether to start with your host or your plugin stack, which are very different fixes.

Hosting: the most common root cause

WooCommerce runs PHP on every request that touches the database — product pages, cart, and checkout in particular are dynamic, not static, so shared hosting with limited PHP workers and CPU allocation struggles under any real traffic. If your TTFB is consistently slow even on a page with no heavy plugins active, hosting is very likely your answer, not a symptom to work around.

What to check:

  • PHP version. Older PHP versions (7.x and below) are measurably slower than current PHP 8.x releases for the same code. Confirm your host is running a current version — this is often a free, one-click change in your hosting control panel.
  • Shared vs. managed WooCommerce hosting. Generic shared hosting optimised for brochure sites isn't built for the database load WooCommerce generates. Managed WooCommerce or managed WordPress hosting typically includes server-level caching and resource allocation tuned for this specific workload.
  • Server location. If your customers are mostly in one region and your server is elsewhere, that round-trip adds real latency before a CDN can help.

Plugin audit: quality over quantity

"Too many plugins" is a real cause of slowness, but the count matters less than what each plugin actually does on every page load. A lightweight utility plugin that only runs in the admin costs you nothing on the storefront. A poorly coded page builder or a plugin that queries the database on every single front-end request costs you real time on every page, every visit.

To audit:

  1. Install Query Monitor (free) and load your slowest page. It shows exactly which plugins are firing database queries, how many, and how long each takes.
  2. Deactivate plugins you're not actively using — old SEO tools, abandoned page builders, duplicate functionality from switching tools over time. Most stores accumulate several of these.
  3. For plugins you're keeping, check whether they offer a "disable on frontend" or "load only where needed" setting — many popular plugins load their assets sitewide by default even when the feature is only used on one page.

Database bloat

WordPress and WooCommerce both write to the database far more than most site owners realise: post revisions on every content edit, expired transients that never get cleaned up, abandoned cart data, and session records from every checkout attempt, completed or not. Over a year or two, an unmaintained WooCommerce database can genuinely triple in size with content that provides zero ongoing value.

A bloated database slows every query, which slows every page — this compounds with plugin-level query problems rather than existing separately from them. Run a database cleanup (limit post revisions, clear expired transients, and review orphaned metadata) on a recurring schedule, not just once.

WooCommerce-specific issues most guides skip

General WordPress speed advice misses a few things that are specific to how WooCommerce works:

  • Cart and checkout fragments. WooCommerce refreshes "cart fragments" via AJAX on every page load by default, even pages with no cart interaction happening — this is a background request most site owners don't know is running. It can be selectively disabled or limited to pages that actually need it.
  • Session handling in the database. By default, WooCommerce stores session data in the database rather than in faster storage. On higher-traffic stores, moving sessions to object caching (Redis or Memcached, if your host offers it) removes a real bottleneck.
  • Related and upsell product queries. These run non-trivial database queries to calculate "you might also like" recommendations. On large catalogues without proper indexing, this alone can meaningfully slow product pages.
  • Full-page caching conflicts with checkout. Checkout and cart pages should never be served from a static cache, but overly broad cache plugin configurations sometimes cache them anyway, causing stale cart data. Confirm your caching plugin explicitly excludes cart, checkout, and account pages.

Caching, images, and the last-mile fixes

  • Set up page caching for everything except cart, checkout, and account pages, using a reputable caching plugin or your host's built-in caching layer.
  • Enable object caching (Redis or Memcached) if your host supports it — this speeds up dynamic, logged-in, and WooCommerce-specific requests that page caching alone doesn't help.
  • Compress and resize images before upload, and serve modern formats (WebP or AVIF) — product photography is usually the single largest asset on any ecommerce page.
  • Add a CDN to serve static assets (images, CSS, JS) from a server geographically closer to each visitor.
  • Defer or remove unused JavaScript, particularly analytics and marketing scripts loaded synchronously in the header — these are common, easy wins that plugin audits often surface.

When optimisation stops being enough

Sometimes every fix on this list is applied and the store is still slower than it should be — usually because the theme itself is heavy, the plugin stack is load-bearing and can't be trimmed further without losing real functionality, or the store has genuinely outgrown what WooCommerce on its current hosting tier can deliver. At that point the honest conversation shifts from "optimise WooCommerce" to "is WooCommerce still the right platform for this store's traffic and catalogue size." Our Shopify speed optimisation guide is a useful comparison point if you're weighing that decision, and we cover the practical side of switching in our WooCommerce to Shopify migration guide.

If you'd rather have someone else run this full diagnostic and fix what it finds, Devmerx handles WordPress performance work — hosting review, plugin audit, database cleanup, and caching configuration, scoped and fixed-price after a quick look at your site.

Frequently Asked Questions

Why did my WooCommerce site suddenly get slower after adding products?

Larger catalogues mean bigger database queries, especially for filtering, search, and related-product calculations that weren't optimised for scale. What felt fine at 200 products can slow down noticeably at 2,000 if your hosting and plugin stack weren't built with growth in mind.

Is shared hosting really the main cause of WooCommerce slowness?

It's the most common single cause we see, particularly when TTFB is slow even on lightly-plugin pages. It's not always the only cause — plugin bloat and database bloat are common alongside it — but hosting is usually the first thing worth ruling out.

How many plugins is too many for WooCommerce?

There's no fixed number. A site with 40 lightweight, well-coded plugins can outperform a site with 10 poorly coded ones. Audit what each plugin actually does on the front end rather than targeting a specific count.

Will a caching plugin fix a slow checkout?

No — checkout should never be served from a static cache in the first place, since it needs to reflect live cart and session data. A caching plugin speeds up your catalogue and content pages, not checkout. Checkout speed comes from hosting quality, session handling, and script cleanup.

When should I consider leaving WooCommerce entirely?

When you've applied hosting, plugin, database, and caching fixes and the store is still underperforming for its traffic and catalogue size, or when the ongoing maintenance burden (security patches, plugin conflicts, server management) is costing more time than it's worth relative to a managed platform.

Devmerx

Devmerx is a Shopify and WordPress development agency helping DTC brands build faster stores, cleaner migrations, and higher-converting experiences. Based in London, UK, serving clients worldwide.

See our work

Need help with your Shopify store?

Devmerx builds and optimises Shopify stores for DTC brands. Book a free 20-minute consultation.