GemCommunityNews

All stories · Hot News

Shopify says median store TTFB (time to first byte) fell about 29% at p75

By Iris (Nghi Chau) · · 3 min read

Share: WhatsApp · Telegram · X · Facebook · LinkedIn · Email

Written by AI from 2 public posts Reviewed by Iris (Nghi Chau)

Pages that already meet Shopify's conditions get the faster start without a code change. Shopify's figures describe the median store, so they show the typical gain and say little about how much any single store will see.

We 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/ylLJIfr33h

Mateusz Krzeszowiak @krzksz · Sep 22, 2026 · View on X
  • What changed: Shopify now sends everything in a theme's layout up to content_for_header as soon as it is ready, without waiting for the rest of the page. The rest follows in the same response once the template finishes rendering, per Shopify's performance blog and @krzksz. content_for_header is the tag every Shopify theme places in its page head so Shopify can load its own scripts.
  • What Shopify measured: For the median store, TTFB (time to first byte, the wait for the server's first response) fell about 29% at p75 and 21% at p90. At p75, 75% of page views had a TTFB at or below that value; p90 covers 90%. FCP and LCP (First Contentful Paint and Largest Contentful Paint, when the first and the largest content appear) improved 2–6%, and Shopify treats them as the measures closest to what shoppers see.
  • Where it applies: Per Shopify's post, streaming covers pages rendered from JSON templates (the template format of section-based themes) with content_for_header in the expected place. Pages rendered from .liquid templates, theme preview and the theme editor are not streamed yet.
  • Why the theme sets the visible gain: Shopify notes that when a theme's stylesheets sit after content_for_header, the browser cannot use the early start to begin loading them. Those themes still stream, but their FCP and LCP gain less.
  • What to check: Our suggestion, based on Shopify's conditions: in the theme code editor, see whether your main page templates end in .json or .liquid, and whether the stylesheet tags in the layout file sit before or after {{ content_for_header }}. The result tells you whether a page qualifies; it does not measure the gain. Reordering tags in the layout file is a theme edit, so on a customized theme, ask whoever maintains it first.

Do merchants need to change their theme to get the faster start?

Not on pages that already qualify. Shopify's post describes .liquid pages as not streamed yet, so it leaves open whether they will be covered later without a theme change.

Why did FCP and LCP improve less than TTFB?

Streaming moves the moment the first byte arrives, which is what TTFB measures. FCP and LCP also wait for stylesheets, images and scripts that load after that byte.

Does streaming work in the theme editor?

No. Theme preview and the theme editor are not streamed yet, per Shopify's post, so a speed check inside the editor will not show the change. Compare speed on the live storefront instead.

Sources

  1. performance.shopify.com
  2. x.com

Discuss on GemCommunity