WPML and WooCommerce CSV Templates for Matrix Mode
These examples are starting shapes, not files to upload blindly. Keep only the fields your job needs, adapt the language codes to the WPML configuration, and review Shirely's mapping preview before writing anything.
Use UTF-8 CSV and test a few rows on staging. The first proof should include an update as well as a new record.
Translated simple products
sku,title|en,title|pl,description|en,description|pl,regular_price
DRILL-100,Power Drill,Wiertarka,18V drill,Mocna wiertarka 18V,149.99
SKU is the normal cross-store product key. Titles and descriptions are translated; price is shared in this example. Add only language suffixes configured in WPML.
Translated category hierarchy
source_id,parent_source_id,name|en,name|pl,slug|en,slug|pl
tools,,Tools,Narzedzia,tools,narzedzia
drills,tools,Drills,Wiertarki,drills,wiertarki
source_id gives each category a portable identity. parent_source_id points to the source parent rather than a destination WordPress term ID.
Import a parent and child first, then verify the hierarchy and language switcher in both languages.
Variable product and variations
type,parent_sku,sku,title|en,title|pl,pa_color,regular_price
variable,,TSHIRT-100,T-Shirt,Koszulka,red|blue,
variation,TSHIRT-100,TSHIRT-RED,Red T-Shirt,Czerwona koszulka,red,29.00
variation,TSHIRT-100,TSHIRT-BLUE,Blue T-Shirt,Niebieska koszulka,blue,29.00
The parent SKU is stable and each variation has a unique SKU. The exact attribute delimiter and mapping depend on the source contract.
For global attributes, shared behavior remains the default in Shirely 1.3. The optional Translate global attributes (WCML Matrix opt-in) is for Product Matrix when the taxonomy is already configured as translatable in WPML/WCML.
Narrow price update
sku,regular_price
DRILL-100,149.99
DRILL-200,199.99
Do not add translated text, images, or categories to a price-only file. Map the SKU and intended price fields, then verify admin and storefront prices in every supported language and currency configuration.
Product rows are processed on each import. Smart Sync skip behavior does not apply to products.
SEO fields in a Matrix
sku,meta_rank_math_title|en,meta_rank_math_title|pl,meta_rank_math_description|en,meta_rank_math_description|pl
DRILL-100,18V Power Drill,Wiertarka 18V,Technical details for the 18V drill,Dane techniczne wiertarki 18V
Use the actual meta keys required by the destination SEO plugin and confirm the mapping in the current documentation. After import, inspect rendered HTML—title, description, canonical, robots, schema, and social fields—not only the database value.
How to use these examples
- Replace the languages with WPML codes configured on the destination.
- Keep a stable SKU or documented Matrix ID / External ID.
- Remove fields unrelated to the job.
- Add two or three representative data rows.
- Upload on staging and inspect the mapping and preview.
- Run the import and check every language on the storefront.
- Import the same sample again to prove matching.
- Expand only after the sample remains correct.
Do not overlap imports that can write the same products, terms, or WPML/WCML groups. If you later save the proven job as a Shirely 1.3 Automation slot, test it with Run now and inspect Run History before scheduling it. WP-Cron timing is not exact; WP-CLI through system cron is more predictable for time-sensitive jobs.
For exact fields and limits, use the Shirely documentation. The WPML product import guide and category import guide provide complete workflows around these starting shapes.