Preparing your website for WooCommerce 2.0

Written by Coen on February 8, 2013 Product News.

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.

cta-banner-10-product-page-v2_2x

66 Responses

  1. mikehealy.design@gmail.com
    February 8, 2013 at 12:17 pm #

    Do you have a preferred method for migrating to/from a test environment?
    WordPress litters the content with absolute URLs, so those links would break when moving the site to a different (sub)domain.

    When I develop locally I use the production domain, but point it to localhost with my hosts file. That’s not ideal, because I can’t load a development and live version of the site at the same time.

    • Coen Jacobs
      February 8, 2013 at 12:28 pm #

      There has been written so much about this, that I’ve chosen to leave it out in this article here. The WordPress Codex has a nice article on this migration issue: Moving WordPress.

      Also, BackupBuddy as mentioned in the article has a great migration tool and that also does the URL rewriting for you.

      Bottom line is, there is not just one way to do it, there are plenty of them and it really all depends on how you migrate and what tools you (can) use.

      • Kathy
        February 8, 2013 at 3:32 pm #

        The Velvet Blues plugin mentioned in the Moving WordPress article has worked well for me. But I recently tried the Search and Replace script from: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ and it is brilliant… made importing/exporting DBs a breeze.

        • davidhorn
          February 8, 2013 at 6:55 pm #

          I use that interconnectit.com script for moving between local server and production server. It’s wonderful and simple.

          I’ve started using backupbuddy on a few sites – but only for regular backups of the site files to Dropbox.

          • Coen Jacobs
            February 8, 2013 at 7:20 pm #

            You know the BackWPUp plugin does that – just for free – too? Not trying to take away BackupBuddy customers (on the contrary, I’ve listed them in this post), but there are alternatives if you use just that feature.

      • tvector
        February 8, 2013 at 4:09 pm #

        Infinite WP is pretty sweet too if you get the Backup/Clone add on. You can basically clone your site over to another server no problem, schedule backups, manage all your WP sites/plugins/themes all in one console. It’s a lifesaver if you have a lot of sites to manage.

    • Elio
      February 20, 2013 at 7:20 pm #

      I’ve been told this one works fine, and the development is quite active too. You can pull your live site into local for development/testing and then putting it back online again.
      http://wordpress.org/extend/plugins/duplicator/

      • lubalee
        February 28, 2013 at 10:03 pm #

        Duplicator is a smooth way to pack a whole WordPress and clone it wherever you need it. Also for backups, or for installing your own combination of theme and plugins, etc. The only thing I really miss is a multisite solution. That would be a dream.

    • Lucy Beer
      February 22, 2013 at 8:16 pm #

      The free Duplicator plugin is one of the best tools for moving a site from server to server, whether live or local. It takes care of updating all the links etc for you as well.

  2. Andy
    February 8, 2013 at 1:16 pm #

    Hi

    Is there a separate documentation area for WooCommerce 2.0 as I want to check if some things have been changed that will now allow me to use it for something rather than installing everything and checking manually?

    Thanks

    • Coen Jacobs
      February 8, 2013 at 2:38 pm #

      Our changelog for this release is the best document to check for all changes that will be in 2.0.

      • Andy
        February 8, 2013 at 3:19 pm #

        I understand that will tell me about changes Coen but it doesn’t give me examples, screen grabs etc of the improvements and additional functionality in 2.0 hence why I was asking if the existing documentation will be either updated or forked to reflect the significant changes in the new version?

        • Coen Jacobs
          February 8, 2013 at 7:21 pm #

          Correct, the documentation isn’t updated yet, but will soon as we get closer to the final release of the WooCommerce 2.0 plugin.

  3. tvector
    February 8, 2013 at 4:06 pm #

    I have a test server set up now with WC 1.6 latest. What’s the process for testing WC 2.0 when upgrading? I hear of an update script… but where is it? Does it happen automatically when you activate the plugin? What is the procedure for upgrading?

    • tvector
      February 8, 2013 at 4:13 pm #

      Doh…. I see above you will get prompted to run the update script. Sorry about that!

      • Ryan Ray
        February 8, 2013 at 6:36 pm #

        No worries. 😉

  4. Sean
    February 8, 2013 at 6:30 pm #

    Thanks for the guide – cant wait to go live!

    Have you collected any performance test results 1.6.X vs 2.0?
    I’m curious to know more on how 2.0 increase performance and what areas you’ve improved most.

    Keep up the good work – Woo rocks 🙂

    • Ryan Ray
      February 8, 2013 at 6:41 pm #

      I’m not positive if we have any, but you could compile some for us, right? 😛

      Just run 1.6.6 and 2.0 on identical sites and get out your stopwatch!

  5. Matt Mikulla
    February 8, 2013 at 6:49 pm #

    Is there a definitive list of all template files that have been modified, created and deprecated?

    The changelog only gets so specific.

    I created my own theme and used modified versions of the template files in a custom woocommerce directory per best practice.

    • James Koster
      February 8, 2013 at 10:50 pm #

      Afraid not. Your best bet will be to update your test environment and run through any modified templates that are throwing errors (if any), cross referencing them with the ones in 2.0. You can check each files history on github to see it’s developments.

      Shouldn’t be a big job unless you’ve modified every single template file 😛

      • davidsmythe
        March 6, 2013 at 1:34 pm #

        James, I think it’s a poor call to not advertise the files that have changed. We’ve made several customisations to the product pages via child theme template file overrides, and it’s soaking up the better part of this morning trying to sort out the issues post-upgrade. A list would really be helpful!

  6. dsolution2
    February 8, 2013 at 7:08 pm #

    please add to notes when you load the plugin it will load as woocommerce-2.0.0-RC1,

    You have to remove the -2.0.0-RC1 in order for custom themes and plugins to work

    • Coen Jacobs
      February 8, 2013 at 7:30 pm #

      Thanks, you are right. I’ve added this to the post.

  7. a.holligan.bf3
    February 8, 2013 at 10:19 pm #

    New extensions would be great 🙂

    • James Koster
      February 8, 2013 at 10:44 pm #

      Patience!

  8. Chris Howard
    February 9, 2013 at 12:40 am #

    “there is no undo”. Had to chuckle and think “only do”.

    Good luck guys, I code small bickies and know how much of challenge significant updates pose. Hope all your clients can appreciate that.

  9. davejay
    February 9, 2013 at 4:48 am #

    Are there any step-by-step instructions on setting up a test environment on a subdomain that’s an exact mirror of the production site?

  10. vitamalzbier
    February 9, 2013 at 8:55 am #

    We are planning to move to a new webserver.
    Do you already have a rough idea of when (a date maybe^^) you will release WooCommerce 2.0?
    Because then we will move at that point of time and setup a fresh and clean install of WordPress 3.5.1 and WooCommerce 2.0 and all the plugins our already updated and prepared shop theme.

    Hugs
    malzi

    • Coen Jacobs
      February 11, 2013 at 10:55 pm #

      We do not have a planned date, but I can spoil here that there will be a second release candidate before the final release. We want to release WooCommerce 2.0 as soon as possible, but want to make sure everything works as good as possible. We are still making extensions compatible, so give us a week or 2 more. 🙂

      • Paul
        February 20, 2013 at 10:46 pm #

        Any more news on a release date yet?

      • vitamalzbier
        February 21, 2013 at 12:44 pm #

        Thank you, Coen, for your reply.

        Refreshing your Blogpage twice daily to not miss out the release^^

  11. oscarekb
    February 10, 2013 at 5:38 pm #

    Hi!

    Just wanted to let you know that it seems the plugin “WooCommerce Variation Swatches and Photos” breaks the “Add new product” page.

    Also, I am not sure if it is my https or if the free plugin “WooCommerce Print Invoices & Delivery Notes” doesn’t work with 2.0. All it says is that I don’t have the right to access the print pages.

    • samuelmaes
      February 11, 2013 at 11:30 am #

      This is a problem with the plugin, as with some plugins depending how the check if the user can edit the shop orders…

      the code has changed in WC2.0 which makes the plugin see that your not authorised to see that page.

      Contact the plugin developer and ask them to update and see Github and he will be able to check changes needed.

  12. Kwyjibo
    February 11, 2013 at 3:59 pm #

    Hi there.

    Been using WooCommerce since November 2012, and I’m quite satisfied. One of the major missing feature was the multi-download support for virtual products.

    I was exicited in reading version 2.0 will feature it but, now that I’m testing the RC1, I’m a bit puzzled. What disappoint me the most is that it seems you cannot enter a description for each downloaded item. That way, the download links in the “order complete” email are not easily discriminated and the user can’t guess what item “Download 1″ is referring to.

    In my opinion it would be nice to add such a description.

    Thanks.

  13. oscarekb
    February 11, 2013 at 5:55 pm #

    Hi again!

    It seems some of the .js-files doesn’t work with the latest version of Jquery (1.9) as they have dropped support for .live.

    This is present in single-product.js for example.

    But I have trouble using other versions of jQuery as well. If I use older versions, it says “Uncaught TypeError: Cannot read property ‘389’ of undefined”. On a single product page.

    • oscarekb
      February 11, 2013 at 6:19 pm #

      Woops! I take back that statement. I went over all the theme-template files again and found the “Cannont read”-bug.

      • Mike
        March 7, 2013 at 4:17 am #

        Any more info on where to fix the “Cannot read” bug? Getting the same thing.

        • mattQ
          March 16, 2013 at 5:54 pm #

          Any solution ? Have this same problem…

  14. Creatyz
    February 11, 2013 at 6:17 pm #

    Awesome stuff guys, and thanks for the recomendations, pointing me in the right direction.

    OMG — I just went ahead and bought the BackupBuddy plugin and ran a test on one of my sites; it took me just 5 minutes to ‘clone’ my live site, including my calendar and other plugins, sidebar and widget settings, and replaced all url’s …… AMAZING!

    I paid my Hostgator guys $35 just 2 weeks ago to do the same for me on another domain, and it was buggy, and took 2-3 days ….. Money well spent!

    I am excited and confident now to start trying the new WooCommerce, which be the way is THE #1 commerce plugin out there …. nothing that comes even close……

    <3 Rob

  15. robwfounder
    February 14, 2013 at 12:01 am #

    I noticed in RC1 the styling for the descriptions and reviews is gone..it used to have a nice tabbed box by default but now just simple text links.

    • vitamalzbier
      February 16, 2013 at 3:28 pm #

      CSS class names have been standardized in WooComemrce 2.0 and are now prefixed woocommerce- instead of woocommerce_, woocommerce- and wc-mixed. If you’ve modified the templates you will have to make sure you’re referencing correctly.

      • ROb
        February 23, 2013 at 7:05 am #

        I made no changes to the template…it’s just n 1.6 the single product page had nice tabs for Description and reviews and in the 2.o RC the tabs are gone and just text links are left

  16. urban55
    February 14, 2013 at 1:46 pm #

    Gravity form extension. Do you think this will be ready for release with Woo 2.0?

    Thanks

    Mark

  17. hannahhill
    February 18, 2013 at 11:44 pm #

    Will the extensions be compatible with the second release candidate?

  18. seanhs
    February 19, 2013 at 7:54 am #

    Exciting… I’ve been looking for a list of the improvements / changes that are coming for 2.0… does anyone have a link handy? Thanks!

    • seanhs
      February 19, 2013 at 8:06 am #

      Nevermind, found the info on github…

  19. neatlysliced
    February 19, 2013 at 9:56 pm #

    We’re really excited about this! Getting ready to roll out the site, and now we’re going to wait for 2.0 so that we can have the latest and greatest. Thanks a lot, keep up the good work, and we’re eagerly looking forward to the final release for 2.0!

  20. michaelstrauss1
    February 19, 2013 at 10:18 pm #

    is there a list of all the compatible plugins with 2.0? I am seeing a lot on my test environment that are not working..

    • jkwalz
      February 27, 2013 at 6:53 pm #

      Yeah, I did a test install and pretty much none of the Woo plugins worked. Kind of a bummer but I guess they will all be working when 2.0 is released….if it is ever released

  21. edbloomtf
    February 28, 2013 at 1:04 am #

    Great work on V2.0 folks – loving it!

    One bit of feedback – more of a configuration issue.

    The new Permalink settings totally threw me. I thought I had a dodgy template override when I noticed my product pages 404’ing. It was only after then thinking *something* was up with my permalinks that I noticed the new permalink config. This one might cause a lot of end user support queries post launch. Might need to put that in quite a large bold font as part of upgrade instructions 🙂

    Ed

  22. ululf01
    February 28, 2013 at 7:03 am #

    Great stuff, I will deffinetly be giving it a look. It would be great to see some tips on using it

  23. Kris
    March 5, 2013 at 9:26 am #

    I doubt to upgrade to v2.01. Please adviced

  24. Marcelo
    March 5, 2013 at 12:47 pm #

    After upgrading to 2.0 I could receive payments on my website. At payment method I get this message:

    Fatal error: Call to undefined method WC_Gateway_BACS::icon() in /homepages/29/d247442480/htdocs/pispascom/wp-content/themes/kinetico/woocommerce/checkout/review-order.php on line 263

    Any solution?, Thanks

  25. Shamia
    March 5, 2013 at 8:19 pm #

    About
    devoted his services just for WordPress community. We think, script and deliver within WordPress. Our objective is to provide Tight integration of ideas into WordPress, as a result our clients database increasing everyday. N-Media have five free plugins approved by WordPress.org and four premium plugins.
    http://www.najeebmedia.com/n-media-woocommerce-personalized-product-options-manager/

    • razzaq
      March 14, 2013 at 12:31 pm #

      I am really thankfull. you help me to move to a new direction.

  26. Rene
    March 6, 2013 at 5:30 pm #

    Hi,

    1) I wonder why ShareYourCart is not available when in your doc said it is available.
    Is that the reason why the ShareYourCart plugin gives error message ‘cart is empy?
    Anyone who can help me out with this?

    2) Then, today I recieved an email with the new release 2.0
    But earlier this week I had a release 2.0.1…
    Strnge huh?

  27. ccrosson
    March 6, 2013 at 8:11 pm #

    Have all WooThemes been updated for WooCommerce yet?

  28. Rene
    March 7, 2013 at 9:35 am #

    Just had an auto update (WP-plugin) for version 2.0.2.
    But still cant use ShareYourCart.
    1) Message: Cart Empty
    2) on product page {“error”:403,”message”:”Item Name cannot be blank.”}

    Can anyone help me out please..?
    I notice that there are more people out there with same problem.

    thnks!

  29. Charlotte
    March 8, 2013 at 3:24 pm #

    urgg I didn’t read this before I updated to WooCommerce 2.0 (stupid me) I’m running into a problem with my site. My product images are not showing up and the titles of them are all crammed together when you go to all my product pages. In my wordpress it also says “Data Update Required – We just need to update your install to the latest version [Run the updater]” Should I press run the updater? I’m too scared I’ll mess up more :S helppp

  30. Patrick Cadona
    March 8, 2013 at 7:16 pm #

    No meu site aparece isso no checkout: Fatal error: Call to undefined method WC_Gateway_BACS::icon() in /home/vilacupo/public_html/wp-content/themes/kinetico/woocommerce/checkout/review-order.php on line 263

    Alguém sabe como arrumar isso??
    Desde já agradeço.

  31. Tran Ngoc Tuan Anh
    March 19, 2013 at 6:03 am #

    The new version is really great!

    But after upgrading, I see some themes (which are highly customized) are broken. I suggest you should not remove old functions (hooks), but still make them available for about 2-3 versions forward. And when users use those functions (hooks), just log a deprecated functions. You also can list all deprecated functions, hooks in the changelog so we can see what need to update.

  32. Logical Soft
    March 21, 2013 at 8:11 pm #

    Found this on the search for an answer. Had always been a magento user, but it is overkill in many cases where Woo is more flexible. Im on the Woo bandwagon

  33. Lemon Berry Media
    March 30, 2013 at 2:14 am #

    I really would like it if in woocommerce the Product Titles would still be at the top and then the product image would be underneath it. I don’t like how it shows up.

    For example on this website that I am working on it looks strange and I would like to know if there is anything that I can change in the coding to put the title at the top and then the product image below it.

    http://matildanaturalsoap.com/product/matilda-body-odor-soap-for-woman/

  34. gregthorne
    April 7, 2013 at 4:41 am #

    I upgraded to WooCommerce 2.0 and it just destroyed my product pages. Apparently my theme was not properly set up for 2.0 and now it’s just shredded to pieces.

    How can I downgrade back to 1.6.6?

    Please help!