CSV 导入显示 Completed,父商品和简单商品在后台也都存在,可配置商品页面却没有任何 Variations。导入“成功”只代表每一行能被处理,不保证父子关系描述正确。
先确认用于配置的属性本身合格
颜色、尺寸等属性必须是合适的 Catalog Input Type,作用域通常为 Global,并启用用于创建可配置商品。父商品和所有子商品要使用包含这些属性的同一个属性集。属性代码、选项 label 和导入值要完全对应,注意前后空格与大小写。
子商品应先存在,再让父商品引用SKU
我通常把流程拆成两次:先导入简单商品,确认 SKU 和属性值;再导入可配置父商品及关联字段。这样失败时能明确是商品创建问题还是关系问题。
sku,product_type,attribute_set_code,color,size
shirt-red-s,simple,Default,Red,S
shirt-blue-m,simple,Default,Blue,M
父行的 configurable_variations 需要按 Magento 当前导出样例的格式列出每个子 SKU 及其属性组合,configurable_variation_labels 则负责前台显示名称。不要凭印象手写分隔符,先从同版本后台创建一个最小商品并导出,拿它作为模板。
导入行为和多网站字段也会影响结果
Add/Update、Replace 的处理方式不同。Replace 可能先删除再重建关系,缺少某一列时结果和 Add/Update 不一样。子商品如果不属于父商品所在 website,或者状态、可见性、库存不合理,后台关系可能存在但前台组合仍不可选。
导入后先在父商品后台看关联,再检查前台初始化 JSON。必要时重建 configurable、product EAV、price 和 stock 相关索引,但只有关系表已经正确写入时重建才有意义。
批量文件上线前,我会用两个属性、两个子商品做十行以内的小样,确认格式后再扩大。最终检查父商品的每个组合、子商品独立 SKU、网站分配和价格库存。比起反复导入几万行,这种最小样本更快找到具体是哪一列把关联吃掉了。

