Docs

Import Product Categories and Taxonomies

WooCommerce products use WordPress taxonomies for product categories, product tags, shipping classes, and any custom product taxonomies. Import WP maps these in the Taxonomies section of the WooCommerce Products template.

Add a taxonomy row

  1. Open the Taxonomies section.
  2. Click Add Row once per taxonomy (for example one row for categories, one for tags).
  3. Choose the taxonomy and map the terms field from your file.

Example CSV

NameSKUPriceTagsCategories
Simple Product 1simple-one10.99SimpleProducts > Simple
Simple Product 2simple-two12.99Simple, Product 2Products > Simple
Simple Product 3simple-three14.99Simple, Product 3Clothing > T-Shirts > Graphic

Field reference

FieldDescription
Taxonomye.g. product_cat, product_tag, product_shipping_class, or a custom taxonomy
TermsTerm values from your file. Multiple terms separated by a delimiter (default ,)
DelimiterCharacter that separates multiple terms. Leave empty for ,
Term TypeWhether values are Name, Slug, or ID (or custom field lookup)
Enable HierarchyYes when terms include parent/child paths
Hierarchy CharacterDefault > — e.g. Parent > Child > Grandchild
Hierarchy RelationshipConnect the product to all terms in the path, or only the last (leaf) term
Append termsOverwrite existing terms, or append new ones

Category hierarchy

To create or assign nested categories:

  1. Format terms as Parent > Child (or your hierarchy character).
  2. Set Enable Hierarchy to Yes.
  3. Choose Hierarchy Relationship:
    • All terms — product is assigned to Parent and Child
    • Last term — product is assigned only to Child (parents still created as needed)

Example:

Clothing > T-Shirts > Graphic

With hierarchy enabled, Import WP creates missing parent/child terms and assigns the product according to your relationship setting.

Multiple categories per product

Separate category paths with commas (or your delimiter):

Products > Simple, Clearance > Summer

If a category name itself contains commas, change the taxonomy delimiter or use a different separator in the file and set Delimiter to match.

You can also change the default delimiter with a snippet — see How to Import WordPress Taxonomies onto a Post Type.

Append vs replace terms

Append termsBehaviour
No (default in many setups)Product terms for that taxonomy are replaced by the imported list
YesNew terms are added alongside existing ones

Use Append = Yes when your update feed only sends additional categories and should not remove existing ones.

Shipping class

Shipping class is a taxonomy (product_shipping_class), not a field under Shipping dimensions.

Add a Taxonomies row:

  • Taxonomy: product_shipping_class
  • Terms: shipping class name or slug

Updating categories on existing products

  1. Map Product SKU (or GTIN) and set it as the unique identifier.
  2. On Permissions, enable Update.
  3. Ensure taxonomy fields are allowed on update (not excluded in field restrictions).
  4. Decide Append terms Yes/No based on whether the feed is a full category list or a partial one.

See Update Existing WooCommerce Products.

Default “Uncategorized” behaviour

When your import assigns real product_cat terms, Import WP’s WooCommerce integration removes WooCommerce’s default category from the product if it was only still attached alongside the imported categories. You usually do not need to clear “Uncategorized” manually.

Common problems

SymptomWhat to check
Flat categories instead of nestedEnable Hierarchy is No, or hierarchy character is wrong
Product in wrong child categoryHierarchy path spelling; Hierarchy Relationship setting
Only one of several categories importsDelimiter issue; commas inside names
Categories missing on updateUpdate permissions; taxonomy field excluded; Append vs replace
“Invalid taxonomy”Taxonomy slug typo; taxonomy not registered for product
Images & categories both missingOften two separate mapping issues — verify each section