Web Speed Testing in 2026: What Actually Changed

Updated 2026-03-27 · By SPUNK13 · Back to spunk.bet

The measurement targets moved, and a lot of advice written a few years ago now optimises for a metric that no longer exists. Here is the current state and what to do about it.

INP replaced FID, and it is much harder to pass

First Input Delay was retired as a Core Web Vital in March 2024 and replaced by Interaction to Next Paint. The difference matters: FID measured only the delay before the browser started processing the first interaction, so sites with heavy JavaScript passed it easily. INP measures the full interaction-to-paint latency across the whole visit and reports close to the worst case. The thresholds are 200 ms or less for good, 200-500 ms needs improvement, above 500 ms is poor. Sites that scored well on FID routinely fail INP, because the problem was never the first click.

The current thresholds, in full

All of them are assessed at the 75th percentile of real visits over a 28-day window, which is the second thing people get wrong: a good lab score does not move the assessment at all.

Lab data versus field data

Lighthouse gives you a lab score from a single simulated load on a throttled connection. It is a debugging tool. The Chrome User Experience Report gives you field data from real Chrome users, and that is what the assessment uses. If your Lighthouse score is 98 and your field LCP is 4 seconds, the field data is right and your test conditions are unrepresentative — usually because you are testing on a fast desktop connection from a location near your origin, and your users are not. Check both, but act on the field data.

How to actually test

Run Lighthouse from the CLI so results are reproducible: npx lighthouse https://example.com --preset=desktop --output=json --output-path=./lh.json, and again without the preset for mobile, which is the harsher and more relevant profile. Use WebPageTest for a filmstrip and a real connection profile, and the CrUX data in PageSpeed Insights or Search Console for the field numbers. To debug INP specifically, use the Performance panel with CPU throttling at 4x or 6x and interact with the page — the long tasks blocking the main thread will be obvious.

What actually moves the numbers

For LCP: serve the hero image in a modern format, size it correctly, add fetchpriority="high" to it, and remove render-blocking resources from the head. Preconnect to third-party origins you cannot remove. For CLS: set explicit width and height or aspect-ratio on every image, reserve space for ads and embeds, and use font-display: swap with a metric-compatible fallback so the swap does not reflow the page. For INP: cut main-thread JavaScript. Break long tasks with await scheduler.yield() where supported, defer non-critical work, and remove the third-party scripts nobody can name an owner for.

The measurement most sites skip

Real user monitoring on your own site. The web-vitals library collects LCP, INP and CLS from actual visits and posts them to an endpoint you control, which gives you a distribution instead of a single number and segments it by page, device and country. It is roughly twenty lines of code and it turns performance from a score you argue about into data you can act on.

Want More?

Explore our complete collection of free tools and resources.

Visit spunk.bet
400+ Free Tools Free Casino Meme Generator Birth Charts Scam Database BPM Calculator