Home - How to Update WooCommerce Without Breaking Your Checkout
On this page

How to Update WooCommerce Without Breaking Your Checkout

Picture of David Ladiges
David Ladiges
Technical Lead
How to Update WooCommerce Without Breaking Your Checkout
How to Update WooCommerce Without Breaking Your Checkout

There's a new version of WooCommerce waiting for you in your dashboard, and you're hesitant to click on it Update Now 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’ll find the sequence I follow myself, what to test, and what to do if things do go wrong. The bigger picture is outlined in WooCommerce Maintenance and Management.

Why a WooCommerce update poses more risk than a regular plugin update

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’ll end up with an ugly page. If WooCommerce breaks, no one can check out anymore, and you won’t 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’s compatible with the new version of the plugin. After such an update, you can’t simply revert to the old version, because it no longer recognizes the new structure.

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’t that WooCommerce itself is broken, but that one extension is causing issues. That’s exactly why the order in which you work is so important.

What to Check Before Updating

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’s a major release or a maintenance release, and whether it includes a database update or a higher minimum PHP version. Next, I check the “WC tested up to” value for each extension and read the changelog for the payment plugin. If your new version isn’t listed there yet, you know you’re taking a risk.

You can see outdated templates below WooCommerce > Status. 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’t perform any functional updates on online stores at all—you don’t remodel the store during a sale. My own rule of thumb is not to install a major WooCommerce version on the day it’s 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’s already gone wrong, check WordPress hacked. For the same reason, I put automatic updates Not suitable for major WooCommerce releases.

How to Safely Update WooCommerce in Eight Steps

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.

  1. Make a fresh one staging environment of your live online store.
  2. 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.
  3. 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.
  4. Run the database update when WooCommerce prompts you to do so, and wait until it's completely finished.
  5. Test the ordering process using the checklist below.
  6. Just before the live update, make a complete backup of the live online store, including files and the database.
  7. Perform the same updates live, outside of peak hours.
  8. Clear the cache in LiteSpeed Cache or your own caching plugin, and place a test order right away.

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.

What to Test After the Update

After a WooCommerce update, test the entire ordering process—first 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.

ComponentWhat You're Checking
Product Page and Shopping CartPrices, variants, and a discount code
CheckoutFields, shipping costs, and sales tax
Payment MethodsiDEAL 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
Order Confirmation and EmailsDoes the email arrive, and is the content correct?
InventoryWill the inventory be written off?
LinksYou Payment, shipping, and accounting integrations
Scheduled Actions and NotificationsFailed actions under WooCommerce > Status > Scheduled Actions and management notifications in the dashboard

Finally, check the error log under WooCommerce > Status > Logs. You'll often see an error message from your payment plugin there before a customer emails you about it.

What if something goes wrong? Here's how to fix it

If something goes wrong after the update, restore the backup from just before the update—not 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.

  1. Set the online store to maintenance mode and pause your ads.
  2. 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.
  3. Restore the backup from just before the update. For step-by-step instructions, see restore a backup.
  4. Clear the cache and try again.

For more detailed troubleshooting, read Site Down After an Update. If you're having trouble, please contact our support team.

How it works at Surver with Managed WooCommerce Hosting, 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’d rather not do all this yourself, we’ll test and monitor it for you at WooCommerce maintenance 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.

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 Updating WordPress Safely and WooCommerce Backup. If you want to outsource updates for your entire site, check out WordPress maintenance.

Frequently Asked Questions

How long does a WooCommerce update take?

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.

What is the difference between a staging environment and a backup?

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 Managed WordPress Hosting Surver's WooCommerce hosting plans include daily automatic backups as standard.

Do orders get lost during updates?

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.

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