WooCommerce 产品批量导入与 CSV 管理(图文教程)

图片[1]-WooCommerce 产品批量导入与 CSV 管理(图文教程)-WP独立站学院
生成摘要
AI 生成,仅供参考

一、为什么需要 CSV 批量导入

一个表格搞定上百个产品上架。

假设你从供应商那边拿到一份产品资料:带名称、价格、库存、图片链接。如果不走批量导入,你只能在 WooCommerce 后台一个个手工建,50 个产品就够你折腾两小时。CSV 批量导入就是把这些数据一次性灌进 WooCommerce,几分钟完成。

产品列表:产品多了之后,用 CSV 批量管理更高效

💡 导入前请先备份你的网站数据,或在 staging 站点上先跑一遍。导入一旦执行,不能撤销。


二、导出 CSV 作为模板

直接在 Excel 里写 CSV 很容易出错,最稳的做法是先导出一个现有产品的 CSV,照着格式改。

📤 2.1 导出全部产品

  1. 进入 产品 → 所有产品
  2. 点击顶部的 Export 按钮

    产品列表页顶部的导入与导出按钮

  3. 在 Export Products 页面选择:

  4. Which columns should be exported(导出哪些列):默认 Export all columns;也可以手动选列
  5. Export product types(产品类型):默认全部,可以只导 simple、variable 等
  6. Export product categories(产品分类):默认全部,可选某个分类
  7. Export all custom meta(导出自定义 meta):如果产品上挂了插件添加的自定义字段,勾上这项,导出的列名带 meta: 前缀

    导出产品设置页:选择导出列、产品类型与分类

  8. 点击 Generate CSV

  9. 浏览器自动下载 CSV 文件

✂️ 2.2 怎么用导出的 CSV 做模板

  1. 用 Google Sheets 或 LibreOffice Calc 打开导出的 CSV(不推荐 Excel,有编码问题)
  2. 保留第一行表头
  3. 删掉或改掉下面的产品行,换成你要导入的新产品数据
  4. 另存为 CSV(UTF-8 编码)

⚠️ CSV 必须存为 UTF-8 编码,否则中文会乱码。Google Sheets 导出 CSV 默认就是 UTF-8;LibreOffice 选择时勾选 UTF-8。Excel 出 CSV 默认可能不是 UTF-8。


三、CSV 核心字段说明

WooCommerce 内置 importer 识别的字段名是固定的,列名写错就不会被映射,导入后对应值为空。

CSV 模板:第一行表头就是字段名(SKU、Name、Regular price 等)

📋 3.1 必填字段

列名说明示例
SKU库存单位。缺失时自动生成TSHIRT-BLK-S
Name产品标题Premium Cotton T-Shirt

💡 除这 2 个必填字段外,其他全是可选。但常规价格(Regular price)如果不填,产品会以 0 元出售或没法购买,实际上强烈建议每行都填。

📋 3.2 常用字段

列名说明示例
Type产品类型。可选 simple、variable、grouped、external、variation、virtual、downloadable。多个值可用逗号连用,如 simple, virtualsimple
Published1=已发布, 0=私有, -1=草稿;当前版本也接受 true/false1
Regular price常规价格29.99
Sale price促销价格19.99
Categories分类。层级用 > 表示,多个分类用逗号。如 Clothing > T-Shirts, Summer SaleClothing > T-Shirts
Tags标签,逗号分隔best-seller, new-arrival
Stock库存数量,填数字启用库存管理。留空=不管库存50
Backorders allowed?缺货下单:1=允许, 0=不允许, notify=允许但通知客户0
In stock?1=有货, 0=缺货1
Weight (kg)重量,只填数字0.3
Images图片 URL,多个用逗号。第一张是主图,后面的是相册图https://example.com/img.jpg, https://example.com/img2.jpg

📋 3.3 多值字段的格式要求

  • 多个值用逗号分隔,用引号包裹整段。如 "Small, Medium, Large"
  • 如果某个值本身含逗号(比如分类名是 “Places, People, Cities”),必须用反斜杠转义:Places\, People\, Cities
  • 布尔值用 1 或 0,不要用 yes/no 或 true/false
  • 日期格式 YYYY-MM-DD

📋 3.4 变体专用字段

列名说明示例
Parent父产品 ID 或 SKU。变体行必须填,其余留空id:100 或 tshirt
Attribute 1 name属性名称,如 Color、SizeSize
Attribute 1 value(s)属性值。父产品填全部可选值,变体只填该变体对应的值父:S, M 变体:S
Attribute 1 visible1=前台可见, 0=不可见1
Attribute 1 global1=全局属性, 0=自定义属性0
Attribute 1 default可变产品的默认属性值M

需要多个属性时,属性列从 1 开始递增。第二个属性用 Attribute 2 name、Attribute 2 value(s)、Attribute 2 visible、Attribute 2 global,以此类推。


四、批量编辑常见操作

把 CSV 下载下来编辑完再导回去,是批量改价、批量调库存最快的方法。

💰 4.1 批量改价

  1. 导出产品 CSV
  2. 在 Google Sheets 里打开,直接改 Regular price 这一列
  3. 比如想统一加 2 美元,可以用公式 =C2+2 批量算
  4. 另存为 CSV UTF-8
  5. 进入 产品 → 所有产品,点 Import
  6. 选择 CSV 文件后,勾选 Update existing products
  7. 点击 Continue
  8. 在 Column Mapping 页面检查映射无误,点击 Run the Importer
批量更新:在导入上传页勾选 Update existing products

💡 CSV 里的 ID 或 SKU 用来匹配已有产品。有 ID 就按 ID 匹配,没 ID 就按 SKU 匹配。同一个 SKU 已经存在且没勾 Update,该行会被跳过。

📦 4.2 批量更新库存

  1. 导出 CSV,保留 SKU、Stock、In stock? 三列
  2. 改 Stock 列为实际库存数量
  3. In stock? 列同步调整:0 以上填 1,0 填 0
  4. 勾选 Update existing products 导入

🏷️ 4.3 批量调整分类

  1. 导出 CSV,保留 SKU 和 Categories 两列
  2. 按格式填新分类,多个用逗号,层级用 >
  3. 示例:一行同时属于两个分类,填 "Clothing > T-Shirts, Summer Sale"
  4. 勾选 Update existing products 导入

⚠️ 不需要更新的字段留空即可——更新已有产品时,空白单元格会被直接忽略,不会清空产品里已有的数据。只保留 ID/SKU 列和你要改的那几列,是最安全的做法。

🔄 4.4 简单产品转可变产品(两步导入法)

如果想通过 CSV 把已有的简单产品变成可变产品(添加颜色、尺码等变体),需要分两次导入:

第一步:更新父产品为 variable 类型并添加属性

  1. 导出产品 CSV,找到目标产品行
  2. 把该行的 Type 从 simple 改为 variable
  3. 添加属性列,如 Attribute 1 name 填 Size,Attribute 1 value(s) 填 S, M, L,Attribute 1 visible 填 1,Attribute 1 global 填 0
  4. 勾选 Update existing products,导入

第二步:导入变体行

  1. 在新的 CSV 中,添加变体行,每行一个规格
  2. Type 填 variation,Parent 填父产品的 SKU 或 ID
  3. Attribute 1 value(s) 只填该变体对应的值(如 S),不是全部值
  4. 不勾选 Update existing products,导入即可创建变体

💡 第二步导入前记得给每个变体行设置唯一的 SKU,否则可能创建失败。


五、导入新产品

新导入产品和批量更新用的是同一个入口,区别只在是不是勾 Update existing products。

📥 5.1 上传 CSV

  1. 进入 产品 → 所有产品
  2. 点击顶部 Import 按钮
  3. 在 Upload CSV file 页面,点击 Choose File 选择 CSV 文件
  4. 这次不勾 Update existing products(你是在导入新产品,不是更新已有)
  5. 点击 Continue

    导入上传页:选择CSV文件、更新已有产品选项与高级选项入口

🔗 5.2 Column Mapping 映射列

  1. 进入 Column Mapping 页面,系统会自动匹配识别出的列名
  2. 左边是 CSV 里的列名和样例数据

  3. 右边是映射到的产品字段

    列映射页面:把CSV列名映射到产品字段

  4. 未识别的列默认设为 “Do not import”,需要改成对应字段,或保持不导入

  5. 想跳过某列就留 Do not import
  6. 自定义 meta 字段(表头带 meta: 前缀)会自动识别为 meta
  7. 检查完后点击 Run the Importer

⏳ 5.3 等待导入完成

导入会在后台分批执行,页面会显示进度条。这期间不要刷新页面、不要切走,否则可能导一半中断。

完成后会显示摘要:

  • 成功导入了多少个产品
  • 跳过了多少个,每个跳过原因

    导入完成摘要:显示成功导入的产品数量

💡 如果被跳过的产品你想查原因,导入完成页面下方会有一份跳过日志,每行写明原因(SKU 重复、分类名不存在等)。
导入完成后回到产品列表确认新上架的产品


六、批量更新已有产品

更新已有产品的方式与导入新产品基本一样,区别在勾 Update existing products。

🔄 6.1 操作步骤

  1. 准备 CSV,至少包含 ID 或 SKU 列,外加你要更新的字段列
  2. 进入 产品 → 所有产品,点 Import
  3. 选择文件
  4. 勾选 Update existing products
  5. 点击 Continue
  6. 检查 Column Mapping
  7. 点击 Run the Importer
更新导入完成:3 个产品被更新

⚠️ 6.2 更新的匹配规则

  • 有 ID 列时按 ID 匹配,没有时按 SKU 匹配
  • 同时填了两列,优先按 ID 匹配
  • ID 列直接填纯数字即可(id:100 这种前缀写法只用于变体行的 Parent 列,见 3.4)
  • SKU 不需要前缀,直接填
  • 匹配不上的行会跳过,不会创建新产品

七、错误排查

❌ 7.1 提示 “Sorry, this file type is not permitted for security reasons.”

原因:WordPress 误判了 CSV 的文件类型。CSV 里嵌入 HTML 时容易触发。

解决方法:

  1. 先确认文件确实是以 .csv 后缀保存的
  2. 用 FTP 或主机文件管理器把 CSV 上传到 wp-content/uploads/ 目录
  3. 回到 Import 页面,打开 Advanced Options

    导入高级选项:服务器文件路径、CSV分隔符与字符编码

  4. 在服务器文件路径里填上传后的完整路径,例如 /var/www/html/wp-content/uploads/products.csv

  5. 然后点 Continue 开始导入
  6. 临时应急可以在 wp-config.php 中加一行 define( 'ALLOW_UNFILTERED_UPLOADS', true );,导入完后马上删掉

❌ 7.2 产品全部被跳过

原因:CSV 里的 SKU 或 ID 已存在,但没勾 Update existing products。

解决方法:

  • 新导入:把 CSV 里的已存在 SKU 改成新 SKU
  • 要更新:回到第一步勾上 Update existing products

❌ 7.3 图片不显示

原因:

  • URL 无法直接访问
  • URL 后面有重定向脚本
  • 图片在云存储且权限是私有的

解决方法:

  • 复制 URL 到浏览器直接能打开才能用
  • 如果是私有图床,先把图片传到本站媒体库再引用文件名
  • 如果是 Google Drive 之类的分享链接也不行,要么直传要么传到本站

❌ 7.4 属性值丢失

原因:

  • Attribute 1 name 拼写不一致
  • Attribute 1 global 设置错误
  • 自定义 meta 字段没用 meta: 前缀

解决方法:

  • 全局属性在 产品 -> 属性 先建好,CSV 里填的名称要跟后台完全一致
  • 自定义属性 Attribute 1 global 填 0
  • 自定义 meta 的列名加 meta: 前缀

❌ 7.5 中文乱码

原因:CSV 文件不是 UTF-8 编码。

解决方法:

  • 用 Google Sheets 编辑和导出,默认就是 UTF-8
  • 用 LibreOffice Calc 时,另存为 CSV 时在编码选项里选 UTF-8
  • 用 Excel 时要先确认:Excel 365 可以选 UTF-8,旧版 Excel 默认 GBK,不要用
  • 已经乱码了,打开后另存为 UTF-8 再导入一次

❌ 7.6 导入到一半超时

原因:服务器内存或执行时间限制太小,文件太大。

解决方法:

  • 把 CSV 拆成小份(比如每 200 行一份)分批导入
  • 通过 hosting 后台或 wp-config.php 调高 memory_limit 和 max_execution_time
  • 升级到 WooCommerce 内置 importer 不够用的规模时,考虑用 Product CSV Import Suite 付费扩展
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 共10条

请登录后发表评论