How to Export WooCommerce Products with WPML Translations to CSV
A normal product export answers “what products are in this language?” A Matrix export answers a more useful multilingual question: “how do the translations of this product compare?”
Shirely's Product Matrix Export groups WPML language versions and writes translated fields into adjacent columns. Editors can see gaps, compare terminology and prepare a controlled return import without reconciling one file per language.
Understand the Matrix rows
A simple export may include:
type,sku,parent_sku,post_title|en,post_title|de,post_content|en,post_content|de,_regular_price,_stock
simple,DRILL-100,,Cordless drill,Akku-Bohrmaschine,18V workshop drill,18-V-Akku-Bohrmaschine,149.99,16
Translated fields carry a WPML language code after a pipe. Shared product fields remain unsuffixed.
The exact Product Matrix export contains additional identity, catalog, attribute, image and status fields according to the exporter and selected scope. Inspect the generated header rather than building a return import from a simplified example alone.
Variable products retain the WooCommerce relationship structure. The parent has its own Matrix row and is followed by Matrix rows for its variations. Each variation keeps parent_sku, its own SKU and its variation-level values.
Choose Matrix instead of a language-specific snapshot
Use a standard export when the next task concerns one language or a simple catalog list. Use Product Matrix Export when the next task needs language relationships:
- translation coverage review;
- side-by-side copy editing;
- comparison of translated slugs and descriptions;
- inspection of shared price or stock beside each language;
- preparation for a Matrix re-import or cross-store move.
The Matrix is not automatically a translation brief. It may contain operational fields that an editor should not change. Create a working copy and protect SKU, type, parent_sku, source identifiers and relationship fields.
Treat exported IDs as provenance
The export can contain source IDs and WPML TRIDs. Those values describe the source installation. A WordPress product ID or TRID is not guaranteed to identify the same object in another database.
Shirely 1.3.0 adds catalog provenance so foreign exported IDs are not blindly treated as local. Stable natural keys still matter. For a standard cross-store product import, use SKU. In multilingual Matrix Mode, use Matrix ID / External ID when SKU is not the right business key, and verify the match preview on the destination.
Keep an untouched export. If a later import behaves unexpectedly, that snapshot lets you distinguish an exporter issue from a spreadsheet edit.
Review shared and translated attributes
Global pa_* attributes use the shared path by default. In Shirely 1.3.0, Product Matrix can export language-suffixed attribute columns for the WCML translated path.
Use that path only when the attribute taxonomy is already configured as translatable in the supported WPML/WCML stack. The corresponding Matrix import requires the explicit Translate global attributes (WCML Matrix opt-in). Shirely does not change WCML's configuration automatically.
If an attribute represents a code or measurement that should remain identical in every language, the shared column is the simpler and more accurate model.
Validate the CSV before editing
Open the export and inspect:
- the expected WPML languages;
- one complete and one incomplete translation group;
- a variable parent and its variations;
- unique SKUs and correct
parent_skuvalues; - categories and tags;
- shared prices and stock;
- translated or shared attributes according to the store's policy;
- featured-image and gallery URLs;
- Global Unique IDs with leading zeros;
- post status.
Shirely writes UTF-8 CSV and sanitizes spreadsheet formula-trigger values. Still treat identifiers as text when opening the file. Spreadsheet software can otherwise rewrite long numbers, dates or leading zeros.
Do not sort a partial range. Moving only the language columns while leaving identity in place can connect the wrong translation to a product.
Turn the export into a translator workspace
Create a duplicate tab or file for edits. Freeze the header, protect structural columns and visually mark the language columns the translator owns. Add a short instruction sheet explaining how blanks should be handled and who approves terminology questions.
For a return import, create a smaller import-ready view containing only reviewed rows and fields. A translation correction does not need to send stock, images and unrelated metadata back to WooCommerce.
Before importing:
- preserve the original export;
- confirm the matching key;
- select the intended Import Mode;
- preview a representative product family;
- run a small sample on staging;
- verify the storefront in every language.
Product and Matrix rows are processed on re-import. Smart Sync's unchanged-row skip applies only to posts, pages and custom post types with a mapped Record ID. For products, stable matching and narrow files provide control.
CSV download or Google Sheets
CSV is useful for a dated archive and for tools that work locally. The same Product Matrix concept can be written to Google Sheets through a Service Account when several people need a shared workspace.
A Sheet export is an explicit job, not a continuous connection. The Google Sheets import/export guide covers permissions, protected columns and scheduling.
Shirely 1.3.0 Automation export slots publish supported catalog data to Google Sheets. Use Run now first and inspect both Run History and the destination Sheet. WP-Cron is traffic-dependent; use system cron with WP-CLI when timing matters, and do not overlap writers to the same Sheet.
FAQ
Does Product Matrix Export put the entire variable product on one row?
No. Each parent or variation record has its own Matrix row, while that record's language fields appear in adjacent columns.
Can I edit and re-import the exported CSV?
Yes, but review identity, mappings, mode and destination state first. Keep an untouched export and test a small import-ready sample.
Are source Product IDs portable?
No. They belong to the source WordPress database. Preserve SKU or the intended Matrix external key and use provenance plus destination QA.
Export a catalog you can compare
Product Matrix Export makes the multilingual catalog visible as one related dataset. That is valuable for translation coverage, careful edits and migrations—as long as the structural columns remain protected and the return import is treated as a separate reviewed operation.
Read the Matrix format guide or continue with importing WPML product translations.