If you enter products one by one and have 300 — that is weeks. WooCommerce has a built-in CSV importer that does the same in hours. Here is the safe path.
First: a backup
Every import changes the database. Take a backup BEFORE. If something goes wrong with 500 products, restoring takes a minute instead of a day.
Step 1: get the template
Easiest: enter 2-3 products MANUALLY that resemble the rest (with every field you need), then Products → Export → you get a CSV with the exact columns. That is your template — no guessing.
Step 2: fill in the sheet
- Name — the product name
- SKU — a unique code (crucial for later updates!)
- Regular price / Sale price
- Categories — use > for subcategories; separate several with commas
- Images — full URLs (can be on your server), comma separated; the first is the main one
- Stock, Weight, Description, Short description
Save as CSV with UTF-8 encoding — otherwise non-Latin letters turn into question marks.
Step 3: import
Products → Import → pick the file → on the mapping screen check every column is matched to the right field → Run the importer. For 500 products it takes minutes.
Step 4: updating existing products
The same import with Update existing products ticked changes products with the same SKU. That is how you update prices or stock across a whole catalogue: export → edit in a sheet → import back.
The traps
- Question marks instead of letters — the file is not UTF-8 (in Excel: Save As → CSV UTF-8)
- Duplicate products — an empty or repeated SKU
- Images not loading — the URLs must be publicly reachable at import time
- Starting with 500 — do not; test with 5 rows, check the result, then run the whole file
For bigger catalogues (thousands, or stock synced from another system) — call us, that is automation territory.