全部文章 · 热点速递
Shopify 称中位数店铺的 TTFB(首字节时间)在 p75 下降约 29%
9月22日,Shopify 在性能博客上表示,已经对 Liquid 店面(页面由 Shopify 模板语言 Liquid 编写的主题模板渲染的店铺)启用流式渲染(streaming)。流式渲染的意思是:模板其余部分还在渲染时,浏览器就先收到页面的开头部分。
分享: WhatsApp · Telegram · X · Facebook · LinkedIn · Email
已经符合 Shopify 条件的页面,不改代码就能更早开始加载。Shopify 的数据针对中位数店铺,反映的是典型提升幅度,无法说明某一家店铺具体能快多少。
Mateusz Krzeszowiak@krzkszWe enabled streaming for @Shopify storefronts. The layout head reaches the browser before the template finishes rendering.
Median-store TTFB down 29% at p75, 21% at p90. FCP and LCP down 2–6%. No theme changes needed*.
https://t.co/ylLJIfr33hSep 22, 2026 · 在 X 上查看
- 改了什么: 根据 Shopify 性能博客和 @krzksz,Shopify 现在会把主题布局中
content_for_header之前的全部内容尽早发出,不再等页面其余部分。模板渲染完成后,其余部分在同一个响应里送达。content_for_header是每个 Shopify 主题都放在页面 head 里的标签,Shopify 通过它加载自己的脚本。
- Shopify 测到了什么: 中位数店铺的 TTFB(time to first byte,首字节时间,即等待服务器首次响应的时间)在 p75 下降约 29%,在 p90 下降 21%。p75 指 75%的页面浏览 TTFB 等于或低于这个值,p90 则对应 90%的页面浏览。FCP 和 LCP(首次内容绘制和最大内容绘制,即第一块内容和最大一块内容出现的时刻)改善了 2–6%,Shopify 认为这两项最接近顾客实际看到的体验。
- 适用哪些页面: 据 Shopify 原文,流式渲染适用于由 JSON 模板(基于版块的主题所用的模板格式)渲染、且
content_for_header位置正确的页面。由 .liquid 模板渲染的页面、主题预览和主题编辑器目前还没有流式渲染。
- 为什么主题决定看得见的提升: Shopify 指出,如果主题的样式表放在
content_for_header之后,浏览器就没法利用提前送达的开头部分开始加载样式表。这类主题仍然会流式渲染,但 FCP 和 LCP 的提升更小。
- 该查什么: 以下是我们根据 Shopify 的条件给出的建议:在主题代码编辑器里,看主要页面模板的后缀是 .json 还是 .liquid,再看布局文件里的样式表标签位于
{{ content_for_header }}之前还是之后。检查结果只能说明页面是否符合条件,测不出提升幅度。调整布局文件里标签的顺序属于修改主题,改过的主题请先问负责维护的人。
商家需要修改主题才能更早开始加载吗?
已经符合条件的页面不需要。Shopify 原文说 .liquid 页面目前还没有流式渲染,所以以后能否在不改主题的情况下覆盖这些页面,原文没有说明。
为什么 FCP 和 LCP 的提升比 TTFB 小?
流式渲染让首字节更早到达,而 TTFB 测的正是这一刻。FCP 和 LCP 还要等首字节之后加载的样式表、图片和脚本。
流式渲染在主题编辑器里生效吗?
不生效。据 Shopify 原文,主题预览和主题编辑器目前还没有流式渲染,在编辑器里测速看不到这项改动。请在线上店面测速。