Shopify image_tag 默认给首屏图加了 lazy
现象#
商品页移动端 LCP 6.1s,Elements 里首屏主图带着 loading="lazy",图片请求要等布局完成才发出。
原因#
image_tag会按 section 位置判断,靠下的自动补loading="lazy"- 主题把主图 section 排在公告栏与页头之后,被过滤规则判定成首屏之外
- 模板里手写
loading: 'lazy'传进 image_tag,覆盖掉本该 eager 的行为 - 首屏图缺
fetchpriority="high",与下方几十张图抢同一条连接队列
处理步骤#
- 在 Elements 里搜
loading="lazy",确认命中的是不是首屏那张主图 - 主图改成
loading: 'eager', fetchpriority: 'high', preload: true - 只给第一张图加
preload: true,其余保持默认,避免 Link 响应头被塞满 - 调整 JSON 模板里的 section 顺序,让主图 section 排在
content_for_layout第一位 - 用 WebPageTest 看 LCP 图的 request start 是否提前到 HTML 解析阶段
验收标准#
首屏 <img> 无 lazy 属性且带 fetchpriority=high;移动端 LCP 从 6.1s 降到 2.8s 以内。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。