Script loading mix
How scripts load: parser-blocking, async, defer, module or inline.
At a glance the headline numbers for Script loading mix
How scripts load: parser-blocking, async, defer, module or inline.
8.1% of scripts still block the parser.
The script loading mix mix who uses what, and how fast each group loads
Script loading mix. On the fleet: 40.6% inline, 21.1% async, 19.8% other. 94.2% of sites use at least one inline.
By count inline leads (40.6%); by bytes it is async (50.1%). computed
Passing LCP per bucket every category and count level at once - color is the pass rate
Each row is a category, each column its own count bucket (few on the left, many on the right); the cell is the share of those sites passing LCP.
Other swings the hardest: 90% of sites pass LCP with few, 60% with many. computed
Few vs many - does quantity cost LCP? the pass rate with few vs many of each category
Per category: the pass rate among pages with FEW of it (hollow ring) against pages with MANY (solid dot), worst trend first. Thin buckets are excluded from the endpoints.
More Other costs the most: the LCP pass rate falls from 90% with few to 60% with many. computed
Why this matters for the Core Web Vitals, and where to start fixing it
A parser-blocking script stops HTML parsing until it downloads and runs. The page freezes mid-construction. defer downloads in parallel and runs after parsing, in order. async runs the moment it lands, which is fine for independent scripts and a race condition for everything else. Modules defer by default.
Blocking scripts in the head are almost never a decision someone made this year. They are habits from before defer existed, copied from theme to theme. The mix on this page is an audit of those habits.
Chrome field data from 94,910 sites, representing millions of real page loads. How we measured.