Shopify 性能优化

Shopify image_tag 默认给首屏图加了 lazy

现象#

商品页移动端 LCP 6.1s,Elements 里首屏主图带着 loading="lazy",图片请求要等布局完成才发出。

原因#

  • image_tag 会按 section 位置判断,靠下的自动补 loading="lazy"
  • 主题把主图 section 排在公告栏与页头之后,被过滤规则判定成首屏之外
  • 模板里手写 loading: 'lazy' 传进 image_tag,覆盖掉本该 eager 的行为
  • 首屏图缺 fetchpriority="high",与下方几十张图抢同一条连接队列

处理步骤#

  1. 在 Elements 里搜 loading="lazy",确认命中的是不是首屏那张主图
  2. 主图改成 loading: 'eager', fetchpriority: 'high', preload: true
  3. 只给第一张图加 preload: true,其余保持默认,避免 Link 响应头被塞满
  4. 调整 JSON 模板里的 section 顺序,让主图 section 排在 content_for_layout 第一位
  5. 用 WebPageTest 看 LCP 图的 request start 是否提前到 HTML 解析阶段

验收标准#

首屏 <img> 无 lazy 属性且带 fetchpriority=high;移动端 LCP 从 6.1s 降到 2.8s 以内。

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