WP e-Commerce to WooCommerce

There’s a pair of websites that I have looked after for a long time. They belong to a company that sells a few products, and have had quite a few sales over the years. This fall we’re doing some major renovations, and one of the things being changed is the underlying E-Commerce plugin for WordPress; we are changing from WP e-Commerce to WooCommerce. I expected that after installing WooCommerce it would offer to convert my WPeC store into a WooCommerce store. I was wrong. There was an official converter plugin but it was abandoned long ago.

Options to change a site from WP e-Commerce to WooCommerce

It looks like there are three ways to change a site from WP e-Commerce to WooCommerce:

  1. Use a commercial service like Cart2Cart. Cart2Cart looks great, but is made to move a store from one site to another, and I need an in-place conversion. They also charge per-migration, so if I want to migrate my localhost, modify the theme for WooCommerce, then migrate the live site, I’ll have to pay 1.5 times, (they give a 50% discount for re-migrating a site). With two sites my bill would have been around US$450, high enough for me to look at other, more complicated options.
  2. Create or update something like the old WooCommerce migration plugin.
  3. Manual Migration: This would involve a lot of SQL.

Cart2Cart looks ill-suited for my use-case, and expensive. Manual migration looks difficult, highly prone to errors, and not easily repeatable. This leaves creating or updating a migration utility. This migration script by Carl Hughes is bit newer than the WooCommerce one, promises to do more out of the box, and quick read-through doesn’t show anything too mysterious. It was my starting point.

Updating and Testing

It took three times as long as expected to update & test the migration plugin. Here’s what I learned, for anyone else that might be considering the same type of process:

  • This should go without saying, but this migration is destructive. If it fails the database will be in a strange state between WPeC and WooCommerce. Have a backup.
  • Since migrating from WPeC to WooCommerce changes the database, but only the database, (no media files are touched), a backup of the WordPress database is required. A lot of time will be spent reloading from the backup, so put it somewhere easy to get. Mine was on my desktop. Bonus points: a short bash script to reload the DB from the backup will save development time.
  • Make the backup be the exact state that the migration should run from. It is not efficient to disable a plugin in the WP Admin every time the database is reloaded.
  • Some plugins really slow down the migration. The most obvious ones are WP e-Commerce itself, and any Varnish caching plugin. If they are disabled the migration will run faster.
  • Each payment gateway, (plugin for a payment processor, in WPeC terminology), stores transaction data a little differently. I added the ability to port data from Authorize.Net credit card transactions, but separate routines need to be written for other processors.

Updated Migration Plugin

My fork of the migration plugin is up on Github, and a I sent a pull request to the original author so he can include my work if he wants. If you need to migrate from WP e-Commerce to WooCommerce hopefully this can help a bit. Read the readme. Migrating is harder than it should be, but it is possible.

Chitchat about “WP e-Commerce to WooCommerce

  1. I’ve tried the abandoned woocommerce converter and your converter. The woocommerce version does converts ONLY the products. That is a big problem but it seems to work pretty well for the products. Your converter works pretty converts the orders as well as products and that is a huge win. None of the pictures come over with the products with is puzzling to me sense the abandoned plugin works so well. Ideally your will soon handle the pictures correctly.
    – keep the wpec tables as they were originally so it is easier to make multiple conversions
    – add a switch or button to delete the wpec tables everything checks out ok.

    Thanks much for your efforts on this!

  2. I did end up using your software to make the move. However, in a strange way. I first used the abandoned plugin to move the products. Then I ran your plugin to move the rest. Yours did not have any problem with the products having already been moved so it all worked fine. Very Nice!

    Thank you for the tool,

  3. @Will That sounds like a good plan. I think the reason that images didn’t move properly for you is that the site that I was migrating – so the software was adapted for – used an ancient method of storing the WP e-Commerce images, so it doesn’t move the more “modern” WPeC galleries.

    It should have at least moved over the main image, (the post thumbnail).

    Thanks for the suggestions. If I update the software more I’ll see what I can do. There is another site that may need conversion eventually.

  4. Hey John,

    Thanks for the response. My WPEC store would have been 10 years old this August. Every time I went to update the software I have to do lots of work to get it working again. It got to the point that I couldn’t really maintain it myself. So glad I am rid of it now.

    Thanks again for the plugin, it was a real game changer for me.

  5. Hi John,

    Really interested in trying out your wp-ecommerce to woocommerce converter plugin.

    Do you think this is likely to work converting the latest version of wp-ecommerce data into the latest version of woocommerce?

    Also, just wondered if it will transfer the product images on your latest version? and whether the image urls would stay the same?

    Also, will it keep the urls the same, without the need for any 301 redirects?

    I’ve had a look at the woocommerce permalinks, and can see that there is a custom base one, where you can select: /product-pages/%category%/
    to get the urls pretty much the same.

    Would more than likely require some code in htaccess to hide the main category part, so that it doesn’t show the main and sub category together.

    Kind Regards,


What do you think?

Your name and E-mail address, and of course a comment, are required. I won't do anything evil with your E-mail address.

If you so desire, you may use these tags in your comment: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

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

Made by John