shopify theme publish 后前台还是旧样式怎么办
现象#
shopify theme publish 返回成功,后台主题列表也显示已发布,但前台 HTML 仍是旧版,view-source 里 theme.css 的版本串与本地不一致,强制刷新也没有变化。
原因#
- 主题资源由边缘节点按 URL 缓存,文件名不变时会继续返回上一次的内容
- publish 只切换店铺的 published theme 指针,已缓存的页面 HTML 不会被主动失效
- 同名主题在库里有多个副本,publish 选中的是旧 ID,看列表容易误判
- 主题里用 asset_url 但文件名不带版本号,CDN 的缓存键始终相同
处理步骤#
- 确认线上跑的是哪套代码:
shopify theme list看 live 行的 ID 与名称 - 带随机参数取一次:
curl -s 'https://shop.com/?v=1' | grep theme.css - 给静态资源加版本串:
{{ 'theme.css' | asset_url }}?v={{ settings.version }} - 发布后主动预热首页与商品页,各
curl -I https://shop.com/一次 - 仍不生效就改主题名重新 publish 触发同步,再比对
assets/theme.js的哈希
验收标准#
curl -s https://shop.com/ | grep -o 'theme.css[^"]*' 返回新版本串,前台样式与本地一致。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。