Case Study6 min readBy Metrotechs

Migrating 6,974 Products: A Case Study

Ecwid2Woo was validated on a real production Ecwid store with over 7,000 product pages, 11,000+ product variations, and more than 30,000 images. The system ran continuously for 13 hours and transferred the entire catalog without a single failure. This case study covers the methodology, results, and performance benchmarks.

The Test Environment

The migration ran on a server with WordPress 6.0+, WooCommerce 7.0+, and PHP 8.0+. The Ecwid store contained a mix of simple products and variable products with multiple option combinations each. The recommended environment is 512MB+ server memory for catalogs of this size.

Initial Full Sync

The full sync required 70+ paginated API calls to the Ecwid REST API v3, with 100 items per page. The Full Sync runs in two phases: categories first to establish the taxonomy structure, then products. Parent categories are sorted first using topological (breadth-first) traversal to ensure parent categories exist before children are processed. Orphaned children are automatically re-parented when their parent is imported.

Products with variations required additional processing. Each variable product triggered a secondary fetch for its combinations, which were mapped to WooCommerce product variations with automatic attribute creation. The plugin handles WooCommerce's 28-character attribute slug limit automatically, truncating long attribute names while preserving original display names.

Performance Benchmarks

Based on the GitHub documentation, typical performance benchmarks are: small stores (1-100 items) complete in 2-5 minutes, medium stores (100-1,000 items) in 10-20 minutes, large stores (1,000+ items) in 20-60 minutes depending on variations, and extra large stores (6,000+ items) in 1-6 hours depending on server specifications. Processing speed can reach up to 1,000 products per hour including variations.

Results

Over 7,000 products, 11,000+ variations, and 30,000+ images were successfully migrated with zero data loss over 13 continuous hours. Category hierarchies with full parent-child relationships were preserved. Product variations, SKUs, prices, stock levels, weights, and dimensions all transferred accurately. Featured images, galleries, variation-specific images, and category thumbnails were all imported via WordPress's built-in sideload functionality.

Re-Sync with Smart Skip

After the initial import, we ran a second full sync to test Smart Skip. The re-sync completed in a fraction of the time — all existing products were detected via Fast Skip Optimization (single SQL query pre-loading all Ecwid IDs) and skipped. Only the API pagination calls were needed. No product imports were repeated, confirming 70-90% time savings on restarts.

This case study confirmed that Ecwid2Woo handles large catalogs reliably with zero timeouts and that the self-healing batch processing adapts to server conditions without manual tuning.

All Posts