Posted on Leave a comment

Using the MainWP Staging Extension for Testing WooCommerce Updates

Testing WooCommerce Updates

With the breaking changes for WooCommerce if running versions earlier than 3.5.x due to WordPress 5.x release, now is the time to create a staging site. A staging site can be used to test the active theme updates, the WooCommerce-related plugins, and the WooCommerce plugin.

Creating a staging site allows you to test plugin updates without having to cause issues on the live child site. In the case of child sites using WooCommerce for e-commerce, this can mean a live site going down and causing a loss in revenue. The old mantra rings true for WooCommerce:

  1. Update on staging
  2. Test on staging
  3. Update and test on the live site upon completion

After updating WooCommerce, the active theme and related WooCommerce plugins on the created staging site and testing are now safe to update. You may also update those same themes and plugins updates on the live site. Updating theme and plugin changes on a live transactional store using WooCommerce is worth doing during off hours, which would be when the least amount of orders normally happen on the child site. Otherwise, you may run into delays on the updates, or have an issue happen on the live production child site which did not occur when testing on the staging site.

A number of WooCommerce plugins have staging site options; two examples would be WooCommerce Subscriptions and WooCommerce Follow Ups. If WooCommerce Subscriptions is active on a child site and you create a staging site, it will detect that the site URL has changed and set the site into staging site mode, which stops subscriptions from being charged. If you also want to stop all scheduled renewals, you can install a plugin on the staging site to stop those from trying to run on the staging site. In the case of WooCommerce Follow Ups, all emails will be disabled, and automatic emails will not be sent out to customers.

Follow-Ups > Settings

When testing the created staging site, double check that the order email or any site emails are not being sent out. A number of plugin options exist to disable email notifications.

If you go to WooCommerce > Settings > Notifications then you can select which emails to disable on the staging site.

To create a staging site using the MainWP staging extension, the extension will need to installed on the MainWP dashboard site. The other requirement is that the WP Staging plugin will need to be installed and activated for the child sites you need to creating staging sites on.

After the staging site has been created, you can either update the active theme and any active WooCommerce plugins, as well as WooCommerce, by logging in to wp-admin from MainWP. You can also run the updates from the MainWP dashboard. The updates will only be performed on the staging site. Testing that the WooCommerce updates work is a little more than on a more basic brochure or company site.

Here is a checklist of a few things to look for on WooCommerce plugin core updates and related WooCommerce plugins:

  • Does the cart page load when you add a product to cart?
  • Do single product pages load?
  • Do products with variations display on product pages?
  • Does the shop page load?
  • Does checkout load and does it look correct?
  • Did something break on the home page?

After the common tests for WooCommerce updates have been verified on the staging site, you will be safe to update the live child site. It is strongly recommended to run WooCommerce updates outside of business hours, and not when the site has the most traffic. Running updates during office hours can negatively affect sales.

Testing WooCommerce and related WooCommerce plugin updates on staging is a process to get used to using, so you do not have to deal with a live child having issues, after those updates were run on the live child site, without first testing on the staging site.

Get MainWP News and Notifications

Sebastian Moran on Github
Sebastian Moran
Sebastian Moran is a WordPress performance expert and technical liaison for MainWP.
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.