Start Free Trial
Start Free Trial

Migrate your store from WordPress/WooCommerce to Shopify

Migrate Store From WordPress Woocommerce to Shopify

In this tutorial you will know, how to migrate from WooCommerce to shopify with the Matrixify App.  Matrixify makes your store data migration easier and more accurate!

The main difference between Matrixify and other data migration methods is that Matrixify takes the data directly from WooCommerce API which means that there is access to more data and less room for error when handling files in different templates.
Direct connection to the WooCommerce API also allows the Matrixify to migrate over any custom WooCommerce fields to Shopify Metafields, so no information is lost in the migration and you can then use those Metafields in your Shopify theme later.

You can migrate any WooCommerce images that are contained in your Product or Collection descriptions, so that all images, including images in the descriptions, are hosted in Shopify, and not on your old WordPress/WooCommerce servers which you will switch off anyway.

The following tutorial explains how to migrate following data from WooCommerce to Shopify:

  • Products (including Products from trash in WooCommerce as archived in Shopify)
  • Collections (Categories in WooCommerce)
  • Redirects (generated from Product and Category links in WooCommerce to Shopify links)
  • Customers
  • Orders
  • Discounts (Coupons in WooCommerce)

This tutorial only works with WooCommerce API version 3 (WooCommerce version 3.5)

To check what WooCommerce API version your WooCommerce store has you need to open this page in your store: https://<server>/wp-json/wc/v3/
Replace <server> with your stores domain. Check step #2 on how to see what is your stores server/domain.
This page should open JSON file that looks like a page with a lot of text.
If this page opens an error message then please ask your WooCommerce administrator to configure WooCommerce API on version 3.

Steps to migrate your Store from WooCommerce to Shopify:

  1. Generate WooCommerce API credentials.
  2. Construct the WooCommerce API URL with credentials in the following template:
    https://<consumer key>:<consumer secret>@<server>
  3. Start a new import job from the WooCommerce API URL.
  4. Check the job details and select the “Dry Run” option.
  5. Download and unzip the generated zip file.
  6. Upload the images to Shopify Files.
  7. Review the “Import_Result” Excel file before importing.
  8. Import final Excel file into Matrixify app.
  9. Enjoy your WooCommerce store data in Shopify.

Now let’s dive into how to do it exactly.

1. Generate WooCommerce API credentials

Matrixify app uses WooCommerce API to get your shop data.
The first thing we will need is API credentials that Matrixify can use to access WooCommerce data.

Go into your WordPress Admin -> WooCommerce -> Settings -> Advanced -> Rest API -> Add Key

1 - create WooCommerce REST API Credentials

This will open a page where you can generate new API credentials.
There are three following fields to set:

  • Description: Here you can enter a name for the credentials. It does not need to be a specific name, it is just for your own reference.
  • User: Select the user through which the app will be accessing the API.
  • Permissions: The app only needs to read the data from your store, so select “Read” permissions.

After the fields have been selected, click on the “Generate API Key” button.

2 - create WooCommerce REST API Credentials

Now you can see two fields “Consumer Key” and “Consumer Secret” that we will need in the next step.

2. Construct the WooCommerce API URL with credentials

In the Matrixify app, we will need to provide a URL with API credentials from which the app will take your WooCommerce shop data.

The URL is constructed in the following template:

https://<Consumer Key>:<Consumer Secret>@<server>

For example, if we have the following credentials:

  • Consumer Key: ck_81a292437d9d99d7878955880a1cdd3c6a8ebe86
  • Consumer Secret: cs_2fb626c53599c5b73f4044864637b57ec4b8dac6
  • Server: dev-woo.excelify.io

So the URL for the Matrixify would be:

https://ck_81a292437d9d99d7878955880a1cdd3c6a8ebe86:[email protected]

Make sure to take your own WooCommerce server from the WooCommerce Admin URL and API credentials as in the screenshot below.

3 - create WooCommerce REST API Credentials URL

To migrate only a specific entity

If you do not wish to migrate everything, you can add “?only=” at the end of the URL to specify what you wish to migrate.
For example, to migrate only Customers and Products add “?only=customers,products” at the end of your URL.

Available values are:

  • products
  • categories
  • customers
  • orders
  • coupons

Migrate specific Orders

For Orders, you can also add the following parameters:

  • since
  • before
  • order_status

since and before  parameters should be in ISO8601 format, in your WooCommerce store time zone.
In the order_status parameter you can set the following values as supported by WooCommerce API – pendingprocessingon-holdcompletedcancelledrefundedfailed and trash.

For example, you can set parameters like this: “?only=orders&since=2020-01-01T00:00:00&before=2020-12-31T12:59:59&order_status=completed“.
This export will migrate only completed Orders, created after 2020-01-01 00:00 and before 2020-12-31 59:59 (from 2020 year).
You can also include other entities in the same constructed URL, but only Orders will be filtered with the since, before and order_status parameters.

Migrate Customers with specific role

For Customers, you can specify what customers you wish to migrate by changing the role with an customer_role attribute. Then the app will only ask WooCommerce API for customers with that role.
Possible values:

  • all
  • administrator
  • editor
  • author
  • contributor
  • subscriber
  • customer
  • shop_manager

If you do not have this parameter specified the app will assume the role as all.

Example – ?only=customers&customer_role=editor.

Products with a specific status

You can also add “product_status=” parameter to your URL to only migrate products with a specific status. You can also list multiple statuses separated by a comma.

Available values are:

  • draft
  • pending
  • private
  • publish

For example, ?only=products&product_status=pending,publish.
You can also use this when migrating all other entities by only having the ?product_status= parameter with your needed statuses in the URL.

The parameter will only apply to Products.

3. Start a new import job from the WooCommerce API URL

Now that we have the URL constructed, we can go into the Matrixify app. In the Import section you can paste your URL and press the “Upload from URL” button.

This will open a new import page where you can inspect that everything looks correct.

If app returns error “URL does not exist” it could mean that your Cloudflare Web Application Firewall (WAF) is blocking the connection from our server IP address.
Make sure that the Cloudflare WAF has Matrixify IP address 54.218.250.7 whitelisted to allow connections to your WooCommerce API.

4. Check the job details and select the “Dry Run” option

In the new import page, we can see details about the import job that we are about to run.

You can see what data the app will import and make sure that item counts look correct.
*Do note that WooCommerce API for Customers does not return Customers that created orders as guests without creating an account in your store, so the Customer count could be less than what you see in your WooCommerce admin.
But don’t worry – those Customers will get created with their basic details and addresses from the Order data.

Notice the “Format” should say “WordPress / WooCommerce API” – that way you know that it is recognized and connected to your WooCommerce API.

Migrate WooCommerce data to Shopify with Matrixify Categories Products Customers Orders Coupons

Then scroll down to the “Options” and select the “Dry Run” option. This will only convert the data from your WooCommerce shop to Matrixify template, without importing it just yet. It will give you a chance to then take a look at the converted data – check that everything is as you need, clean up your data before importing, and make any needed adjustments.

Doing a Dry Run is an optional thing – technically you could just run the Import without the Dry Run, and then look at the imported data directly in your Shopify Admin.

You do not need to change any other options – the default ones should work fine.

Check out Matrixify Import Options documentation to see what each option means.

2 - Check the job details and select the "Dry Run" option

Press the “Import” button at the top or bottom of the page to start the Dry Run import.

Dry Run import should be quick, but if you have a lot of data and it takes a while, then you should know that you don’t have to keep the Matrixify app open – you can close the browser, as it will continue working on our servers. Once the conversion is finished you will get an e-mail about it. Or you can just come back later and look into the recent jobs to see how it goes and if it’s finished already.

2 - migrate whole store from WooCommerce to Shopify with Excelify

5. Download and unzip the generated zip file

Once the Dry Run (or import) is finished, you can press the “Download Import Results” button to download Matrixify generated zip file.

Unzip that downloaded file. Inside you will find the folder “Images” and Excel file “Import_Result.xlsx“.

1 - Download and unzip the generated zip file

In the “Images” folder app will return images as actual files that are listed in the Product or Collection Body HTML code.
In many migrations, there might not be images within the HTML code, in that case, the “Images” folder will not be returned.

Actual Product images and Collection featured images are not returned in the folder as they will be downloaded by Shopify from the image links listed in the Excel file.

6. Upload the images to Shopify Files

In the “Images” folder you can find all image files that are used in the Product and Collection (Category) descriptions.

1 - Upload the images to Shopify Files

Since you are most likely going to switch off your old WordPress / WooCommerce hosting, you are going to need to host those images elsewhere. Shopify can host your images on their servers, and we strongly suggest using that opportunity.

When converting data from WooCommerce with the Matrixify app, the image links in your Product and Collection descriptions are changed to the locations where Shopify will host those images. So all you need to do is to upload those images to Shopify so that those new links start to work.

Head into your Shopify Admin Files section by going in Shopify Admin -> Content -> Files and press the “Upload” button to upload your files.

Navigate to your unzipped images folder and select to upload all those images.
This can be done by pressing Ctrl+A (or Cmd+A on a Mac) buttons on your keyboard.

It is important not to change the names of the images as then the uploaded image link will not match the one in your migrated descriptions.

If the Matrixify has guessed the new image links correctly, then they will show up in descriptions. If you have any broken image links after the migration, please, contact Matrixify Support so that we can fix it for you.

2 - Upload the images to Shopify Files

7. Review the “Import_Result” Excel file before importing

Once your images are uploaded to the Shopify Files section, we can take a look at the Matrixify generated Excel file with your WooCommerce store data.

This is a great moment to fix and clean up any data that you want to make better now that you are moving to Shopify. Quite often legacy systems have some degree of a mess in the data – partial phone numbers, misspelled words, uneven variant option names, and so on. Or maybe there is something you don’t need to migrate, then you can simply remove that data from the import file.

All fields that do not have a specific place in the Shopify will be set as Metafields in the generated file. You can look into Shopify manual on the Metafields and also make a note of our tutorial on how to bulk manage Metafields if you need to edit them later in bulk.

The “Import_Results” file will contain multiple sheets/tabs for each entity:

  • Products
  • Custom Collections
  • Redirects
  • Customers
  • Orders

1 - Review the "Import_Result" Excel file before importing

Products / Migrate from WooCommerce to Shopify

In the Products sheet, you can find all the product details that will be migrated.

You can find explanations of each column in the Matrixify Products documentation.

In WooCommerce you can have many Options per Product that are creating the Variants, but in Shopify, you can only have 3 options. The Matrixify app solves this by including all options above 3rd into option 3, joined with | symbol. That way you will still be able to choose all the options for your products, even if you had more than 3 options for your product variants in WooCommerce.

2 - Review the "Import_Result" Excel file before importing

Custom Collections / Migrate from WooCommerce to Shopify

Custom Collections in Shopify are manual collections where you can manually add products to them.
These would be generated from your WooCommerce Categories.

You can find explanations of each column in the Matrixify Custom Collections sheet documentation.

Custom Collections / Migrate from Woocommerce to Shopify

Redirects / Migrate from WooCommerce to Shopify

WooCommerce Product and Category (Collection) URLs are constructed differently in the Shopify.
This is why the Matrixify app automatically creates a redirect for each Product and Collection so that search engines know where those items are moved and can update their index. Also, customers who have bookmarked links to specific pages, or backlinks that point to them – all those will still continue working after the migration because visitors will get redirected to the correct pages in your new Shopify store.

You can find explanations of each column in the Matrixify Redirects sheet documentation.

Redirects / Migrate from Woocommerce to Shopify

Customers / Migrate from WooCommerce to Shopify

This contains all the Customer details that you will migrate to Shopify, including all their Addresses.

Matrixify will migrate all Customers – the ones that have Orders, and the ones that do not.

In WooCommerce each Customer has a “Role” assigned. In Shopify, there is no such thing as a Customer role, so this information will be stored in the Customer Tags. You can also find the Customer Role and other fields that Shopify does not have, in the Metafield columns.

You can find explanations of each column in the Matrixify Customers sheet documentation.

Customers / Migrate from Woocommerce to Shopify

Orders / Migrate from WooCommerce to Shopify

In this sheet, you could see all the order data in the Matrixify template.

The app would take all Orders from your WooCommerce store including their Refunds, Fulfillments, Customer addresses, and other details that can be found in the sheet.

You can find explanations of each column in the Matrixify Orders sheet documentation.

Orders / Migrate from Woocommerce to Shopify

Discounts / Migrate from WooCommerce to Shopify

The last section of the file is Discounts with their details.

Discounts do work differently in WooCommerce than they do in Shopify so there might be various warnings returned that you need to look into if it is something you need to adjust for your data or not.
If you see data that you would need to have migrated differently, please let us know by reaching out to our Support.

You can find explanations of each column in the Matrixify Discounts sheet documentation.

Migrate WooCommerce Discounts and Coupons to Shopify with Matrixify app using WooCommerce API

8. Import final Excel file into Matrixify app

Once you have made sure that data in the Excel file looks correct, you can again go into the Matrixify app, and upload that Excel file into the Import section.

When the file is uploaded and analyzed, make sure that the app recognizes each sheet from the file.
Since you are now uploading the Matrixify template file then you will also see that format is “Matrixify“.

This time you do not need to select the “Dry Run” option as now you need to actually import the store data from the file.

If all details look correct, you can just start the import by pressing the “Import” button.

5 - migrate Orders from WooCommerce to Shopify with Excelify

 

9. Enjoy your WooCommerce Store Data in Shopify

While the import is running you will see how many items are created and other details about the import.
Same as with the Dry Run previously, you can close the app while the job is running and come back later to check the results.

Once the import finishes you will see that it has a green “Finished” label.

Then you can go into your Shopify Admin and check your migrated WooCommerce Data in Shopify.

1 - Enjoy your WooCommerce Store Data in Shopify

 

Good to know

  • This tutorial explains how WordPress WooCommerce migration can be done with the Matrixify app.
  • To check what WooCommerce API version your WooCommerce store has you need to open this page in your store: https://<server>/wp-json/wc/v3/
    Replace <server> with your stores domain. Check step #2 on how to see what is your stores domain.
    This page should open JSON file that looks like a page with a lot of text.
    If this page opens an error message then please ask your WooCommerce administrator to configure WooCommerce API on version 3.
  • You can skip the Dry Run step and the whole reviewing of the converted Import Result file, and import the data without the Dry Run option – it will do the import straight away, and it will still generate the converted Import Result file with the images folder. Remember to upload images to the Shopify Files section.
  • If you see that some items in the import are showing as Failed, don’t worry – you can download the “Import Results” file of that import, and at the “Import Comment” column in each sheet, you can see the reasons for those items that failed. Then you can resolve those issues, and re-import just the Failed rows.
  • If the import speed is important to you, the higher plan you upgrade to, the quicker the import will be, as for example, Enterprise Plan essentially spins off 10 parallel import processes, achieving the effect as if 10 apps would import your data in parallel.
  • You can also migrate your WordPress Blog Posts and Pages to Shopify by following this tutorial.
  • Learn more about migrations to Shopify and what other types of data Matrixify can migrate to Shopify in bulk.
  • If you feel stuck with something, our Support is willing to help you – just reach out to us.