Posted on

Preparing your web site for WooCommerce 2.0

With the release of WooCommerce 2.0 right around the corner (if you can, please help us test Release Candidate 1), it is time to start preparing your website for this new version of our plugin. There are a couple changes that you need to keep in mind before you update, so you can run the update as smooth as possible once it is available.

As part of preparing your website for WooCommerce 2.0, I will show you how you can test for compatibility issues in your website before actually doing the update. You might have a plugin that is causing a conflict, or your theme is not compatible with WooCommerce 2.0 because it hasn’t been updated for a while. It is always better to find those problems now, before you run into them on your live website.

WordPress 3.5 is required

For WooCommerce 2.0 we have decided that it requires WordPress 3.5. This means that you can’t use it if you do not run WordPress 3.5 or higher (version 3.5.1 containing a couple bug and security fixes, is actually already available, updating is highly recommended).

We have made this decision so we can use all the awesome new features WordPress 3.5 introduced and can drop some of the old legacy code that we still had for compatibility reasons. This will result in a faster WooCommerce plugin, a much more stable code base for the future and allows us to make even better extensions.

If you are running a very old version of WordPress, do check out the requirements for WordPress. They haven’t been changed since WordPress 3.2, but always a good idea to double check so you don’t end up with unexpected problems.

Backups, backups and more backups

Although this article will not cover any testing on your live website, now is a great time to sort your backup strategy. Are you making daily backups of your files and database already? Did you ever test restoring a backup before you had to? Testing restoring a backup is a great way to make sure that your backup is actually of any value in case you really need it.

There are a couple services out there that make backups easier for you:

  • BackupBuddy is a very popular backup and migration tool amongst our customers.
  • ManageWP does a lot more and is especially useful if you manage multiple websites.
  • VaultPress is the full backup service by Automattic.

All of the services mentioned above are premium services, however some have free packages. Of course there are free services available too (and you can always do it manually, for the adventurous people), but backups and making sure your website keeps running are serious business. Your WooCommerce website is probably aimed at making you money, so no harm in investing a little money and sleeping better at night, right?

IMPORTANT: Once you run the updater wizard to convert your data to WooCommerce 2.0, there is no undo. The data will be changed in such a way that there is no way back. The only way you can restore the ‘old’ data is by restoring a backup. This stresses the importance of having a backup strategy and testing everything on a test environment before touching your live website. It is not that we don’t want to restore the data, it is because we can’t.

Everything discussed in this article will assume you made a backup of your files and database. In fact, we are going to use that backup to setup a safe test environment to test the actual updates. So make sure your backup strategy is in top shape before proceeding with testing or even thinking of touching your live website. It doesn’t matter how you backup, as long as you are doing it right.

Setting up a test environment

In our support, we recommend this to our users every now and then. It might seem a bit daunting at first, but once you’ve done all the hard work in setting up a test environment, you will see that it’s much safer to test things there and not risk breaking your live website.

Most test environments are set up on a subdomain or subfolder of the original domain. Say I have a domain example.com, I could make a test environment on test.example.com. All hosting companies allow you to create a subdomain, either through your control panel, or contact them with this request if you are not sure about it.

This test environment is essentially a split install of WordPress, running the same plugins and theme as your live website is. But because it uses its own set of files and separate database (make sure you have the subdomain install use another database, or at least a different prefix), you can experiment with it at will. Nothing will change on your live website, so go ahead trying that new plugin or update you’ve been wanting to try out for a while now. If anything goes wrong and you can’t fix it, just trash the subdomain and start over again.

Test your backup restoring process

Now that you have the test environment setup, this is also a great opportunity to test the backups you are making. Instead of restoring your live website, you can also restore the backup on the test environment. This way you can make a copy of your live website, see if you can actually restore it and start experimenting right away.

Make sure that you update the siteurl and home options in the wp_options table to reflect the new URL where your test environment is actually set up.

Finally, on to testing WooCommerce 2.0!

Now that we’ve done all the ground work,  it is time to start doing what we’ve came here for. We have the test environment and we have the files and database from our live website in there. So you have all the products, categories and attributes, just like on the live website.

The main difference is that we know that we can play with the test environment without harming the live website. A good thing to do now, is to enable the WordPress debug mode, so any errors or warnings will be shown instead of hidden. In case you are not comfortable with these errors or warnings, you can choose not to enable the debug mode but hiding these is never a good idea in the long term. Now you’re on the test environment and you can’t harm the live website, it is great moment to start dealing with those errors!

IMPORTANT: Everything described in these following steps should be done on the test environment only, WooCommerce 2.0 is not ready yet to be used on a live website. In general it is a good idea to always test updates and new changes to your website in test environments first before changing it on your live website.

1. Update all plugins and themes

Before updating the WordPress core and WooCommerce plugin, it’s a good idea to update all your plugins and themes. Your plugin and theme files might be outdated and several bugs or errors have already been fixed in new releases. Overall it’s a good idea to keep your plugins and themes up to date, now you have a test environment where it’s safe to test the updates.

2. Update WordPress

If you haven’t updated your WordPress version to WordPress 3.5.1 yet, now is the time. This update should be a smooth ride and might clear up any errors or warnings that the plugin updates might have caused.

3. Grab the latest test version of WooCommerce 2.0

Right now, the latest test version of WooCommerce 2.0 is Release Candidate 1. This is a version that we consider to be stable, but need some final testing. You can download this version from GitHub and put it in your wp-content/plugins folder. If you already have a previous version of the WooCommerce plugin in that folder, remove that folder first and then paste in the new folder. Make sure the new folder has woocommerce as folder name, or else some plugins or themes might not work. Activate the plugin now.

4. Run the update or install steps

The WooCommerce plugin will either prompt you to run an update or an install wizard once you’ve activated it. The former will update your database scheme and contents, while the latter will install the latest database version right away. After you’ve done this simple step, your WooCommerce install is all ready to be used (which means, to be tested).

5. Test everything!

As explained before, WooCommerce 2.0 will introduce a lot of changes and new features. Therefore, everything needs to be tested extensively before you start using it on your live website. We have been testing the code for quite a while now, but your own install is always different. You either have a couple plugins installed, you use a custom theme or have some other custom developments in your code. That’s why it is important to fully test your WooCommerce store with your own setup.

6. Report any bugs

If you think you’ve found a bug, please report it back to us. Although we have been doing extensive testing on WooCommerce 2.0 before tagging the first Release Candidate, there might still be bugs in it, so please report them to us!

Think it is a bug in the WooCommerce plugin? Make it an issue in our GitHub issue tracker. If you need any help with our premium extensions or themes, do drop us a line via our support portal. In case you just want to discuss something WooCommerce related, or have a great idea for our plugin, let us know via the public WooCommerce forums on WordPress.org.

Let’s get testing!

Right, so we now know everything there is to know when it comes down to preparing your websites for WooCommerce 2.0, time to start doing it. Let’s just look at the key points in this article one more time:

  • WordPress 3.5 is required for running WooCommerce 2.0.
  • Make sure your backup strategy is in top shape. Double, no triple check this first.
  • There is no way back after updating to WooCommerce 2.0 (except for restoring a backup).
  • A test environment is a great way to experiment , without touching your live website.
  • Let us know if you run into any problems with our plugin, we’re happy to help.

I hope this makes the transition to WooCommerce 2.0 a little easier for you all. After all, it is a big update and your store probably is vital to your business. So better prepare now, while there is still time to get everything tested before WooCommerce 2.0 is available.