Use WooCommerce's built-in CSV importer to add a reviewed product catalogue in batches. Start from a compatible schema and a small test file so you can verify prices, images and variation relationships before importing hundreds of rows.
IN THIS ARTICLE
01 Prepare a clean CSV
Export a representative product from WooCommerce or use the official sample schema as a starting point. Save as UTF-8 CSV and preserve identifiers as text where a spreadsheet might alter them. Remove supplier-only columns, formulas and inconsistent attribute values. Review publication status so unfinished products do not become public unexpectedly.
02 Run a small import
- Back up the store and test on staging first.
- Open Products > All Products > Import and select the CSV.
- Choose the intended create-or-update mode. For this new-product workflow, do not accidentally enable an update against existing identifiers.
- Review every mapped column and set unrelated columns to Do not import.
- Run the importer and wait for its result without repeatedly refreshing.
- Review failed or skipped rows and inspect the created products before processing the next batch.
Will image URLs become local images?
The importer can retrieve directly accessible image URLs and add them to the Media Library. Authentication walls and indirect sharing links can prevent this. Check the actual imported image, and add or review alternative text separately because the core CSV importer does not manage image alt text.
How should variable products be represented?
Use the documented parent and variation rows, stable identifiers and matching attribute names and values. Keep parent rows before dependent variations where the selected workflow requires it. Do not mix the built-in importer schema with the separate premium CSV Import Suite schema.
03 Verify before scaling up
Check product type, prices, tax class, stock, categories, images and public visibility. Add a sample product and variation to the cart and verify checkout totals. Keep the original file and the import report so errors can be traced to specific rows. Large catalogues may need smaller batches within hosting resource limits. If a partial import fails, determine what was created before retrying the whole file, rather than assuming the process was all-or-nothing.