{"id":20410,"date":"2026-11-02T12:27:05","date_gmt":"2026-11-02T11:27:05","guid":{"rendered":"https:\/\/stage.surver.nl\/kennisbank\/woocommerce-webshop-traag\/"},"modified":"2026-11-03T12:15:30","modified_gmt":"2026-11-03T11:15:30","slug":"slow-woocommerce-online-store","status":"publish","type":"kennisbank","link":"https:\/\/stage.surver.nl\/en\/kennisbank\/woocommerce-webshop-traag\/","title":{"rendered":"Slow WooCommerce Online Store: Causes and Solutions"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"642\" src=\"https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-webshop-traag-v2.jpg\" alt=\"Slow WooCommerce Online Store: Causes and Solutions\" class=\"wp-image-20484\" srcset=\"https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-webshop-traag-v2.jpg 1024w, https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-webshop-traag-v2-300x188.jpg 300w, https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-webshop-traag-v2-768x482.jpg 768w, https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-webshop-traag-v2-18x12.jpg 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Your online store\u2019s 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\u2019ll learn how to first identify the problem and then what to do for each specific cause. This article is part of <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/woocommerce-maintenance-guide\/\">WooCommerce Maintenance and Management<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"waarom-een-webshop-sneller-traag-wordt-dan-een-gewone-website\">Why an online store Slows Down Faster Than a Regular Website<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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\u2019s why a fast homepage with a slow checkout isn\u2019t a contradiction. It\u2019s actually a clue as to where you should look.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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\u2019s 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\u2019t notice anything; with a hundred at once, you suddenly do.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"eerst-meten-waar-zit-de-traagheid\">Measure first: where is the bottleneck?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The part of your online store that\u2019s 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.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>What is slow?<\/th><th>Most likely cause<\/th><th>Initial check<\/th><\/tr><\/thead><tbody><tr><td>The entire site<\/td><td>Hosting, Outdated PHP Version, Bots on Filter Pages<\/td><td>TTFB, PHP version, access logs<\/td><\/tr><tr><td>Product and category pages<\/td><td>Images, Theme, Filters<\/td><td>PageSpeed Insights on a product page<\/td><\/tr><tr><td>Shopping Cart and Checkout<\/td><td>PHP workers, plugins in the checkout, external scripts<\/td><td>Place an order yourself, Query Monitor<\/td><\/tr><tr><td>Management and Orders<\/td><td>Database, queue of scheduled actions, Heartbeat API, resource-intensive admin plugins<\/td><td><strong>WooCommerce &gt; Status &gt; Scheduled Actions<\/strong>, Query Monitor<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"oorzaken-aan-de-serverkant-hosting-database-en-caching\">Server-side causes: hosting, database, and caching<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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 <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/update-php-version-in-wordpress\/\">PHP version<\/a> and memory limit. On our shared hosting, you can adjust the PHP version and <code>memory_limit<\/code> yourself via <strong>cPanel &gt; Select PHP Version &gt; Options<\/strong>, 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\u2014such as around Black Friday\u2014then <a href=\"https:\/\/stage.surver.nl\/en\/managed-hosting\/cloud\/\">managed cloud hosting<\/a> better with your own server resources.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/wordpress-database-opschonen\/\">Cleaning Up the WordPress Database<\/a>. 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 <strong>WooCommerce &gt; Settings &gt; Advanced &gt; Features<\/strong>. Cleaning isn't a one-time job but rather periodic maintenance, and you can outsource it through <a href=\"https:\/\/stage.surver.nl\/en\/services\/wordpress-maintenance-management\/\">WordPress Management<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/object-caching-redis-wordpress\/\">Object caching with Redis<\/a>. To be honest, Redis runs on Surver only on Surver Cloud. On the shared plans, including those at <a href=\"https:\/\/stage.surver.nl\/en\/managed-hosting\/woocommerce\/\">Managed WooCommerce Hosting<\/a>, your store runs on LiteSpeed servers with NVMe storage, LiteSpeed Cache, and OPcache by default.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"oorzaken-in-je-shop-zelf-plugins-scripts-afbeeldingen-en-thema\">Causes within your store itself: plugins, scripts, images, and themes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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\u2014for example, to retrieve shipping rates\u2014and 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\u2019t use (disabling them isn\u2019t enough), and load scripts only on pages where they\u2019re needed. Fortunately, in newer versions of WooCommerce, cart fragments\u2014the AJAX request that refreshes the shopping cart counter\u2014no longer load on every page. Bots that crawl your filter pages also consume resources, and that\u2019s where our Bot Blocker and automatic IP blocking come in. If you want to outsource your online store\u2019s plugin management, check out <a href=\"https:\/\/stage.surver.nl\/en\/services\/woocommerce-maintenance-management\/\">WooCommerce Management<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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\u2014except for the main image at the top. Details can be found in <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/afbeeldingen-optimaliseren-wordpress\/\">Optimize images<\/a>. 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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/wordpress-staging-environment\/\">staging environment<\/a> with a standard theme. If there's a big difference, a lighter theme is worth considering.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"waar-begin-je-morgen\">Where will you start tomorrow?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start by running tests, then clean up, and only then evaluate your hosting. By following this order, you\u2019ll avoid spending money on a more expensive plan when the problem was actually caused by a forgotten plugin.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Use the table above to identify where the bottleneck is.<\/li>\n\n<li>Clean up the database and remove any plugins and scripts you don't need.<\/li>\n\n<li>Only then should you assess whether your hosting can still handle the traffic.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes the hosting plan is simply too small, and in that case, no amount of optimization will help. That\u2019s not a failure\u2014it\u2019s a sign that your store is growing. If you want to outsource the analysis and optimization, there\u2019s <a href=\"https:\/\/stage.surver.nl\/en\/services\/wordpress-optimization\/\">WordPress Speed Optimization<\/a>. See also the <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/causes-of-a-slow-wordpress-website\/\">Causes of a Slow WordPress Website<\/a> and the guide <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/guide-to-speeding-up-wordpress\/\">Making WordPress Faster<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"veelgestelde-vragen\">Frequently Asked Questions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Why is the WooCommerce admin panel so slow?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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 <strong>WooCommerce &gt; Status &gt; Scheduled Actions<\/strong> whether thousands of actions are waiting there or have failed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How many plugins are too many?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does WooCommerce slow down WordPress?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce adds scripts, database tables, and dynamic pages. On a good hosting service, such as <a href=\"https:\/\/stage.surver.nl\/en\/managed-hosting\/wordpress\/\">Managed WordPress Hosting<\/a> 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.<\/p>","protected":false},"excerpt":{"rendered":"<p>De homepage van je webshop laadt prima, maar de checkout hapert en orders verwerken in het beheer gaat stroperig. Een trage WooCommerce-webshop komt meestal door een overvolle database met orders en sessies, te veel plugins, niet-gecachte winkelwagen- en checkoutpagina&#8217;s, zware productafbeeldingen en gedeelde hosting zonder voldoende PHP-workers. Hieronder lees je hoe je eerst vaststelt waar [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":20484,"template":"","kennisbank_categorieen":[61],"class_list":["post-20410","kennisbank","type-kennisbank","status-publish","has-post-thumbnail","hentry","kennisbank_categorieen-woocommerce"],"acf":[],"_links":{"self":[{"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/kennisbank\/20410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/kennisbank"}],"about":[{"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/types\/kennisbank"}],"author":[{"embeddable":true,"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/users\/2"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/media\/20484"}],"wp:attachment":[{"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/media?parent=20410"}],"wp:term":[{"taxonomy":"kennisbank_categorieen","embeddable":true,"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/kennisbank_categorieen?post=20410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}