Brotli level 11 vs 5: 4KB saved, 80ms server cost Compression level trades CPU time for bytes; the sweet spot depends on cache. — HTML at Brotli 11: 22KB, compress time 85ms per request (dynamic, unca…
Speed Index 3.8 -> 1.9 with LCP unchanged at 2.0s Speed Index measures how fast pixels fill visually; you can have a good LCP and a bad SI. — LCP element painted at 2.0s, but the rest of the viewport …
One tag manager = 540ms main-thread, 0 visible content Third-party scripts execute on your main thread and block interaction even when they paint nothing. — Tag manager loaded 14 child scripts, total …
Break LCP into 4 sub-parts before optimizing LCP (largest contentful paint) is a sum, not a single event. Profiling the wrong sub-part wastes effort. — TTFB: 0 -> 240ms (server) — Resource load delay:…
preconnect saves 200ms; dns-prefetch saves 30ms Third-party origins cost a full handshake before the first byte. The hint you pick changes the savings. — dns-prefetch: resolves DNS only (~20-40ms) — p…
CLS 0.21 -> 0.02 by fixing font metrics Cumulative Layout Shift scores unexpected movement; the fallback font was a different size than the web font. — Text reflowed when the web font swapped in at 90…