Maintaining a WordPress site can be tricky enough. WooCommerce maintenance is a whole different animal. Even with solid hosting providers that focus on WooCommerce hosting, it’s easy to break your shop if you don’t know what you’re doing.
Think of this post as a guide on maintaining WooCommerce for the highest performance and uptime.
Please note that this post is not a manual on how to provide WooCommerce maintenance services to clients — that would involve much more communication throughout the process.
Let’s get started.
Preparations Before Doing Any WooCommerce Maintenance Work
First, a disclaimer: always ensure you have a working backup of your WooCommerce shop in place. Every WooCommerce store is different and depending on how yours is set up, this maintenance workflow could break your site. See this article as a guide with recommended steps, but make sure they apply to your unique site. You can use tools like BackupBuddy, Blogvault or Updraft Plus to easily create automated backup routines.
After you’ve created a backup, please ensure that you’re able to restore it. Simply relying on the backup plugin without testing a restore is a huge mistake. Imagine that your site breaks after installing an update and you’re not able to get back into the WP Admin area. Would you still be able to restore the backup you just took? The backups your web hosting company creates should be your backup’s fail-safe, not your main backup strategy. Web host backups are certainly a welcome layer of security in preventing data-loss, but having your own website backups in cloud storage is the best practice.
At Nexcess, your site is backed up nightly, and the servers are always accessible because they are owned by Nexcess. However, for your convenience, it makes sense to have multiple backups in independent locations.
If you’re serious about your WooCommerce shop, another favorite tool of the pros is having a staging copy of your shop. That’s an exact copy of your website that you can use to test updates and new features on. Usually, high-quality hosting companies offer staging features with a single click, much like on Nexcess’ Managed WordPress and Managed WooCommerce Hosting products.
Do: Install a backup plugin
Do: Test restoring a backup on a copy of the website
Do: Set up a staging site
Do: Set up a maintenance routine
Don’t: Skip setting up automated backups of your shop
Don’t: Trust a backup will work without testing it
Don’t: Neglect setting up a staging site for testing
Don’t: Do maintenance whenever it comes to your mind
Tasks Involved in WooCommerce Maintenance
With backups and staging sites out of the way, let’s dive into the tasks involved in performing WooCommerce maintenance. Most of the following steps will revolve around installing updates for WordPress, WooCommerce, and the related WooCommerce plugins – but don’t take installing updates too lightly. It’s important to prevent one plugin from changing the behavior of another plugin, especially since these plugins are all created by different companies. They need to work together for mission-critical functions.
Installing WooCommerce Updates
Before diving into this topic, I want to make one thing very clear: WooCommerce is no ordinary WordPress plugin. The complex functions, need for the right payment processors, and countless APIs that integrate with WooCommerce makes it much more important than any other plugin you have installed on a website. After all, it is the backbone of your online shop.
When it comes to WooCommerce, it is important to always make sure you take a modern approach to major automated updates. Preventing haphazard automatic plugin updates is a key component of WooCommerce maintenance. For example, Nexcess’ Managed WordPress and Managed WooCommerce Hosting provide automatic plugin updates, but alongside visual regression testing. This way, if anything breaks, your site is automatically reverted.
Deactivating and Disabling Automated Settings
A quick tip is to configure update settings in the wp-config.php. As per information from the official WordPress website, you can configure these two automated settings:
Deactivate all automated updates completely:
define( ‘AUTOMATIC_UPDATER_DISABLED’, true );
Deactivating major WP Core updates in wp-config.php:
define( ‘WP_AUTO_UPDATE_CORE’, ‘minor’ );
When using filters in your functions.php file, you can even configure automated theme and plugin updates. By default, WordPress is only pushing automated theme and plugin updates for patching critical vulnerabilities. For that reason, I usually leave them activated and do not touch those filters. If you’d like to disable those automated updates as well, here’s the code:
Disable automated plugin updates:
add_filter( ‘auto_update_plugin’, ‘__return_true’ );
Disable automated theme updates:
add_filter( ‘auto_update_theme’, ‘__return_true’ );
WooCommerce Updates Routine
Now that we have automated updates out of the way, let’s talk about the routine for installing updates on your WooCommerce shop. Those always are a point of concern but with a standardized process, you can take out quite a bit of guesswork and anxiety from installing updates. I highly recommend setting up a staging site to test-drive the changes your WooCommerce updates bring to your website. Nexcess makes managing a staging site incredibly easy via their partnership with WPMerge, but there are other WordPress plugins that help you set up a staging copy.
On the staging site, I recommend you go through the updates in the following order:
- Install pending WordPress core updates.
- Install all plugin updates that are not related to WooCommerce.
- Update the main WooCommerce plugin as long as it’s not the first major release of WooCommerce. For example: avoid updating from 3.2.6 to 3.3 and wait for 3.3.1 (at least). If it would be an update for the first major release, I recommend you skip it and continue with step 4.
- Install all other pending updates related to WooCommerce plugins.
To boil it down:
Do: Verify you’ve got a working backup
Do: Update WP core first, then WooCommerce, then plugins, then the theme
Do: Check the WP admin area for pending database updates after the update
Don’t: Update your live website before updating your staging site
Don’t: Trust that updates won’t break anything
Don’t: Update WooCommerce helper plugins before updating WooCommerce
Don’t: Ignore WooCommerce database updates
Don’t: Update WooCommerce to major releases like 3.2, 3.3, and so on. Wait for 3.2.1, 3.3.1 (you get it).
Adding and Removing Plugins to WooCommerce
There are few plugins that have as many 3rd-party extensions as WooCommerce. As I said earlier, we need to understand that WooCommerce is no ordinary plugin but an entire shop system. Software companies and developers all across the globe understand the business potential of building WooCommerce extensions, so you’ll see hundreds of WordPress plugins if you search for the term “WooCommerce” on WordPress.org.
Think Before Adding a New Plugin to WooCommerce
Before you can add a new plugin to your shop though, be aware of the impact that new plugin would have. First, the new functionality added with the plugin has to match your long-term business goals. Simply adding a plugin because it’s shiny and everybody on Facebook is talking about it is a recipe for disaster. Every time you add a plugin, the following problems get exponentially worse:
- More bloat in the WP admin area
- Usually slower loading times of your website
- Potentially more confusing options for your website visitors
- More “stuff” to configure and maintain
Do the promised benefits justify taking up with those negative impacts? There certainly are plugins that are necessary for almost every shop system (e.g. integrate payment gateways, shipping services, affiliate programs, to sell subscription products, etc.). But there are also many shiny plugins that let you add complexity to your shop where it might not be needed.
Think about ways to achieve your goals without adding a new plugin before installing any WordPress plugin.
If you found that there is no way around adding a particular new plugin, you have to take measures to not break your site when installing it. Give the plugin a go on the staging website and see how it interacts with your currently installed extensions. Here’s a quick checklist to run through:
- Am I able to configure the new plugin as needed?
- Does the new plugin cause a significant decrease in loading time?
- Does ordering products still work seamlessly?
- Are my search rankings impacted through the new plugin?
- Are my tracking pixels impacted through the new plugin?
- Do the other WooCommerce extensions work with the new plugin or are there known compatibility issues?
- Does my shop pass the testing routine outlined at the end of this post?
If you can answer all those questions and are sure that your shop is working as expected, you’re ready to install the new plugin on your live website (after taking another backup, of course).
Removing a Plugin From WooCommerce
When you have to remove a plugin that extends WooCommerce, you have to be very cautious about how the functionality of your shop will change. Some plugins only have a minor impact on your shop and will barely be noticeable when gone. Others, however, can be essential pieces in your online business.
Again, never remove a plugin on your live website first – always work on your staging copy of the store. By now, you might have already guessed that having a staging website is mandatory for proper WooCommerce maintenance. If you haven’t set up a staging site yet, make it a priority on your to-do list!
After you removed the plugin from your staging site, you can simply go through the testing routine outlined below.
WooCommerce Maintenance Testing Routine
Testing the complex functionality of a store highly depends on your setup, so please take this routine with a grain of salt. It can only be a starting point for your testing process and might not be extensive for your particular configuration. However, these steps are what my team and I consider to be the mandatory tests that should be run on most of the online shops built with WooCommerce. You might want to extend it with tests for your unique shop setup.
Step 1: Log in to the backend and check if everything is working as expected.
Step 2: Verify your product data is still correct.
Step 3: Check the frontend for optical errors.
Step 4: Place test orders and go through the entire checkout process.
Step 5: Check your loading time on GTmetrix and/or Pingdom.
Step 6: Ensuring your tracking pixels are loading correctly.
Step 7: Log in with a test customer account and check that the “My Account” section is working as expected (change addresses, cancel orders, review the orders list, etc.)
And you’re done! Enjoy your well-maintained and cared for WooCommerce site.
Managed WooCommerce Can Take The Guesswork Out of Maintenance
Managed WooCommerce Hosting comes with WPMerge, making testing with a staging site extremely easy. And we’ve built a different set of tables to store order data that reduce query loads by 95% while increasing your capacity by 75% – meaning your site runs faster than ever.