k-sync
Back to blog

Cleaning WooCommerce product data before migrating to Shopify (2026)

How to audit and clean your WooCommerce product data before migrating to Shopify — common data quality issues, how to find them, and what k-sync's validation catches automatically.

·By k-sync
6 min read · 1,182 words

Migrating dirty data from WooCommerce to Shopify just copies your problems to a new platform. A WooCommerce catalog that's been managed for years accumulates data quality issues — missing prices, duplicate SKUs, broken images, malformed HTML, products with too many variants for Shopify's limits. Finding and fixing these before migration takes less time than dealing with them after.

Common WooCommerce data quality issues

1. Missing or zero prices

Products or variants without prices, or with prices set to $0.00. Common causes:

Impact on Shopify: Products with $0 prices appear to customers as free. Products with no price fail Shopify's validation and may not push correctly.

Find them in WooCommerce: WooCommerce → Products → filter by "Price" → sort ascending to show lowest prices first. Or export products CSV and filter the "Regular price" column for blanks or zeros.

2. Duplicate SKUs

SKUs that appear on multiple products or variants. Common in stores with:

Impact on Shopify: Shopify requires unique SKUs across all products. Duplicate SKUs cause inventory sync issues and can cause order fulfillment errors.

Find them: Export WooCommerce products CSV → in Excel/Google Sheets, use COUNTIF formula on the SKU column to find duplicates: =COUNTIF($B:$B, B2)>1

k-sync auto-detection: k-sync's validation engine runs a cross-product SKU uniqueness check after import and flags duplicates with warnings before you push to Shopify.

3. Broken product images

Product images with URLs that return 404 errors. Causes:

Impact on Shopify: Shopify fetches images from the URL during migration. Broken URLs result in products without images on Shopify.

Find them: k-sync's Image Health panel runs HEAD requests against all image URLs and reports which ones return errors. This is the most efficient way to find broken images at scale.

4. Products with too many variants

Shopify limits each product to 100 variants and 3 option types. WooCommerce has no such limit. Products with more than 3 attributes that create SKUs, or more than 100 combination variants, will fail Shopify validation.

Example: A t-shirt with Size (5 options) × Color (10 options) × Fit (3 options) × Material (4 options) = 600 variants. This exceeds Shopify's 100-variant limit.

Find them: Export products → filter variable products → calculate attribute count per product (multiply option counts). Any product where the product of option counts exceeds 100 needs attention.

Solutions:

5. Products with more than 3 option types

WooCommerce supports unlimited attribute types. Shopify supports maximum 3 option types (Size, Color, Material). Variable products with 4+ attributes need restructuring.

Find them: Variable products with 4+ attributes are uncommon but exist. Export products and check the attributes column.

6. Malformed HTML in descriptions

Product descriptions with broken HTML — unclosed tags, invalid characters, embedded scripts. Common from:

Impact on Shopify: Shopify sanitizes HTML — some malformed HTML may display incorrectly. Embedded scripts are stripped.

k-sync behavior: k-sync applies an HTML sanitizer to product descriptions during import, stripping dangerous elements while preserving valid HTML.

7. Products with extremely long titles

Shopify recommends product titles under 70 characters for SEO. Products with very long titles (200+ characters) often indicate supplier-pasted titles that weren't optimized.

Find them: Export products → add a LEN formula column in Excel → sort descending. k-sync flags titles over 70 characters as warnings.

8. Missing or inconsistent handles

WooCommerce slugs (URL paths) should be clean lowercase-with-hyphens strings. Sometimes they're missing, too long, or contain special characters.

Impact: Shopify uses "handles" (equivalent to WooCommerce slugs) for product URLs. A clean handle means a clean product URL.

k-sync behavior: k-sync auto-generates handles from product titles if the WooCommerce slug is missing or malformed.

9. Products with no description

Products without descriptions are poor for SEO and conversion. Before migrating, these are worth identifying for remediation.

Find them: WooCommerce → Products → filter by "Description" = empty (may require a plugin). Or export CSV and filter blank description columns.

Opportunity: k-sync's AI enrichment feature can generate descriptions for products that are missing them — useful to run this before pushing to Shopify.

10. Discontinued products in wrong status

Products that are effectively discontinued but still published (visible to customers). Before migration:

Data cleaning workflow

Step 1: Import into k-sync first, then review

The most efficient approach: import your WooCommerce products into k-sync, run validation, and review all issues in k-sync's interface before pushing to Shopify. k-sync catches the most common issues automatically.

Step 2: Fix in WooCommerce or in k-sync?

Two options for each issue:

Step 3: Use k-sync validation results as your fix list

After running validation in k-sync (Mapping → Validate Products), review:

Pre-migration data quality checklist

Data quality work isn't exciting, but it's the difference between a Shopify store that works correctly on day one and one that needs months of cleanup. Do this before pushing to Shopify — it's much easier to fix data in WooCommerce or k-sync's editor than to find issues after they're live in your Shopify store.

Migrate your store with k-sync

Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.

Get started free

Related reading

Browse all migration guides