This is a guest post by Jason Conroy. Jason works at Prospress Inc. where he helps WooCommerce store owners sell more subscription products, automate their marketing, and ensure their stores are always running smoothly with automated checkout testing.
When new versions of WooCommerce are released, what do you do? Do you cross your fingers, hit update, and hope for the best? Do you diligently test new versions on a staging site? Or do you simply ignore updates altogether because you like your site just the way it is, thank you very much?
It’s pretty common for store owners to take an ad hoc approach to updates. But winging it isn’t a great strategy and you should have some kind of process in place for testing and preparing your site when the time comes to update to a new version of WooCommerce.
This way, if things don’t go to plan and you need to roll back your site, you’ll save a lot of time (and anxiety) later.
So in this post, we’ll take a look at some useful tools to help you automate your testing (so it’s less tedious and time consuming!) along with an 7-step checklist to help you get your site efficiently prepped and ready for WooCommerce and other updates.
Don’t hit that “update” button just yet…
WooCommerce, WordPress, plugin, and theme updates are critical for the security, performance, and compatibility of your site, not to mention the fact that new releases usually come with a stack of new features and functionality that you’d otherwise miss out on.
But there’s no reason why you should rush into an update. My own personal rule of thumb is that you should never update your site, including WooCommerce, without thoroughly testing any new releases first, whether it’s a major or minor release.
In an ideal world, everyone would test their sites during the beta and release candidate periods. But in reality, a lot of (and I’d go as far as to say most) people don’t. So, unfortunately, bugs can and do slip through.
So hold off (even just a little!), give yourself some time, and read up on the new features available in the version of WooCommerce you’re updating to so you understand what changes will be made to your site, and how they might impact other parts of your site. The beauty of open source software is that you can create just about anything, but only you will know all of the plugins running on your site, and how updates might affect them.
Make time to test your site and to review changelogs and the WordPress.org support forums before updating WooCommerce. Often, if there are any problems with a release, someone will report it and the core team will release a fix.
On the flip side, if you find and report a bug during your testing you’ve helped contribute back to the community.
Tools to help you prepare for a WooCommerce update
Getting your site ready for an update doesn’t have to take up a ton of your time. With a few essential tools, you can speed up the process and even automate testing your store so you never have to manually test it again.
The very first thing you need to do, if you haven’t already, is set up backups for your site. This will ensure your site’s data is both secure and easy to restore if necessary.
When it comes to WooCommerce stores, you should save backups more frequently than informational or static sites do. Since stores are transactional, the data in your site constantly changes: customers make payments, save items to shopping carts, or register for accounts. Taking frequent backups will ensure you have a recent and fully functioning version of your store to fall back on if something goes wrong and you need to roll back and start over with your update.
Automated backups are a set-it-and-forget-it insurance policy. However, be sure to check that your backups are actually working and that your storage location has enough space.
It’s also worth mentioning that web hosts usually offer daily backups, so check with your host to see what’s included in your plan, how often your site is backed up, and how long backups are kept for.
2. Staging site
For an eCommerce store, having a staging site is non-negotiable. Staging sites provide a testing environment where you can test major (and minor) releases without any risk to your store or the experience of your customers.
You should never update your live site immediately after a new release of WooCommerce. Instead, you should thoroughly test new versions on a staging site first. With a duplicate of your WooCommerce store set up on a staging site, you can see how your site might react before updating your live site.
There are a few ways you can set up a staging site: through your web host, hosted staging, plugins, and manually. Check out Robot Ninja’s guide to creating a staging environment for WooCommerce for more on how to get set up.
3. Visual comparison tool
After running an update, it’s not unusual for the layout and design of your site to change, even slightly. But how do you know how much, if at all, it’s changed?
You could go through and manually open every page on your site, and even take before and after screenshots of your pages. But if you run a large site with dozens of pages (with different layouts and/or functionality), tracking down every small design change, or even locating widgets and other small functionality that’s stopped working would take a lot of time.
This is where visual comparison tools can come in handy. Also known as visual regression testing, these tools take timely snapshots of your site’s pages and let you know what percentage of each page’s visual content has changed. These tools provide huge value for those who are tired of manually checking sites for style issues.
There aren’t a lot of these visual comparison tools around, but one that’s gaining popularity for WordPress is WP Boom, which lets you take a snapshot of your site, hit update, and then take a second snapshot so you can quickly identify what’s changed.
Note: often these tools can’t (easily) take snapshots of checkout pages (since you need products in the cart) and protected pages. So you might still need to take a few manual screenshots yourself as a memory jogger.
4. End-to-end testing tool
Visual comparison tools are great for tracking visual changes, but what about the actual functionality of your store, including the flow of your checkout, adding items to cart, and completing payment?
Again, you could manually test your store and complete checkout like any of your customers would. But doing it this way is boring and time-consuming, and gets old pretty quickly when you’ve done it a hundred times before. So why not automate it?
End-to-end testing tools can test the functionality of your store, providing more certainty when something isn’t working and you need to jump in and fix it. As the name suggests, these tools test your store from start to finish, clicking around your site to add items to cart and complete checkout.
As far as end-to-end testing tools go for WooCommerce, Robot Ninja is the only tool built specifically for this platform. When you connect your store to Robot Ninja, it runs through a comprehensive series of tests using real products and real payments. Plus, you can automate testing for WooCommerce both on staging and live sites.
Getting ready to hit “update”
With the above tools in place, you’re ready to start prepping your site for an update. This 7-step checklist will help you get your site ready and also give you a process to follow each time a WooCommerce update is released.
1. Re-familiarize yourself with the site you’re updating
If you haven’t used the site you want to update for a while, or even if you have, take some time to re-familiarize yourself and make notes about how it functions.
Whether it’s your own site or a new client’s site, this step will help ease some of the anxiety you might feel if there’s confusion about how the site works after the update (which happens more often than you might think).
2. Note down critical store URLs and functionality
While you’re re-familiarizing yourself with the site, write down any important URLs and functionality you’ll need to test (and double-check) after the update. This should include the homepage, category and products pages, my-account, carts, and checkout pages.
3. Check backups are current
If you have automated backups set up, check that they’re working, and if not, run another backup. If you haven’t backed up the site manually in a while, re-familiarize yourself with the backup tool, check that it’s working, and make sure you know how to restore a previous snapshot of your site if necessary.
4. Check your tools
If you’re making using of any tools/services to help with testing your site (such as the visual comparison or end-to-end testing tools mentioned above) now is the time to make sure they are working and re-familiarize yourself with how they function.
5. Note down other critical URLs and functionality
There will no doubt be other functionality on your store that will need testing, so make a list of other parts of your site that you’ll need to test, such as contact forms, pop-ups, and features like slideshows and galleries.
6. Check out what’s new in WooCommerce
Spend a bit of time reading up on the new features available in the version of WooCommerce that you want to update to. As I mentioned earlier, this will help you understand what changes will be made to your site, and how the changes might impact the functionality of your store.
Spending some time now familiarizing yourself with what’s new in WooCommerce will save you a ton of time and anxiety later, and ensure you know exactly what’s coming. I recommend checking out release announcements on WooCommerce.com, changelogs, GitHub issues, and the WordPress.org support forums.
7. Clone live site to staging environment
The final step is to clone your live site to your staging environment.
If you’re using any plugins that feature a staging mode, such as WooCommerce Subscriptions or Jilt, you’ll want to make sure it is on. You’ll also likely want to disable WooCommerce emails to reduce risk of accidentally sending unnecessary emails to customers.
If you are using a visual comparison tool or end-to-end testing tool then now is a good time to run them on the staging sites to make sure you have a good baseline for comparison after updating.
It’s important that your staging environment closely mimics your live site, so check this before continuing. I also recommend enabling debug logging in WordPress and WooCommerce at this step to help with any problem-solving later.
Now you’re ready to hit “update”
You’ll want to update your staging site first. Generally you should do your (other) plugins and theme first (to ensure you have compatible versions in place) and then update WooCommerce itself.
Once you have updated your staging site check your logs for any obvious errors and do a quick click around to make sure that the WordPress dashboard is working properly.
Next you’ll want to go through and check that the front-end of your site (all your critical URLs and functionality) is working as is intended. You can do this manually (which can be time consuming) or if you are making use of some of the tools mentioned above you can can run the visual comparison and end-to-end testing tools to compare before and after snapshots/results and make sure everything is working.
Once you’re satisfied that your staging site is in good working order and the updates didn’t break anything, you can go ahead and update your live site.
Depending on how your staging and live environments work, you may simply need to sync changes between staging and live. Otherwise, you’ll need to run through updating the plugins and code again. Some hosts, in particular managed WordPress managed host, can push changes live in one click.
Alternatively, if you did come across issues on staging, now’s the time to report and/or fix anything that’s not working. Version control, such as having your site in Git, can help you better manage changes, especially if you have custom code running on your site. If this is the case, you’ll need to fix it and make sure they’re applied to your live site before or after running the update (depending on the issue).
If you’ve come across an issue with WooCommerce itself, or with your plugins or theme, you’ll have to wait for a minor release before trying the process again, or even code fixes yourself.
Spend time prepping now to save time (and anxiety) later
The key to a successful and anxiety free update is the prep work. It’s worth holding off updating your WooCommerce site and spending a bit of time getting ready. There’s no reason why you need to rush—WooCommerce isn’t going anywhere—and with the right prep, you can save yourself the confusion that comes with a change in functionality that you weren’t expecting, or a change to your checkout that needs fixing.
By getting the right tools in place and following the checklist above, you’ll be prepared for any major or minor release, as well as plugin updates.
If you have any questions about how to prep your WooCommerce store, or want to know more about any of the tools or steps mentioned in this post, let us know in the comments below.
Automated WooCommerce testing with Robot Ninja
Now that your WooCommerce site is ready for an update, I want to introduce you to Robot Ninja. Our team at Prospress has developed this tool to automate WooCommerce testing, but also help ease the anxiety and stress that comes with running an online store.
Robot Ninja takes the tedious work out of manually testing your WooCommerce store. When you connect your store to Robot Ninja, it will run through a comprehensive series of tests using real products and real payments and let you know whether it’s running smoothly or if you need to make fixes to get your store back in working order.
With Robot Ninja you can:
- Queue up tests and watch as they happen in real-time — or go make yourself a cup of coffee and take a break for a few minutes while the magic happens!
- Schedule automated tests to run whenever you like, whether it’s weekly or every third day of the week.
- Get notifications when tests fail, including information about the error, your store configuration, and a screenshot of what the users sees at the time of failure to help you diagnose and fix the issue.
- Use real products and make real payments (not dummy one). Robot Ninja even automatically sorts out refunds.
Robot Ninja can test your WooCommerce store in a fraction of the time it takes to do it manually. It’s a great free option if you want peace of mind that your WooCommerce store is working smoothly — just schedule your tests to run regularly and Robot Ninja will take care of everything in the background and email you if there are any issues.