
How to Migrate Products from WooCommerce to Shopify
How to Migrate Products from WooCommerce to Shopify
Moving from WooCommerce to Shopify is one of the most common platform transitions in e-commerce. The appeal is clear: Shopify removes the maintenance overhead of self-hosted WordPress, with managed hosting, built-in payments, and no plugin conflicts to chase.
The product migration is where most merchants hit problems. WooCommerce and Shopify use different data structures, different category systems, and different approaches to variants. A WooCommerce export that looks clean in a spreadsheet will often produce broken results when you put it through Shopify's native importer. This guide covers what goes wrong and how to handle the migration properly.
Why WooCommerce Product Exports Are Difficult to Work With
WooCommerce stores product data in WordPress's post and meta structure. When you export products, you get either a WooCommerce XML file or a CSV. Neither maps directly to Shopify's import format.
Shopify's CSV importer expects specific column names: Handle, Title, Body (HTML), Vendor, Type, Tags, Option1 Name, Option1 Value, and many more. WooCommerce exports use completely different headings for the same data. Even a clean WooCommerce export requires significant reformatting before Shopify's native importer will accept it.
The Five Problems Merchants Hit Most
1. Variants become separate products. Shopify groups variants under one product using the Handle column. WooCommerce exports each variation as its own row, but without the handle structure Shopify expects. The result: a catalogue of 50 products becomes 200 separate listings, each missing its variant siblings.
2. Product descriptions are duplicated content. Most WooCommerce stores use supplier-provided descriptions, or text copied from another source years ago. Carrying this wholesale into Shopify creates duplicate content across the web, which Google penalises in search rankings.
3. Missing product data. WooCommerce exports often lack HS codes, accurate weights, and country of origin. These fields matter for shipping rates, customs clearance, and Google Shopping. If they are missing in WooCommerce, they will be missing in Shopify too.
4. Category structure does not transfer. WooCommerce uses free-form categories. Shopify uses the Standard Product Taxonomy, a structured system aligned with Google's taxonomy. Your WooCommerce categories do not map across automatically.
5. Image URLs break. WooCommerce product images are hosted on your WordPress server. After migration, those image paths still point to the old host. If you take the old site down, every product image breaks.

Step 1: Export Your Products from WooCommerce
Before anything else, run a full WooCommerce product export. Go to WooCommerce > Products > Export and include all columns. Export as CSV.
Check the output carefully. Verify the count matches your actual product total. A known bug in some WooCommerce versions exports only a subset of products rather than the full catalogue. Confirm that product images appear as complete URLs, not relative paths. Check that variable products export as recognisable rows rather than as flat, disconnected lines.
If the native WooCommerce export misses products or produces broken image paths, the WordPress All Export plugin gives you direct control over which fields export and in what format.
For images, download them separately via WordPress's media export or FTP access to the /wp-content/uploads/ folder. You will need to re-upload them to Shopify during or after the product import.
Step 2: Import Your Products into Shopify Using Importier
Once you have a clean CSV, the challenge is translating WooCommerce's column structure into Shopify's format. This is the step where manual migrations run into hours of spreadsheet work.
Importier's 14-step import wizard handles the column translation with smart auto-mapping. You upload your WooCommerce CSV and Importier reads your column headers, then matches them to the correct Shopify fields automatically. If a column name is ambiguous, Importier asks you to confirm the mapping before proceeding. A WooCommerce export that would take 3-4 hours to manually reformat maps in under 5 minutes.
Importier supports CSV, Excel (.xlsx and .xls), and TSV files. If your WooCommerce export is an Excel file rather than a CSV, you can import it directly without converting it first. For a detailed walkthrough of the column mapping and import wizard steps, see How to Bulk Import Products to Shopify from CSV.

Smart Variant Detection
The variant problem is where most manual WooCommerce migrations break down. Shopify requires a specific Handle column structure to group variants under one product. Getting that structure right from a WooCommerce export means touching every variable product row by hand.
Importier's Smart Variant Detection uses 150+ regex-based patterns across 15 industries to resolve this automatically. It identifies size, colour, material, volume, weight, and other variant dimensions from your product data, groups them correctly, and builds the handle structure Shopify expects. For ambiguous groupings, AI-powered variant analysis steps in to make the call.
You review the detected groupings in Importier's import preview before confirming, so if a detection looks wrong you catch it before it touches your store. For a full explanation of how Shopify handles variant structure and how the detection works, see How to Import Product Variants in Shopify Without Restructuring Your Supplier CSV.
Step 3: Enrich Your Product Data During Import
Data gaps that existed in WooCommerce will not fix themselves during migration. Importier's AI data enrichment fills missing fields automatically during the import wizard: weight, product type, HS codes, country of origin, and category.
For products with barcodes, Importier queries the barcodelookup.com API and uses Google Gemini to retrieve additional product specifications. This is particularly useful for branded goods where the manufacturer holds the canonical product data.
If your catalogue uses unusual product naming or covers a niche category, the enrichment context field lets you add a hint to help the AI fill fields accurately. For example: "outdoor workwear for the Australian mining sector" gives the AI the context it needs for ambiguous entries.
Running enrichment during the initial import is more efficient than treating it as a separate cleanup pass later. For a breakdown of what each missing field costs your store in practical terms, see Shopify Product Data Enrichment: Fix Missing Weight, HS Codes, and Barcodes.

Step 4: Assign Category Metafields
Shopify's Standard Product Taxonomy is a structured attribute system aligned with Google's taxonomy. It covers material composition, compatibility, power type, and hundreds of other category-specific attributes. None of this transfers from WooCommerce, because WooCommerce does not have an equivalent system.
Importier handles category metafield assignment automatically during the import. It matches your products to the correct Shopify taxonomy categories using two phases: text matching first, then AI matching for anything ambiguous. Each product gets the correct structured metafields from Importier's 22 industry packs, covering 3,758 category attribute types.
This matters for Google Shopping, on-site filtering, and long-term discoverability. Products with complete category metafields appear in more relevant search results than products with empty structured data fields. For a full explanation of what category metafields are and why they affect your store's visibility, see What Are Shopify Category Metafields and Why They Matter.
Step 5: Rewrite Your Product Descriptions
This step is consistently skipped, and it consistently costs merchants in search rankings after migration.
If you are importing descriptions that originated from a manufacturer, a previous platform, or any source outside your own original writing, you are carrying duplicate content into Shopify. Google identifies the text, marks it as non-unique, and ranks the pages accordingly. Starting fresh on a new platform is the right moment to fix this.
Importier's AI description generation rewrites your product descriptions during or after the import. You choose from 7 description styles — Standard, Technical Gadget, Emotional Storytelling, Benefits-First, Sensory-Rich, Ingredient Spotlight, or Custom — and select from 156 expert personas across 43 industry categories.
For a 500-product WooCommerce catalogue, Importier generates all 500 descriptions in the time it would take a human copywriter to write a handful. The descriptions are generated from your actual product data, not paraphrased from supplier copy.
Importier also generates SEO titles and meta descriptions. This is the other content gap that WooCommerce migrations leave unfilled. Shopify's SEO fields are blank on imported products unless you populate them explicitly, and blank meta descriptions are a missed opportunity on every product page.

What About Product Images?
Images need separate handling. Importier's import wizard does not pull images from a WordPress server during the migration.
The practical options:
- If your old WordPress site remains live during a transition period, Shopify can continue to reference the original image URLs until you complete the re-upload
- If you are taking the old site down immediately, download your
/wp-content/uploads/folder and re-upload to Shopify using the built-in product editor or a bulk image upload app - Importier's Google Drive image import lets you pull images into products from a shared Google Drive folder. If you move your product images to Drive first, you can import them as part of the same Importier workflow
For large catalogues, images are often the most time-consuming part of a WooCommerce to Shopify migration. Plan the image handling separately from the product data migration.
The Full Timeline
A WooCommerce to Shopify product migration using Importier typically looks like this for a 500-product catalogue:
| Step | Time | |------|------| | Export from WooCommerce and verify the output | 15-30 min | | Upload to Importier and confirm column mapping | 5-10 min | | Review variant groupings in the import preview | 10-20 min | | Run import with enrichment and category metafields | 10-20 min | | Generate AI descriptions for all products | 15-30 min | | Handle image re-upload (varies by catalogue and method) | 30-120 min |
The product data migration — from export to complete, enriched, described products in Shopify — typically finishes in under two hours. The same work done manually, reformatting CSVs, restructuring variants, filling data gaps, writing descriptions, takes multiple working days.
A Note on Orders and Customers
This guide covers product data only. Orders, customers, and historical sales data require a separate approach and cannot be migrated via product CSV. For those, Shopify's Store Migration app or a dedicated migration service handles the transfer. This is outside Importier's scope, which focuses on getting your product catalogue right.
Start the Migration
If you are at the beginning of a WooCommerce to Shopify move and your main concern is product data, Importier handles the parts that cause the most problems: column mapping, variant grouping, data enrichment, category metafields, and descriptions — in a single guided import.
Try Importier free at importier.app