WooCommerce is the plugin agencies are most nervous about updating, and for good reason. A broken blog post is embarrassing; a broken checkout costs your client money every minute until someone notices. The good news is that most WooCommerce problems after an update come from a short list of causes, and a routine of fifteen minutes catches nearly all of them. This guide is that routine.
Why WooCommerce updates break shops
WooCommerce itself is well tested. The problems usually come from the combination of WooCommerce with everything around it:
- Template overrides in the theme. Many shop themes copy WooCommerce templates into their own folder. When WooCommerce changes a template, the theme keeps serving the old copy. WooCommerce lists these under WooCommerce → Status as “outdated copies”.
- Extensions that lag behind. Payment gateways, shipping plugins and checkout add-ons that hook deep into the checkout can stop working when WooCommerce changes how the checkout is built.
- The database update. Larger releases ask you to run a database update afterwards. On big shops this can take a while, and until it finishes some screens behave oddly.
- Caching. A page cache or a CDN that keeps serving old scripts to the cart and checkout after the update.
Before you update: five checks
- Read the release notes for the WooCommerce version and for the payment gateway you use. Look for “breaking”, “deprecated” and the minimum PHP and WordPress versions.
- Check WooCommerce → Status for outdated template copies. If the theme overrides the cart or checkout templates, test those pages extra carefully, or ask the theme author for an update first.
- Make a fresh backup of files and database, and know how you would restore it. A backup you have never restored is a hope, not a plan.
- Pick a quiet moment. Look at when the shop gets the fewest orders. For most shops that is early morning.
- Update one thing at a time. WooCommerce first, then its extensions, each with a check in between. If something breaks, you know which update caused it.
Test on a copy, not on the live shop
The safest place to find a broken checkout is a copy of the shop that no customer can reach. Most hosts offer a staging copy with one click. Update the copy first and walk through the steps a customer takes:
- Open the homepage, a category page and a product page on desktop and on a phone.
- Add a product to the cart and change the quantity.
- Go to checkout and check that the fields, shipping methods and payment options appear.
- If the gateway has a test or sandbox mode, place a test order on the copy only. Never place test orders on the live shop with real payment details.
- Log in as a customer and open “My account”.
Make sure the copy cannot send emails to real customers or talk to the real payment provider, and that search engines cannot index it. A staging copy that sends order emails to real customers causes more trouble than the update you were testing.
After the update: what to check on the live shop
When the copy passes, update the live shop and repeat the short walk: homepage, product page, cart, checkout and account, on desktop and mobile. If WooCommerce asks for a database update, run it straight away and wait until it reports that it is finished. Then clear the page cache and the CDN, and check the checkout once more in a private window.
If checkout breaks anyway
- Roll back the one update that caused it, not the whole site. Restoring a full backup from this morning also throws away the orders placed since then.
- If you must restore the database, export the orders placed after the backup first, so you can put them back.
- Put a short notice on the site if checkout stays down for more than a few minutes, so customers know to come back.
- Write down what broke and which version. Next time you know which combination to test first.
How Verploy handles WooCommerce updates
Verploy treats shop updates as risky. It runs them on a temporary copy of the shop on your own server first, adds a product to the cart and checks that the checkout page opens, before and after the update, on that copy only. It never pays or places an order, and the copy sends no email and blocks outgoing requests. The live shop is only updated when the checks pass. On sites with the data guard, orders and form entries made after the backup stay on the site if a rollback is needed. More on the WooCommerce updates page.
Want shop updates tested before they reach your clients’ customers?
Every update is checked, and the risky ones, like WooCommerce and its extensions, are tested on a copy first. If something breaks after going live, Verploy rolls back. Start free on up to 3 sites, no credit card.