用途:这是 shopify-catalog-audit(发现问题)与 shopify-seo-metadata(补全元数据)的变更型对应技能,用于修复审计发现的目录残留。所有操作都会写入目录,因此围绕一条规则构建:先预览数量,再执行变更。
主要能力分三类:
- 批量归档死商品。常见“死”信号需用 AND 组合:所有变体总库存为零、近一段窗口(如 12 个月)零销售、创建/更新时间足够久、不在重要集合中或已标记 discontinued。先转成 products(query: …) 过滤条件,运行计数查询并阅读样本标题,确认数量符合预期后再用 productUpdate 设 status: ARCHIVED 并追加带日期标签。
- 清理孤立 metafield(幽灵星级类)。典型症状:商店卸载了商品评论应用(常见为 Shopify 自带 Product Reviews),主题仍渲染空星级。需先确认应用确实已卸载,再盘点孤立命名空间(如 spr 与 reviews),用 metafieldsDelete 按 owner GID + namespace + key 删除,先预览受影响数量并分批以避开速率限制。
- 修复描述中的 HTML 残留:双重嵌套 strong、整段加粗、空 p/span、多余内联样式。用索引扫描加正则检测,再通过 productUpdate 做针对性字符串变换重写 descriptionHtml,并记录新旧内容到 CSV 作为唯一回滚清单。
使用方式:Lane A 用自定义应用令牌,需授予 read_products 与 write_products,令牌放环境变量而非提交到文件:export SHOPIFY_STORE="your-store.myshopify.com" 与 export SHOPIFY_ACCESS_TOKEN="<your Admin API access token>"。Lane B 用 Shopify CLI OAuth:shopify store auth --store $SHOPIFY_STORE --scopes read_products,write_products 后 shopify store execute。可选搭配 Shopify 官方 AI 工具包插件。
限制与纪律:归档而非删除,归档可逆,删除不可逆;批量归档时加带日期标签作为撤销清单;写入后通过 Admin API 重读验证,而非看有 CDN 缓存的店面;绝不打印或提交访问令牌;批量变更需分批并读取 throttleStatus 退避;任何批量内容编辑后都要重新扫描残留。GraphQL 固定为 Admin API 2025-07,最后验证日期 2026-07-05,Shopify 按季度滚动弃用版本,使用前应核对 shopify.dev。Matrixify 中空白单元格会删除该 metafield 而非跳过,需注意。具体配方见 references/recipes.md。