Home - Slow WooCommerce Online Store: Causes and Solutions
On this page

Slow WooCommerce Online Store: Causes and Solutions

Picture of David Ladiges
David Ladiges
Technical Lead
Slow WooCommerce Online Store: Causes and Solutions
Slow WooCommerce Online Store: Causes and Solutions

Your online store’s homepage loads just fine, but the checkout process is glitchy and processing orders in the admin panel is sluggish. A slow WooCommerce online store is usually caused by a database overloaded with orders and sessions, too many plugins, uncached shopping cart and checkout pages, large product images, and shared hosting without enough PHP workers. Below, you’ll learn how to first identify the problem and then what to do for each specific cause. This article is part of WooCommerce Maintenance and Management.

Why an online store Slows Down Faster Than a Regular Website

An online store tends to slow down faster than a regular website because the shopping cart, checkout, and "My Account" sections are different for each visitor and therefore cannot be retrieved from the page cache. A regular page is stored ready-to-go in the cache and loads in a fraction of a second. Those three online store pages, however, are rebuilt from scratch by PHP and the database with every click, incorporating your shopping cart, your address, and your shipping costs. That’s why a fast homepage with a slow checkout isn’t a contradiction. It’s actually a clue as to where you should look.

PHP workers are the processes on the server that can handle such requests simultaneously. I always compare them to checkout lanes at the supermarket. On a Saturday with only two open registers, everyone is standing in line, no matter how fast the cashier is. That’s exactly how it works in your online store. If many customers try to check out at the same time during a sale, each request has to wait until a worker becomes available, and that wait time feels like a slow checkout to the customer. It also explains why an online store only starts to slow down as it grows. With ten visitors per hour, you don’t notice anything; with a hundred at once, you suddenly do.

Measure first: where is the bottleneck?

The part of your online store that’s slow usually points directly to the cause. I use two tools to measure performance. PageSpeed Insights shows what visitors experience, including the TTFB (the time it takes for the server to return the first byte). Query Monitor is a plugin that shows, on a per-page basis, which plugins and database queries take the most time. Only enable it temporarily, since it adds some load itself. Also, go through the checkout process yourself as a logged-in customer, because no tool can measure the checkout experience as well as your own patience.

What is slow?Most likely causeInitial check
The entire siteHosting, Outdated PHP Version, Bots on Filter PagesTTFB, PHP version, access logs
Product and category pagesImages, Theme, FiltersPageSpeed Insights on a product page
Shopping Cart and CheckoutPHP workers, plugins in the checkout, external scriptsPlace an order yourself, Query Monitor
Management and OrdersDatabase, queue of scheduled actions, Heartbeat API, resource-intensive admin pluginsWooCommerce > Status > Scheduled Actions, Query Monitor

My advice is not to install any additional speed plugins until you've identified where the slowdown is coming from. Most of the slow online stores I see already have too many plugins, and adding another one is rarely the solution.

Server-side causes: hosting, database, and caching

On the server side, the issue is almost always insufficient processing power, a full database, or a lack of object caching. With shared hosting, you share processing power with other sites, and during peak times, orders get queued up. In that case, first check your PHP version and memory limit. On our shared hosting, you can adjust the PHP version and memory_limit yourself via cPanel > Select PHP Version > Options, and our support team will help you out if you're not sure what your plan allows. We protect your accounts with CloudLinux and CageFS, so a busy neighbor won't immediately slow down your online store. If you're expecting real traffic spikes—such as around Black Friday—then managed cloud hosting better with your own server resources.

The database is the second culprit. Expired sessions, transients (temporary cache values), old scheduled actions from the Action Scheduler, and revisions all make each database query more resource-intensive. First, create a backup, and then clean up, as described in Cleaning Up the WordPress Database. HPOS (High-Performance Order Storage) stores orders in its own tables and is faster when handling large volumes of orders. Don't switch over until all your extensions are compatible, which you can check under WooCommerce > Settings > Advanced > Features. Cleaning isn't a one-time job but rather periodic maintenance, and you can outsource it through WordPress Management.

Page caching doesn't work during checkout, so each step there queries the database again. Object caching stores database results in memory, so that repeated queries bypass the database. You can read more about this at Object caching with Redis. To be honest, Redis runs on Surver only on Surver Cloud. On the shared plans, including those at Managed WooCommerce Hosting, your store runs on LiteSpeed servers with NVMe storage, LiteSpeed Cache, and OPcache by default.

Causes within your store itself: plugins, scripts, images, and themes

In the store itself, plugins and external scripts are the biggest culprits, followed by large images and a slow theme. Plugins that load scripts on every page quickly add up, and a marketing pixel or chat widget only adds to the load. During checkout, payment and shipping plugins also call on external services—for example, to retrieve shipping rates—and any slow response from those services is reflected in your load time. Use Query Monitor to identify the heaviest plugins, remove the ones you don’t use (disabling them isn’t enough), and load scripts only on pages where they’re needed. Fortunately, in newer versions of WooCommerce, cart fragments—the AJAX request that refreshes the shopping cart counter—no longer load on every page. Bots that crawl your filter pages also consume resources, and that’s where our Bot Blocker and automatic IP blocking come in. If you want to outsource your online store’s plugin management, check out WooCommerce Management.

Product photos straight from the camera or the supplier, displayed in galleries of ten, can quickly make a product page several megabytes in size. Use WebP, the correct dimensions, and lazy loading—except for the main image at the top. Details can be found in Optimize images. A CDN speeds up images and CSS, but not the checkout process. We include Image Optimizer in cPanel, and as part of our WordPress maintenance and management services, we set up the QUIC.cloud CDN for you.

If the store remains slow after that, check the theme. Themes that can do everything also load everything, and a page builder on product pages adds another layer. Test on a staging environment with a standard theme. If there's a big difference, a lighter theme is worth considering.

Where will you start tomorrow?

Start by running tests, then clean up, and only then evaluate your hosting. By following this order, you’ll avoid spending money on a more expensive plan when the problem was actually caused by a forgotten plugin.

  1. Use the table above to identify where the bottleneck is.
  2. Clean up the database and remove any plugins and scripts you don't need.
  3. Only then should you assess whether your hosting can still handle the traffic.

Sometimes the hosting plan is simply too small, and in that case, no amount of optimization will help. That’s not a failure—it’s a sign that your store is growing. If you want to outsource the analysis and optimization, there’s WordPress Speed Optimization. See also the Causes of a Slow WordPress Website and the guide Making WordPress Faster.

Frequently Asked Questions

Why is the WooCommerce admin panel so slow?

Usually due to large order tables, resource-intensive admin plugins, the Heartbeat API constantly attempting to connect to the server, and a full queue of scheduled actions. See below WooCommerce > Status > Scheduled Actions whether thousands of actions are waiting there or have failed.

How many plugins are too many?

There's no set number; it depends on what they load. One heavy plugin weighs more than ten light ones. With Surver, you can clone your online store in Installatron to a staging environment and test there what happens when you disable a plugin.

Does WooCommerce slow down WordPress?

WooCommerce adds scripts, database tables, and dynamic pages. On a good hosting service, such as Managed WordPress Hosting On LiteSpeed servers with NVMe storage, you'll hardly notice it, but on low-spec shared hosting, you will. So a slow online store is rarely due to WooCommerce alone.

Have a question about your website or hosting?

Our team is ready to help you! Leave your details and we'll get back to you with no obligation.

Share this article:

Ask your question

Have a question about your website, hosting or WordPress? Enter your details below and we'll get back to you as soon as possible with a personalized answer.

You don't need any technical knowledge. We are happy to think with you.

Ask your question