content_for_header 重复引入导致脚本翻倍
现象#
前台 Network 里 analytics 脚本请求出现两次,加购事件上报数量翻倍;偶发控制台报 Shopify 属性被重复定义。
原因#
- theme.liquid 和某个 section 或 snippet 里各写了一次 content_for_header
- 从旧主题合并代码时把整段 head 复制过来,标签跟着重复
- 用 render 引入了包含 head 内容的片段,片段自身又输出一次
- 把这个标签放进 body,Shopify 注入脚本的位置异常,触发二次初始化
处理步骤#
- 全主题搜索
content_for_header,确认只在 layout 中保留一处 - 删除 section、snippet 以及备用 layout 里的重复调用
- 确认它位于
<head>内,且外面没有包 if 条件 - 查看页面源码,统计 Shopify 初始化脚本块出现的次数
- 清空缓存后打开 Network,核对分析脚本的请求条数
验收标准#
页面源码里该标签生成的脚本块只有一份;Network 中分析脚本单次加载,加购一次只上报一条事件。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。