Building a great WooCommerce store for your client is only the beginning. Their WooCommerce store is a huge part of their business and you’re likely the one responsible for maintaining the site. Updating and testing are always a consideration with WordPress, but even more so with WooCommerce stores. Your client’s reputation with their customers, your relationship with your client, and your client’s actual revenue is on the line if updates aren’t tested and deployed properly.
Why update at all? If you’re reading this, you probably realize the importance of keeping WordPress, plugins, themes, and WooCommerce itself up to date, but just to reiterate… You need the latest updates for security and your clients want the latest updates to get the latest features and improvements. Some updates aren’t optional. For example, payment gateways periodically change their security protocols. WooCommerce payment gateway plugins update to support those changes, but if you fail to update in a certain timeframe, the payment gateway may shut down the old protocol… and then no more orders! So in short, it’s important to update all WordPress sites, but especially on WooCommerce sites where revenue is on the line.
It’s All About Process
Maintaining WooCommerce can feel daunting, but you just need a solid process in place. A process you follow even if “it’s just a small update” or even if “we need to get this updated right away” When you rush or skip steps, that’s when problems slip through, and you’ll be even worse off. Have a thorough process and follow it, every time. Ok, let’s talk about what that process looks like.
- Preparation: Assess your risks and know what to look for
- Testing: Update and test everything in an isolated testing environment
- Deploying: Update the live site when you’re confident
- Automation: Ok, how do we make the robots do the tedious stuff?
Preparation: Assess your risks and know what to look for
The first step is to write down details about your site, what parts were customized, and what’s at risk. Ideally, you can do this while you’re developing the site (when details are fresh and top of mind). Anytime you implement something bigger and better than a vanilla WooCommerce install, make note of it as an area you should review after performing updates.
Start making a list of important areas to check. Here are some site-specific questions to think about:
What theme are you using?
Storefront (the official theme developed by the WooCommerce team)?
- You can expect Storefront to keep up with the latest WooCommerce releases.
- Are you only using hooks to make all your visual changes?
- Or are you overriding certain templates?
A 3rd party theme?
- Hopefully you’ve selected one that’s well maintained and continually releases updates when new versions of WooCommerce is updated
- Are you only using hooks to make all your visual changes?
- Or are you overriding certain templates?
A custom-built theme?
- There are definitely times where this is appropriate, but just allocate more time to review your templates after each update.
- Use hooks & CSS whenever possible, so you can use the default WooCommerce templates (which will get automatically updated when the plugin gets updated)
Make note of any visual customization you’ve done in your theme. Overridden templates, changes on the product page, cart, etc.
What other plugins do you have installed?
WooCommerce Add-Ons
- Are you using popular add-ons from a reputable developer? Does the developer update them frequently?
- Official add-ons, or popular ones (like WooCommerce Subscriptions) are used by thousands of other stores and are less risky than some niche add-on by a 3rd party developer.
- How important is the functionality the add-on provides? If it breaks during a given update, how quickly will customers notice? Will it hurt revenue directly?
- How can you check that it’s still working after the update? If your client asks you if “add-on XYZ is working right now”, what pages would you visit, what sections would you look at, what would you check? Write this down, and this is your test plan for each update.
A note about other plugins
Yes, this is a WooCommerce-focused guide, but let’s not forget that any plugin can affect everything on your site. It may not seem like updating your Email Opt-In plugin would affect your checkout flow, but it can. If you update another plugin and it throws a JavaScript error on all your pages, it can break all other JavaScript on the page. This means a small update to a seemingly unrelated plugin just broke your checkout process! The point here is just to be aware of the other plugins you’re putting on the site, evaluate their quality just like you do for WooCommerce add-ons. And test just as thoroughly after updating these other plugins, you can’t relax just because it’s not a WooCommerce update.
Testing: Update and test everything in an isolated testing environment
Deploying: Update the live site when you’re confident
You should feel safe and confident in updating your live site by this point. But on Pantheon, running another backup is so easy, it would be silly not to. You probably won’t need it, but in the off-chance that you do, you’ll be so glad you have it.
Automation: Ok, how do we make the robots do the tedious stuff?
All this is a lot of work, right? We may not have the flying cars we were promised growing up, but we live in the age of artificial intelligence and robots should be able to help with us some of this tedious work. Luckily, there are some great options for automating your processes.
Tutorials & DIY options
- Codeception is an automated browser testing framework. You can write your own tests in PHP (and they can automatically get triggered by Quicksilver hooks)
- Visual Regression with Circle CI + WP-CLI + Terminus scripting – there’s a great writeup of how to roll up your sleeves and build automated browser screenshots to do some visual testing for you.
StagingPilot – The 1-click way, with native Pantheon Integration
Automated screenshots and visual analysis after each update
Automated browser testing to verify checkout and other critical functions are working
Comments are closed, but trackbacks and pingbacks are open.