1. Documentation /
  2. Import and Export of WooCommerce Products

Import and Export of WooCommerce Products

Export and import all the products and their related data either from the WooCommerce store or e-commerce platforms using the plugin: Import export Suite for WooCommerce.

Mapping WooCommerce Products

↑ Back to top

Before you get down to the product import & export operation, you must have some knowledge about mapping fields.

For example, the post_title field gets mapped to the product name and the regular_price field gets mapped to the regular price of your product. If you want the plugin to work correctly, you must map all of the fields in the correct format. If there is any mistake in your import file, your product import may not work as expected.

Column/Tag HeaderExplanationAccepted value or format
post_titleIndicates the name of the product.Text (ex. High Heel Shoe)
post_nameIndicates slug name of the product.Text (ex. high-heel-shoe)
post_statusIndicates whether the product is in a draft or published mode.draft/publish
post_excerptIndicates a short description of the product.Text/HTML
post_contentIndicates description of the product.Text/HTML
post_parentIndicates parent of grouped and variable products.Parent ID
post_passwordFor including a password for a private post.Text
skuSKU(stock keeping unit) is an identification, usually alphanumeric, of a particular product that allows it to be tracked for inventory purposes.Alpha-numeric characters
menu_orderIt decides the order of displaying the products in the shop. Items with menu order = 0 are displayed 1, 2, 3, etc. Products with the same menu order number are then listed alphabetically. When you create a new product it defaults to menu_order = 0.Numeric characters
downloadableAfter purchasing the product, whether the product can be downloaded or not.yes/no
virtualIt is not physically existing as such but made by software to appear to do so.yes/no
visibilityIndicates whether a product is available for purchase or not.visible/hidden
stockTotal number of products available in stock. You can use (+) or (-) signs with parenthesis to add or subtract the number of products to the stock.Numeric characters
stock_statusIt indicates whether the product is in stock or not.instock/outofstock/onbackorder
backordersIndicate orders for out-of-stock products that cannot be currently fulfilled or shipped, but is requested nonetheless for when the product becomes available again.yes/no
manage_stockIt indicates whether the stock is managed by a store or not.yes/no
regular_priceIndicates the original price of the product.Numeric characters
sale_priceIt is the price of the product that is being offered at a discounted rate.Numeric characters
weightIndicates the weight of the product.Numeric characters
lengthIndicates the length of the product.Numeric characters
widthIndicates the width of the product.Numeric characters
heightIndicates the height of the product.Numeric characters
imagesIndicate image URL or image name. Supports multiple image URLs separated by ‘|’.URL   Eg: http://url/filename1.png
tax_statusIt indicates whether the product is taxable or not.taxable/none
tax_classIt indicates the tax option for the product.Standard rate/Reduced rate/Zero rate
tax:product_typeIndicates the type of product, such as simple, variable, etc.Simple, Variable
tax:product_catIt is used during importing the product which indicates the category of product.
Use the pipe symbol to import multiple categories and the greater than symbol (>) to import category hierarchy.
Text
tax:product_tagIt is used during importing the product which indicates tag(s) used for the product.Use the pipe symbol to add multiple tagsText 
tax:product_brandIt indicates the brand of the product.Text
attribute:ColorIt indicates the available color of the product.Ex: red|blue|orange etc Text
meta:attribute_colorEx: red or blue or orangeText
attribute_data:ColorIt indicates the metadata about the attribute color of the product.position|visible|variation (ex. 0|1|1)
attribute:SizeIt indicates the available size of the product.Ex. US7|US8|US9
meta:attribute_sizeIt specifies the attribute value of each variation.Ex. US7 or US8 or US9
attribute_data:SizeIt indicates the metadata about the attribute size of the product.position|visible|variation (ex. 1|1|1)
attribute:pa_unitThis lists out the unit options.Ex. 10 kg | 20 kg | 30 kg
meta:attribute_pa_unitIt indicates the metadata about the product unit.Ex. 10 kg
attribute_data:pa_unitIt defines the position, visibility, and whether used for variation or not.position|visible|variation (ex. 4|1|1)
attribute_default:pa_unitThis is the default value of a unit attribute.Ex. 10 kg

Note: Attribute names with pa are global attributes and the ones without pa are called local attributes.

Mapping fields supported by Yoast SEO:

↑ Back to top
  • meta:_yoast_wpseo_focuskw
  • meta:_yoast_wpseo_title
  • meta:_yoast_wpseo_metadesc
  • meta:_yoast_wpseo_metakeywords

Steps to import products

↑ Back to top

If you are migrating the store as a whole, we recommend you to import the User/Customer data prior to Products.

To import WooCommerce products:

  • Navigate through the menu: WooCommerce > Import Export Suite and click on the tab: Import.

Step 1: Select post type

↑ Back to top

As a first step, you need to choose the post type as Product.

Step 2: Select import method

↑ Back to top

Choose from the below options to continue with your import:

  • Quick import 
  • Pre-saved template 
  • Advanced import

Let us have a look at each of these import methods:

Quick Import

  • imports the basic/standard fields of the respective post type.  
  • primarily used when your input file was exported using the same plugin
  • One can import files from:
    1. Local
    2. URL
    3. FTP
  • Click the Import button to complete the action or proceed to Step 3 for advanced options.

Pre-saved template

This import method will be visible only if you satisfy both of these:
  • imported data using the Advanced import method in any of your previous imports.
  • saved the selections as a template for future use.

This method retains the previous filter criteria and other column specifications as per the chosen file and imports data accordingly. By selecting this option, one can choose a previously saved template from the Import template drop-down.

Note: The template will be listed in the drop-down only if you have saved it in previous imports, if you go through the Advanced import, at Step 4 you will get an option to save the template. Once you save that, the next time you want to import a pre-saved template, it will be populated within the drop-down.

Advanced Import

This option will take you through a detailed process of filtering/column selection/advanced options that may be required for your import. 

Note: You can also save this file as a template for future use.

Step 3: Map import columns

↑ Back to top

Here, one can map the import columns under the following 5 fields:

  • Default fields
  • Taxonomies
  • Meta(Custom fields)
  • Attributes
  • Hidden meta

Note: Columns are mapped automatically only if a matching header name is found in the input file. If not, the value is left blank.
If your input file header does not have exact names or if you need to edit the existing mapping you can simply click on the respective value fields corresponding to each row. Furthermore, you can also assign expressions based on the existing input file columns.

Evaluate field

This field is used to append a value/expression to an existing item while importing. It basically selects/maps any column from the input file and computes the values with expressions and creates output.

  • Expression: Any of the operators +*/-()&@ or string constants can be used along with the attributes to manipulate the respective value. 
  • Input: Select the column from the dropdown which has to be modified.
  • Output: Sample value will be created based on the first record from the input file.

Note: Columns that have no values in the input file may cause syntax errors if used in an expression.

  • Click on Step 4 to proceed.

Step 4: Advanced Options/Batch Import/Scheduling

↑ Back to top

On reaching Step 4, the following window will appear, from where one can:

  1. Skip import of new products: To skip the import of new products, choose “Yes”. To import new products from the input file, choose “No”.
    When importing new products, a new option If product ID conflicts with an existing Post ID appears. Here, one can either Skip an item or Import as a new item.
  2. Match products by their:  ID, SKU. It is recommended to match the products by SKU, if the ID of a product in the input file is different from that of the product ID in site.
  3. If product exists in the store: One can either Skip or Update the entry.
    On updating the existing products, you can even choose to update the product data even if some of the columns in the input file contain empty values.
  4. Use SKU to link up-sells, cross-sells and grouped products: Choosing “Yes” will let you import the mentioned products using product SKU. 
  5. Delete non-matching products from store: Select ‘Yes’ to remove products from your store which are not present in the input file.

Note: On expanding Advanced options, one can set the number of records that the server will process for every iteration within the configured timeout interval.
If the import fails due to timeout you can lower this number accordingly and try again.

You can also save the template file for future imports (if needed).

  • Click on Import/Schedule to finish.

You can either import the products directly into your store or schedule the import using FTP.

To schedule the import:

  • Hit the Schedule option, and you will be taken to the cron schedule window.

The plugin supports two different schedule types:

  1. WordPress Cron: Upon a visit, WordPress Cron will check to see if the time/date is later than the scheduled event/s, and if it is– it will fire those events.
    • schedules your job at the specified time. 
    • is dependent on your website visitors.
  2. Server Cron: You may need to trigger the URL every minute depending on the volume of data to be processed.You can use this option:
    • to generate a unique URL that can be added to your system in order to trigger the events. 
    • if you have a separate system to trigger the scheduled events.

Also, the import/export can be scheduled on a daily, weekly, monthly, custom basis. You can configure the time at which the import has to be scheduled. Click on Schedule now to finish.

To directly import:

  1. Hit the Import button.

Once the import is completed, a pop-up will be displayed showing import status which contains the number of successful imports and failed imports (if any).

Steps to export products

To export WooCommerce products:

  • Navigate through the menu: WooCommerce > Import Export Suite and click on the tab: Export.

Step 1: Select a post type

↑ Back to top

As a first step, you need to choose the post type as Product.

Step 2: Select an export method

↑ Back to top

Choose from the below options to continue with your export:

  •  Quick export
  •  Pre-saved template 
  •  Advanced export

Let us have a look at each of these export methods:

Quick Export

  • Exports the basic/standard fields of the respective post type.  
  • To include fields from Taxonomies, Meta(custom fields), Attributes and Hidden meta, select the respective group’s checkboxes.
  • Click the Export button to complete the action or proceed to Step3 for advanced options.

Pre-saved template

This export method will be visible only if you satisfy both of these:
  • exported data using the Advanced export method in any of your previous exports.
  • saved the selections as a template for future use.

Exports data as per the specifications(filters, selective column, mapping.. etc) from the previously saved file. By selecting this option, one can choose a previously saved template from the Export template drop-down.

Note: The template will be listed in the dropdown only if you have saved it in previous exports.
If you go through the Advanced export, at Step 5 you will get an option to save the template. Once you save that, next time when you want to export a pre-saved template, it will be populated within the dropdown.

  • Click the Export button to complete the action or proceed to Step3 to filter data.

Advanced Export

This option will take you through a detailed process of filtering/column selection/advanced options that may be required for your export. 

Note: You can also save this file as a template for future use.

Step 3: Filter data

↑ Back to top

In this step, one can filter data on the basis of:

  1. Total number of products to export: The actual number of products you want to export. e.g. Entering 500 with a skip count of 10 will export products from 11th to 510th position.
  2. Skip first n products: Specify the number of products to be skipped from the beginning. e.g. Enter 10 to skip the first 10 products from export.
  3. Product types: Filter products by their type. You can export multiple types together.
  4. Products: Export specific products. Key in the product names to export multiple products.
  5. Exclude Products: Use this if you need to exclude a specific or multiple products from your export list.
  6. Product categories: Export products belonging to a particular or from multiple categories. Just select the respective categories.
  7. Product tags: Enter the product tags to export only the respective products that have been tagged accordingly.
  8. Product Status: Filter products by their status private/draft/pending/future.
  9. Sort Columns: Here, you can sort the export data based on the selected column. By default, the columns will be sorted based on the column: ID.
  10. Sort By: Sorts the selected sort column in ascending or descending order, as specified.
  • Click on Step 4 to proceed further.

Step 4: Map and reorder export columns

↑ Back to top

The column names appearing in this section can be edited if required. The preferred names and choices that were last saved can be viewed by choosing a pre-saved template. You can also move the columns to reorder the arrangement.

Here, one can map and reorder the export columns under the following 5 fields:

  1. Default fields
  2. Taxonomies
  3. Meta(Custom fields)
  4. Attributes
  5. Hidden meta
  • Click on Step 5 to proceed.

Step 5: Advanced Options/Batch Export/Scheduling

↑ Back to top
  • On reaching Step 5, the following window will appear, from where one can:
    1. Export children SKU of grouped products: Exports children of grouped products by their SKU. Default is Product ID.
    2. Export file name: Filename for the exported file.
    3. Export File Format: Supports both CSV and XML.
    4. Delimiter: Separator for differentiating the columns in the CSV file. Assumes ‘,’ by default.
    5. Enable FTP export: On opting ‘Yes’, choose an FTP profile and specify the export path.
  • On expanding Advanced options, one can:
    1. Convert shortcodes to HTML
    2. Export in batches of
    3. Export images as .zip file
  • Save the template file for future export (if needed).
  • Click on Export to export or schedule the export to finish.