How to Migrate WooCommerce Products

How to move products in WooCommerce from one site to another?

How to export WooCommerce products?

How to import products from a spreadsheet into WooCommerce?

In this guide, you will learn how to successfully migrate all WooCommerce product types, including variations between sites without having to re-upload images, change custom fields, or over-write existing SKUS and product IDs. We’ll cover exporting WooCommerce products successfully, and then how to import the products onto a new site.

Whether you need to move a few simple products or thousands of variable products between WooCommerce sites, you are in good hands!

Remember to stay patient, take backups after each step, and practice on different staging sites if need be.

What is the process to migrate WooCommerce products from site to site?

  1. Export Products from Site A
  2. Import Products to Site B

Make sure to migrate your products before migrating your customers and orders. How come? Each order and customer are mapped to a single product. If the product has not been migrated yet, the order and customer cannot map to that product. This is especially important if you are merging products between sites and you want to migrate your order history.

Thus, to review, please do your migration in the following steps: Products, Customers, and then Orders. If you have already migrating your products between sites, please visit this blog post: How To Migrate Woocommerce Customers and Orders (Like A Pro!).

What plugins will we need?

Yes, I know this is a paid plugin but will save a lot of time and confusion in the migration process and ensure that your products are moved correctly.

Let’s begin!

1. Export WooCommerce Products from Site A

Step 1

First, go to Site A and upload and activate the Product CSV Import Suite plugin.

Step 2

Next, on your WordPress dashboard, hover over WooCommerce and click “CSV Import Suite”.

woocommerce-migrate-products-csv-export-settings

Step 3

Then, navigate to the to “Export Products” tab. On this page, I am operating under the assumption that your current WooCommerce store has simple and variable products and needs to migrate simple and variable products to your new WooCommerce site. Thus, it is important that you understand that you will need to export 2 CSV files: one for Products and one for Product Variations.

woocommerce-export-products-csv-import-export-products

First, go to “Export Products” tab, and click “Export Products”.

export-woo-products-options
Keep all default statuses unless you have a specific periods or product categories you are looking to export.

When the export is completed, download your CSV file.

Next, go to “Export Products” tab, and click “Export Variants”.

export-woo-product-variations-options
Keep all default statuses unless you have a specific periods or product categories you are looking to export.

When the export is completed, download your CSV file.

Step 4

Before proceeding to part 2, please make sure that you have downloaded 2 CSV files: one for Products and one for Product Variations.

If you want to be certain you are following the directions, here is a sample CSV products import file where Tab 1: Products, and Tab 2: Product Variations.

If both your CSV files are correct get ready to import your products from Site A to Site B in part 2!

[divider]

2. Import WooCommerce Products from Site A to Site B

Step 1

First, go Site B and upload and activate the Product CSV Import Suite plugin.

Step 2

Next, on your WordPress dashboard hover over WooCommerce > click “CSV Import Suite”.

woocommerce-migrate-products-csv-import-settings

Step 3

Then, click “Import Products” tab. Reminder from Part 1 above, but I am operating under the assumption that you have simple and variable products. Thus, it is important that you understand/don’t forget, that you will need to import 2 CSV files: one for Products and one for Product Variations.

woocommerce-import-products-csv-import-products

First, go to “Import Products” tab, and click “Import Products”.

woo-import-products-import-products

Then, upload your products CSV file, and click “Upload File and Import”.

woocommerce-import-products-csv-import-import-products

Finally, ensure that your fields are mapped to the correct fields in WooCommerce. Use the drop-downs on the left column to adjust fields or indicate “skip” and “do not import”.

import-products-file-mapping

After confirming your column headers mapping is setup correctly, scroll down and click “Submit”.

import-products-file-mapping-submit

Wait until the importer is finished. Do not refresh or touch the browser while loading.

Next, go to “Import Products” tab, and click “Import Variations”.

woo-import-products-import-product-variations

Then, upload your products CSV file, and click “Upload File and Import”.

woocommerce-import-products-csv-import-import-product-variations

Finally, ensure that your fields are mapped to the correct fields in WooCommerce. Use the drop-downs on the left column to adjust fields or indicate “skip” or “Do not import”.

After confirming your mapping is setup correctly, scroll down and click “Submit”.

Wait until the importer is finished. Do not refresh or touch the browser while loading.

Congrats! You have successfully migrated your products and product variations from Site A to Site B.

Next Step: Migrate Customers & Orders

If you would like to learn how to Migrate Orders and Customers, please visit this blog post: How To Migrate WooCommerce Customers and Orders (Like A Pro!), or see the Youtube video below for a live look at me migrating customers & orders from site A to site B!

[divider]

Frequently Asked Questions

My images didn’t migrate, what went wrong?

First, did all of your product images not migrate or only a portion of them? If all of your product images didn’t migrate, then it is likely that you have taken down your Site A, as while exporting the products, the CSV will have the product image URL in a column against each product row importing the CSV will download the image from the corresponding URLs and will be attached to the products, effectively letting you import images. So if you exported the CSV file from Site A, shut down site A, and then imported the CSV file into Site B, the images will not download because they weren’t able to download the image from the correspond URL.

If only a portion of your product images migrated, does this mean that each product has an image, but doesn’t have all of its images? This is a  question I get routinely when I am migrating Apparel WooCommerce Sites is why isn’t the Variant Image and Swatch image migrating? Note that only the General Product images can be migrated, and the variant product image and variant swatches cannot be migrated. For example, see the variable product below. Note, that this product includes many different variant sizes as well as 2 variant colors: Platinum & Black.

woocommerce-migrating-images

Notice how I have broken down the images/swatches into 3 categories: General Product Images, Variant Product images, and Variant Swatches.

General Product Images: All 4 of these images will migrate. Note, that all 4 of these photos will show up for each variant size and variant color (Platinum & Black), immediately upon migration.

woocommerce-migrate-images-parent-product-images
General Product Images

Variant Image: Both of these Variant Images (Platinum & Black) will not migrate, and thus, after you have imported the products into Site B, you will have to go in manually and insert the correct variant image for each variant product from the WordPress media library.

woocommerce-migrate-images-variable-product-images
Variant Image

Swatch Image: Both of these Variant Swatches will not migrate, and thus, after you have imported the products into Site B, you will have to go in manually and insert the correct variant swatch image for each variant product.

woocommerce-migrate-images-variant-swatch-images
Swatch Images

What would be a scenario where I would include hidden meta data when migrating products?

include-hidden-meta-data
Check to “Include Hidden Meta Data”

If you are importing products that previously have meta data, custom fields, you would enable this option. Meta data on your products just means that you have additional product data information from plugins and custom fields. This can include advanced options, like if products are on backorders, sale prices, and so on.

custom-meta-fields

For example, see the screenshot above. I use many plugins, including a subscription, tax, and review plugin that are all related to my products. Thus, I ned to check this box above or else I would get an error during the import process!

Do I need to have a sku or ID to import products into WooCommerce?

Yes, you need to have the sku or the id, or both sku and id. So in the case of Importing Products, you need to have a column that lists the sku and/or id. For Importing Variant Products, you need to have a column that lists the parent sku and parent id.

How come you wouldn’t just copy the live site to the dev site? Wouldn’t all WooCommerce products be migrated?

If you are developing an entirely new theme I prefer to start with a fresh WordPress install, develop the theme, and then re-import the products, customers, coupons, and then orders.

Can I migrate one ‘product’ and one ‘product variant’ before migrating everything at once?

Yes! A good way to minimize any trouble in migration is to export one product, import one product, export one product variant (belonging to that product), and then importing that product variant. If everything went well during the single product migration, I then migrate all products and product variants.

Single product import
If I have 1 or 10,000 products to import, I always import a single product first to minimize any trouble in migration.

Note: after the single product has been imported, navigate to WooCommerce > Products > and study the single order to ensure everything migrated correctly.

All products import
If the single product import went well, repeat the steps above and import all products into your site.

My exports freeze without completing. How do I fix this?

If you exports freeze without completing, ensure that your site is not blocking HTTP requests. For example, if you are on a staging site and users have to enter a username and password before entering the site, disable this on your staging site server to allow exports to process.

woocommerce-customers-orders-csv-export-freeze

How I noticed that there is an alternate WooCommerce export products plugin that doesn’t cost any money. Should I use that instead?

Note that WooCommerce already has a built-in product CSV importer and exporter. The catch is that you need to have WooCommerce version 3.1x or higher. Further, if you’re looking for documentation about the product importer built-in in WooCommerce 3.1+, check out the documentation here.

Additional Resources

Simon Gondeck

I’m a big fan of WordPress + WooCommerce (especially WooCommerce Subscriptions). Check out my YouTube channel.

Leave a Comment