With the release of WooCommerce 2.6 on the horizon, we imagine you’re all excited to explore the newest features available for running your online store. And a bit apprehensive, perhaps, to go through the update process once more.
The beauty of the open source world of WordPress development is that it allows virtually anyone to create virtually anything for this platform we call home. The downside is that it’s nearly impossible to predict what will happen when you put any given combination of those thousands upon thousands of creations in different environments under different circumstances.
We pride ourselves on thoroughly testing WooCommerce and its extensions, but the unfortunate reality is this: conflicts still happen. That’s why we recommend being prepared in advance for releases and major updates, so in the event of an issue, you can roll right back.
« But how do you get prepared? » We’re so happy you asked. Here’s how to efficiently set up backups and testing for your WooCommerce store so you’re ready for anything.
Set up and automate backups for your store
The very first thing you’ll want to do to prepare your store for future releases is to set up backups so your store’s data is both secure and easily restored if necessary.
Backups give you clean, fully functional versions of your store to fall back on in the event of a major issue. If you can’t simply disable a conflicting extension or roll back to a previous version, backups will allow you to restore your store to a working condition so you can start over.
We recommend using Jetpack for this process. As part of a Personal, Premium, or Professional plan, Jetpack will give you automated backups of your WooCommerce store on a daily basis.
Jetpack lets you « set it and forget it » — that is, set up fully automated backups once and never touch them again unless you need to restore one. And if you do need to restore a backup, you can return to a previous version in a single click.
Create a separate testing environment
We make some recommendations about creating a space for testing in this doc about properly updating your WooCommerce site, but all those terms and suggestions can get confusing for new store owners who just want to know what to do, why, and how to do it.
To make things a little clearer for you: we recommend duplicating your store so you have a second nearly-identical version to test new releases on without potentially negatively affecting the real thing. This duplicate version is usually called something like a « development site » or « testing environment » (though you can call it whatever you want; I personally call mine « the place where I try to break things for fun »).
Many store owners create their testing environment on a subdomain of the site their store is on. So for example, if your store’s URL was reallyawesomebooks.com, you might have a test site at testing.reallyawesomebooks.com. Some folks choose to have their test environments offsite or stored locally for security purposes, but it’s completely up to you!
Getting your store’s content duplicated to this new spot, regardless of where it is, is usually the trickiest piece of the puzzle. If you have FTP and database access, you can copy everything over — but keep in mind that you’ll then need to do this every time you want to actually test something.
A great way to simplify this process and make the most of the backups you might already be creating with Jetpack is to restore them to your test site. If you have frequent backups (say, hourly or daily), this allows you to bring your testing environment up to date with just a few clicks and no manual copying.
You can follow the guide here to learn how to set up Jetpack to restore your data to an alternate domain, thus allowing you to use your backups as a source of fresh, accurate data for your testing environment. No more manual copying for you!
Have a testing plan for each release or major update
Once you get past these first two stages, you should have automated backups running and a staging environment ready for you to test on. Now you’re almost ready.
The only final step to take in between preparing for an update and actually testing an update is making a plan for it. It’s a good idea to make a testing plan so that even on your testing environment, with no chance of real-time data or customers being affected by your initial activities, you know exactly how and when you’ll handle each change.
What your plan looks like is up to you, and should be based on your own bandwidth, needs, and the frequency of updates you’ve observed in the past (you might have more testing to do if you have many extensions installed vs. just a few). But we recommend formulating a plan in advance that clearly states:
- When you’ll prepare your test site and try out each release — will you restore backups to your staging site each week and test major releases once each month? Or will you prioritize preparing for major updates ASAP?
- Where you’ll test, whether it’s only your test site or on a secondary site of some kind
- How long the testing period will last
- Who will be involved — will just you try to look for flaws, or will you have other team members or even your family try to look for issues?
- What, specifically, needs to be tested
Once you go through this process a few times, it will probably feel a bit less awkward and a bit more natural, including the process of spotting potential bugs, figuring out which plugins or extensions aren’t playing well together, and working with your development site.
One « pro » tip for those of you who have never tested compatibility between plugins, extensions, and themes before: if you run into something weird and aren’t sure what’s causing it, bulk deactivate all of your plugins/extensions and re-activate them one by one until the error re-appears.
Additionally, our support ninjas nearly always recommend switching to Storefront to troubleshoot potential WooCommerce conflicts with third-party themes, so it’s good to have a copy of that on hand if the latest point release suddenly looks funny to you. (Storefront is free, so no need to fork over any hard-earned cash to get a copy for your test site!)
Why upgrading without testing won’t always work out
When a major release of WooCommerce is made available, or one of your other plugins or extensions is upgraded, it can be tough to fight that urge to dive right in and see what’s new.
On a personal blog or WordPress-powered website, this approach is usually fine. But as far as your online store is concerned, the best approach is to use caution and always test major updates before activating them. You have much more at stake with your store, and more possibilities for conflicts, both factors which make preparation far more critical.
If you don’t heed our warnings and advice, it’s always possible that nothing bad will happen. Truthfully, for a majority of store owners, the upgrade experience is mostly hassle-free, even without testing. And as mentioned, we dedicate a lot of time and resources to testing the ongoing compatibility of our products.
But again, due to the open source nature of WordPress plugins and themes and third-party WooCommerce extensions, it’s always best to create some backups and test out those updates just in case you find an incompatibility that results in an error or even (yikes) breaks your store.
Sure, you could just wing it…
… but seeing how little effort it takes to get automated updates set up and a staging site prepared, we think it’s worth spending the time (and a little money) to do things right, just in case.
And of course, no matter what your situation is, you can always call on our reliable support ninjas if you run into trouble with any release or upgrade.
Experience smooth sailing with backups and testing for your WooCommerce store
As we mentioned, we pride ourselves on testing WooCommerce and its extensions before any major releases or updates. But the beauty of open source also lends itself to some unpredictability, so even our extensive testing means we can’t catch every bug or conflict possible.
By setting up automated backups and preparing a staging server or test version of your store, you’ll be prepared for major releases or extension updates, no matter when they arrive or how often they roll out.
Have any questions about how to prep your WooCommerce store for the next release? Let us know and we’ll be sure to lend you a hand in the comments below.