{"id":20400,"date":"2026-11-02T12:26:03","date_gmt":"2026-11-02T11:26:03","guid":{"rendered":"https:\/\/stage.surver.nl\/kennisbank\/woocommerce-veilig-updaten\/"},"modified":"2026-11-03T12:15:09","modified_gmt":"2026-11-03T11:15:09","slug":"how-to-safely-update-woocommerce","status":"publish","type":"kennisbank","link":"https:\/\/stage.surver.nl\/en\/kennisbank\/woocommerce-veilig-updaten\/","title":{"rendered":"How to Update WooCommerce Without Breaking Your Checkout"},"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-veilig-updaten-v2.jpg\" alt=\"How to Update WooCommerce Without Breaking Your Checkout\" class=\"wp-image-20483\" srcset=\"https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-veilig-updaten-v2.jpg 1024w, https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-veilig-updaten-v2-300x188.jpg 300w, https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-veilig-updaten-v2-768x482.jpg 768w, https:\/\/stage.surver.nl\/wp-content\/uploads\/2026\/11\/kennisbank-woocommerce-veilig-updaten-v2-18x12.jpg 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">There's a new version of WooCommerce waiting for you in your dashboard, and you're hesitant to click on it <strong>Update Now<\/strong> Click here. And rightly so, because this is the plugin through which your revenue flows. Always update WooCommerce first on a staging environment, check the checkout process, payment methods, and emails there, create a full backup, and then roll out the update live outside of peak hours. Place a test order immediately after going live. Below, you\u2019ll find the sequence I follow myself, what to test, and what to do if things do go wrong. The bigger picture is outlined in <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-woocommerce-update-meer-risico-geeft-dan-een-gewone-plugin-update\">Why a WooCommerce update poses more risk than a regular plugin update<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A WooCommerce update is riskier than a regular plugin update because it affects checkout, payment gateways, inventory, and emails all at once. If a slider plugin breaks, you\u2019ll end up with an ugly page. If WooCommerce breaks, no one can check out anymore, and you won\u2019t notice until the orders stop coming in. On top of that, many WooCommerce updates include a database update. A database update involves modifying the structure of your database so that it\u2019s compatible with the new version of the plugin. After such an update, you can\u2019t simply revert to the old version, because it no longer recognizes the new structure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The third risk lies in everything that builds on WooCommerce. Your theme, your payment plugin, and extensions for shipping, invoicing, or subscriptions are sometimes a few weeks behind a new WooCommerce version. The most common complaint I hear after an update isn\u2019t that WooCommerce itself is broken, but that one extension is causing issues. That\u2019s exactly why the order in which you work is so important.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wat-je-checkt-voordat-je-gaat-updaten\">What to Check Before Updating<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before you update WooCommerce, check the changelog, the compatibility of your extensions, outdated templates, and the timing. In the changelog, you can see whether it\u2019s a major release or a maintenance release, and whether it includes a database update or a higher minimum PHP version. Next, I check the \u201cWC tested up to\u201d value for each extension and read the changelog for the payment plugin. If your new version isn\u2019t listed there yet, you know you\u2019re taking a risk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can see outdated templates below <strong>WooCommerce &gt; Status<\/strong>. These are copies of WooCommerce files in your theme, which may cause the checkout or shopping cart to display incorrectly after an update. Also, choose a quiet time when there are no ongoing promotions or campaigns, and avoid doing this right before a weekend or holiday. Around Black Friday, Sinterklaas, and December, I don\u2019t perform any functional updates on online stores at all\u2014you don\u2019t remodel the store during a sale. My own rule of thumb is not to install a major WooCommerce version on the day it\u2019s released, but to wait for the first maintenance release. By then, extensions will have had time to update. The exception is security updates. Test those on staging the same day and deploy them immediately, because outdated plugins are a favorite entry point for hackers. If something\u2019s already gone wrong, check <a href=\"https:\/\/stage.surver.nl\/en\/services\/wordpress-hacked\/\">WordPress hacked<\/a>. For the same reason, I put <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/automatische-updates-wordpress\/\">automatic updates<\/a> Not suitable for major WooCommerce releases.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"zo-update-je-woocommerce-veilig-in-acht-stappen\">How to Safely Update WooCommerce in Eight Steps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A safe WooCommerce update is like a pit stop, where everything is ready and the car is stopped for as short a time as possible. This is the order I follow.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Make a fresh one <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/wordpress-staging-environment\/\">staging environment<\/a> of your live online store.<\/li>\n\n<li>Isolate the staging copy. Disable outgoing email, live payments, webhooks, and scheduled actions, and prevent search engines from indexing it. The copy contains customer data subject to the GDPR, so delete it after use.<\/li>\n\n<li>Update the staging environment in this order: WordPress, WooCommerce, extensions and payment plugin, and finally the theme. If a critical extension does not yet support the new version, hold off on the entire update.<\/li>\n\n<li>Run the database update when WooCommerce prompts you to do so, and wait until it's completely finished.<\/li>\n\n<li>Test the ordering process using the checklist below.<\/li>\n\n<li>Just before the live update, make a complete backup of the live online store, including files and the database.<\/li>\n\n<li>Perform the same updates live, outside of peak hours.<\/li>\n\n<li>Clear the cache in LiteSpeed Cache or your own caching plugin, and place a test order right away.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Note the difference between step 3 and step 7. You do not restore the staging copy to the live environment; instead, you repeat the update on the live store. While you were testing, orders likely came in, and those orders will be lost if you merge the staging database with the live store.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wat-je-test-na-de-update\">What to Test After the Update<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After a WooCommerce update, test the entire ordering process\u2014first on the staging environment and then again on the live site. I always walk through it as a customer, from the product page to the order confirmation, and then check the admin panel to make sure everything was processed correctly.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Component<\/th><th>What You're Checking<\/th><\/tr><\/thead><tbody><tr><td>Product Page and Shopping Cart<\/td><td>Prices, variants, and a discount code<\/td><\/tr><tr><td>Checkout<\/td><td>Fields, shipping costs, and sales tax<\/td><\/tr><tr><td>Payment Methods<\/td><td>iDEAL and credit card via your payment provider's test mode (such as Mollie); place a small, real order in production mode and then reverse the transaction<\/td><\/tr><tr><td>Order Confirmation and Emails<\/td><td>Does the email arrive, and is the content correct?<\/td><\/tr><tr><td>Inventory<\/td><td>Will the inventory be written off?<\/td><\/tr><tr><td>Links<\/td><td>You <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/woocommerce-koppelingen-onderhouden\/\">Payment, shipping, and accounting integrations<\/a><\/td><\/tr><tr><td>Scheduled Actions and Notifications<\/td><td>Failed actions under <strong>WooCommerce &gt; Status &gt; Scheduled Actions<\/strong> and management notifications in the dashboard<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, check the error log under <strong>WooCommerce &gt; Status &gt; Logs<\/strong>. You'll often see an error message from your payment plugin there before a customer emails you about it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gaat-het-toch-mis-zo-zet-je-het-terug\">What if something goes wrong? Here's how to fix it<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If something goes wrong after the update, restore the backup from just before the update\u2014not just the plugin. After a database update, the old plugin version will no longer be compatible with your database, and attempting a standalone downgrade will often make the problem worse.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Set the online store to maintenance mode and pause your ads.<\/li>\n\n<li>Export the orders that were received after the backup, and back up the current state. This data will not be automatically preserved when you restore the system.<\/li>\n\n<li>Restore the backup from just before the update. For step-by-step instructions, see <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/restoring-a-wordpress-backup\/\">restore a backup<\/a>.<\/li>\n\n<li>Clear the cache and try again.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">For more detailed troubleshooting, read <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/how-to-fix-a-failed-wordpress-update\/\">Site Down After an Update<\/a>. If you're having trouble, please contact our support team.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How it works at Surver with <a href=\"https:\/\/stage.surver.nl\/en\/managed-hosting\/woocommerce\/\">Managed WooCommerce Hosting<\/a>, is quite simple. You can create a staging environment by cloning your installation in Installatron, and you can restore the automatic backups yourself at no cost using JetBackup 5 in cPanel, where you can choose to restore either files or databases. You can create that extra backup right before the update yourself in Installatron, and restore it there as well. If you\u2019d rather not do all this yourself, we\u2019ll test and monitor it for you at <a href=\"https:\/\/stage.surver.nl\/en\/services\/woocommerce-maintenance-management\/\">WooCommerce maintenance<\/a> Set up your checkout, payment methods, and integrations such as Mollie, Sendcloud, and your accounting software, and let our firewall allow the webhooks from those services to pass through.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My final piece of advice is to make updating a regular monthly habit, rather than waiting until you have ten pending updates. Install security updates right away. See also <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/wordpress-updaten-core-themas-en-plugins-veilig-bijhouden\/\">Updating WordPress Safely<\/a> and <a href=\"https:\/\/stage.surver.nl\/en\/knowledge-base\/woocommerce-backup\/\">WooCommerce Backup<\/a>. If you want to outsource updates for your entire site, check out <a href=\"https:\/\/stage.surver.nl\/en\/services\/wordpress-maintenance-management\/\">WordPress maintenance<\/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>How long does a WooCommerce update take?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The update itself usually takes a few minutes; testing takes the most time. Based on my experience, I estimate about an hour, including a test order. A database update can take longer when there are many orders and runs in the background via scheduled tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What is the difference between a staging environment and a backup?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A staging environment is a working copy of your online store that you can use for testing. A backup is a snapshot that you restore if something goes wrong. You need both of them to ensure a safe update. At <a href=\"https:\/\/stage.surver.nl\/en\/managed-hosting\/wordpress\/\">Managed WordPress Hosting<\/a> Surver's WooCommerce hosting plans include daily automatic backups as standard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Do orders get lost during updates?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No, not if you run the update on the live environment again instead of migrating the staging database to the live environment. With Surver, you create the staging environment as a clone in Installatron and restore backups using JetBackup 5 in cPanel.<\/p>","protected":false},"excerpt":{"rendered":"<p>In je dashboard staat een nieuwe versie van WooCommerce klaar en je durft niet goed op Nu bijwerken te klikken. Terecht, want dit is de plugin waar je omzet doorheen loopt. Update WooCommerce altijd eerst op een staging-omgeving, controleer daar checkout, betaalmethoden en e-mails, maak een volledige back-up en voer de update daarna live uit [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":20483,"template":"","kennisbank_categorieen":[61],"class_list":["post-20400","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\/20400","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\/20483"}],"wp:attachment":[{"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/media?parent=20400"}],"wp:term":[{"taxonomy":"kennisbank_categorieen","embeddable":true,"href":"https:\/\/stage.surver.nl\/en\/wp-json\/wp\/v2\/kennisbank_categorieen?post=20400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}