Shopify 主题与 Liquid

content_for_header 重复引入导致脚本翻倍

现象#

前台 Network 里 analytics 脚本请求出现两次,加购事件上报数量翻倍;偶发控制台报 Shopify 属性被重复定义。

原因#

  • theme.liquid 和某个 section 或 snippet 里各写了一次 content_for_header
  • 从旧主题合并代码时把整段 head 复制过来,标签跟着重复
  • 用 render 引入了包含 head 内容的片段,片段自身又输出一次
  • 把这个标签放进 body,Shopify 注入脚本的位置异常,触发二次初始化

处理步骤#

  1. 全主题搜索 content_for_header,确认只在 layout 中保留一处
  2. 删除 section、snippet 以及备用 layout 里的重复调用
  3. 确认它位于 <head> 内,且外面没有包 if 条件
  4. 查看页面源码,统计 Shopify 初始化脚本块出现的次数
  5. 清空缓存后打开 Network,核对分析脚本的请求条数

验收标准#

页面源码里该标签生成的脚本块只有一份;Network 中分析脚本单次加载,加购一次只上报一条事件。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。