Variable Products & WooCommerce Attributes
Variable products are one of the more complex aspects of e-commerce migration. Ecwid and WooCommerce handle product variations differently, and mapping between the two requires careful handling of attributes, combinations, and pricing. Full variable product support has been part of the plugin since v1.0.0, with ongoing improvements through v1.5.0.
How Ecwid Handles Variations
In Ecwid, variable products use "product options" and "combinations." A product might have options like Size (S, M, L, XL) and Color (Red, Blue, Green). Combinations are the specific pairings — Size: M + Color: Red — each with its own SKU, price modifier, and stock level.
How WooCommerce Handles Variations
WooCommerce uses "attributes" and "variations." Attributes are registered as taxonomy terms (pa_size, pa_color), and variations are child products linked to specific attribute combinations. Each variation is essentially a separate post in the WordPress database with its own price, SKU, stock, and image.
The Mapping Process
When Ecwid2Woo encounters a product with combinations, it first creates the parent product as a WooCommerce variable product. Then it registers each Ecwid option as a WooCommerce product attribute. The attribute values (S, M, L, XL) are added as terms. The plugin automatically handles WooCommerce's 28-character attribute slug limit, truncating long attribute names while preserving original display names through multilingual-safe slug generation.
Each Ecwid combination is mapped to a WooCommerce variation with its SKU, regular price (base price + price modifier), compare-at price, stock quantity, weight, and dimensions from the Ecwid combination data. Variation SKU validation ensures variations from the same product are properly identified.
Variation Images
If Ecwid combinations have associated images, these are downloaded and set as the variation's featured image. This allows customers to see the correct image when selecting a specific option — for example, viewing the red version of a shirt when they select that color.
Batch Processing Variations
Products with many combinations are processed in variation batches to avoid timeouts. The default variation batch size is 50, meaning a product with 100 variations will be processed in two passes. This is separate from the main product batch processing and runs after the parent product is created. The same self-healing adaptive sizing applies — if variation batches timeout, the size reduces and recovers automatically.
After migration, variable products in WooCommerce display the familiar attribute dropdowns that customers use to select their preferred option combination. All product data — names, SKUs, descriptions, prices, stock levels, dimensions, and weight — transfers completely.