Updating WooCommerce, its extensions, and WordPress itself needn’t be a nerve-wracking experience. If you prepare well and follow best practice, you can avoid all “my product pages look weird” and “this plugin isn’t working right” experiences.
Today we’re going to show you four ways to better manage updates to your WooCommerce store to save you time, keep your store running smoothly, and give you confidence for the next time you see the phrase «an update is available» in your WordPress dashboard.
Let’s get started.
Set aside some time for handling updates
One of the best tips we can offer for wrangling plugin, extension, or core WooCommerce updates — and have offered before — is to set aside time on a regular basis that you can devote to this process.
Depending on the size of your store, how many add-ons you have installed, and the amount of testing you need to do, this may look like an hour every two weeks. Or it may look like a few hours or even a full day once per month.
The idea is to put something on your calendar in advance so that you make updates a priority, keep making them a priority, and don’t forget about them. Also, if you do it this way, you’re a lot less likely to run into issues because the new plugin you insisted on using required the latest version of something you hadn’t made time to test yet.
Set up a recurring calendar appointment for your updates, and do your best to only handle them (plus your testing process) at that time.
Plan ahead with a staging site and backups
No matter how rock-solid a developer makes their WooCommerce extension, the open-source nature of our community means it’s still possible that it’ll conflict with something, from another extension to your own custom code.
But you don’t have to let conflicts between extensions cause downtime or other issues with your store. If you plan ahead by testing your updates on a staging site, you’ll know what needs to be corrected without causing any harm to your store.
The best way to prepare is by creating backups and testing updates on a staging site — basically a duplicate version of your live store that you use solely for testing. Jetpack provides very easy options for creating backups — a service included in any of the paid plans. There is even a top tier plan which includes realtime backups and the option to ‘rewind’ your site with a click!
To create a staging site with Jetpack:
- Make sure automatic backups are set up — you’ll need them to update your staging site in the future.
- Create a second site/directory on your server. This doesn’t need to be publicly accessible, but must be accessible via FTP/SFTP.
- Using VaultPress, set your second site as an «alternate» location, then copy your most recent backup (or an on demand copy) to it.
That’s it — you now have a staging site! All of your products, add-ons, and orders will be in place and you can apply and test any updates in the same environment.
The next time you want to test on your staging site, you’ll need to repeat the second half of step #3 to ensure it has fresh/accurate data (and the most recent copies of your extensions) before proceeding with any tests.
Test everything before updating
Now that you know how to create a staging site, we can share with you the third way to keep updates from running your life: test everything before updating.
One of the biggest reasons that updates seem to take so long or cause so many problems is because we want to update immediately. We see a notice about a plugin update and want to do nothing but click the shiny button and see what’s new and exciting, and we want to do it now.
Our lack of patience is what causes strange-looking themes, bugs in custom code, and sometimes entirely broken sites. But it doesn’t have to be this way.
If you’re already putting time aside for your updates and using a staging site, this step should follow naturally. Apply any new plugin or extension updates one-by-one on your test site (or at least while your store is temporarily closed via a maintenance mode plugin). Go through your store carefully and test:
- The functionality of its design/layout
- Usability of products (including variations, prices, and ability to add to cart)
- Ability to complete all steps of checkout
- Any products/pages with custom code or significant changes made to themes, extensions, plugins, etc.
If the update passes the test, it can be applied to the live site. If not, you’ll need to solve the problem before updating your real store (or, if you’re not using staging, roll back to your most recent backup).
This may seem like a lot, but a little testing will save you a ton of hassle when you spot a potential issue before it surfaces on your store… and potentially costs you both time and money.
Enable — or disable — automatic updates
One thing we haven’t yet talked about is the fact that WordPress (the open source platform that powers WooCommerce) can and will update itself.
As of version 3.7, WordPress will automatically update when maintenance or security releases are made available. It won’t, however, automatically auto-update when a major version is out, nor will it update your plugins or themes for you.
But if you wanted to automatically update everything, you could — say, to save yourself the hassle of restoring another huge chunk of files and data your staging site every time you want to test.
Or you could disable automatic updates altogether, just in case you didn’t want your live store to potentially be affected by a bug or conflict.
Kinsta has a great post containing some code you can use for this. A few lines added into your wp-config.php file will let you enable or disable several types of automatic updates performed by WordPress. Also, Jetpack can enable auto-updates for all of your plugins if you want.
You may also want to check with your host to see if they perform automatic updates — many managed WordPress hosts do. There is usually a setting to toggle this off yourself. However, be careful disabling automatic security updates for WordPress as doing so could put you at risk for a brute force attack, hack, etc.
Take control of updating your site with these tips
Updating WooCommerce, WordPress, and extensions doesn’t have to be stressful.
By using a staging site and backups, and doing adequate testing, you can take back control of the update process. And if you set aside time to do this instead of trying to get it all done on the fly, you’ll feel less rushed — and more confident that you have a solid, stable store.
We hope this advice has helped you in some way. If you have any advice of your own to share, we’d love for you to leave a comment below!