What I Check Before a WooCommerce CSV Import Goes Live

A WooCommerce CSV import will publish whatever you give it, including the mistakes. This is the pre-import and post-import checklist I actually use on catalog migrations, from column mapping to duplicate SKUs and missing images.
Mousa Batarseh branded blog graphic

WooCommerce will import a bad file. It will not call you first. That is why I treat a CSV import like a warehouse transfer, not like a blog publish. I want a staging copy, a mapped template, and a short list of things that must be true before I touch production.

I have run this on catalogs from a thousand products up through Universal Wholesale’s 14,000-SKU migration. The platform changed. The checklist did not change much.

Before I map a single column

I ask what the file is. A supplier feed is not a WooCommerce template. A price sheet is not a product export. If I import a supplier feed as-is, I get titles written for a warehouse, not for a product page, and categories that will never match the menu.

  • Confirm the parent/child setup for variable products.
  • Confirm one SKU per variation, never a blank SKU on a child row.
  • Confirm images are full URLs the server can reach, not local desktop paths.
  • Confirm prices are numbers, not “$12.00 / case” sitting in a price field.
  • Confirm categories exist, or that I am ready to create them on purpose — not by accident.

The mapping pass

I keep a working template. SKU, post title, description, regular price, sale price, stock, weight, length, category, tags, attribute 1 name, attribute 1 value, image URL. Extra columns stay off to the right until I know they belong. Mystery columns are how you overwrite a live description with a warehouse note.

If I am updating an existing catalog, I export first. Then I match on SKU, not on title. Titles change. SKUs should not. I never update live prices from a file I have not diffed against the last export.

After import, before anyone shares the URL

I spot-check more than the first page of products. I search a SKU I know is ugly. I open a variable product and click every variation. I look at a category that should be small and a category that should be huge. I grep the sheet for SKUs that did not appear in the catalog — those are the silent failures.

Missing images are the ones clients notice first. Duplicate SKUs are the ones that hurt later. I fix both before I call the import done. A WooCommerce CSV import is finished when the exceptions list is empty, not when the progress bar hits 100%.

I keep a rollback

Before a production import I export the current products. If the CSV maps wrong, I want the old catalog back the same afternoon. I also run a small import of ten ugly rows on staging when the site has staging. WooCommerce CSV import is a power tool. I treat it like one.

Scroll to Top