We update a ton of plugins for our customers each and every day. 99.9% of them go very smoothly with no issues. But what about WooCommerce? What’s the best way to keep it updated?
WooCommerce is special
We give WooCommerce extra special attention when it comes time to update. Why? Because the level of functionality and complexity that WooCommerce brings to a WordPress site increases its chances of breaking things. WooCommerce site owners rely on it continuing to function smoothly without breaking as it’s the core of their business. Creating a plan for testing WooCommerce updates without breaking the live site is vital.
A staging environment
The key to updating WooCommerce is to run tests on a staging site first. This can either be local on your own computer, or on a remote server. The staging site is an exact duplicate / clone of the live website. From there you can run updates and perform tests without fear of disrupting the live site and preventing orders from coming in.
Backup
Before we get to creating a staging environment, we can’t stress enough the importance of a good backup strategy. Make sure you’re backing up both the database and site files on a regular, scheduled basis. There are many plugins available to help with this, and of course it’s one of the key services in our Essential Support plan.
A local environment
One of the easiest ways to get a cloned version of your site running is to set up a local environment on your computer. We start every web project we do this way using a tool called MAMP. It stands for Mac Apache MySQL and PHP. It’s a nice little package that will turn your Mac into a web server. Windows users have access to a similar product called WAMP. There are also more complex tools like Vagrant and Varying Vagrant Vagrants. These tools are a little more complex to set up but might offer a wider variety of configurations if you need it. Here’s an article about how I run my setup at Spigot Design: From MAMP to Vagrant and back again.
I won’t go into how to set up a local environment, but once you’re up and running, clone your live site and run your tests.
A remote staging environment
Another option is to set up a staging version of your website on a subdomain on your hosting account. Something like staging.yourwebsite.com. Clone your live site as before and run your tests. The benefit of setting up a remote staging site is that you can share it with others on your team and test on other devices.
One note about setting up a staging site: Be sure to discourage search engines from crawling the site by setting up a robots.txt file, or checking the “Discourage search engines from indexing this site” box in Settings > Reading.
How Cinch updates WooCommerce for our clients
Since Cinch offer WooCommerce support as an add-on to our Essential Support, you may be wondering how we go about updating WooCommerce for our clients. Let’s take a look:
A staging environment
Built into our backup system is the ability to quickly run a test restore on any site. This means in just a few minutes we can have a cloned version of the site up and running in a testing environment. We then log into the test site, run the updates and thoroughly test the site for any potential issues. Once we’re confident that the updates are safe we’ll update the live site.
What if something is broken?
If during our testing phase we find that a WooCommerce update has broken the site in some way, we’ll investigate the fix and make necessary changes. If the site is broken beyond all recognition, we’ll work with our client to contact either the plugin author or their theme author to work out the best way to solve the issue.
Your turn
What about you? Have you updated WooCommerce recently and found any issues? Let us know in the comments below. If you have a question about WooCommerce, or keeping it updated, start a chat, we’d love to help!