Web Vitals 2026: TTFB, FCP, LCP, INP & CLS Explained
The complete page-load timeline. What TTFB, FCP, LCP, INP and CLS measure, why FID was deprecated, and which 3 metrics Google actually ranks on.

Quick Answer
Web Vitals are a sequence of metrics that measure how a page loads and responds, from the moment the user clicks the link to when the page is fully interactive. The five active metrics in 2026 are TTFB, FCP, LCP, CLS and INP. Only three (LCP, INP, CLS) are Core Web Vitals used by Google for ranking. FID was deprecated in March 2024 and replaced by INP. Page Load Time is still tracked but no longer used for ranking.
Related: this guide pairs with Core Web Vitals 2026 for the ranking-impact deep dive, and Best SEO Framework 2026 for which frameworks score best by default.
The Full Page-Load Timeline
Every page load is a sequence. Each metric measures a different moment in that sequence.
User clicks a link
│
▼
[ 1. TTFB ] ──► Server responds with the first byte of HTML
│
▼
[ 2. FCP ] ──► First piece of content (text or image) painted
│
▼
[ 3. LCP ] ──► Largest content element painted (CWV — Google ranks on this)
│
▼
[ 4. FID ] ──► Time between first click/tap and the browser responding
│ DEPRECATED — replaced by INP in March 2024
│
▼
[ 5. CLS ] ──► Cumulative layout shift during load (CWV)
│
▼
[ 6. INP ] ──► Worst-case interaction responsiveness (CWV — replaced FID)
│
▼
[ 7. Page Load Time ] ──► window.load event (everything done)That sequence is the diagnostic chain. Each metric tells you where the slowdown is.
The Seven Metrics in Detail
1. TTFB (Time to First Byte)
How long until your server even started replying.
| Range | Verdict |
|---|---|
| Under 200ms | Excellent |
| 200-500ms | OK |
| Over 500ms | Slow server or cold serverless function |
TTFB is not a Google ranking factor, but it feeds into LCP. If TTFB is bad, LCP cannot be good. On a CDN edge cache (Cloudflare, Vercel) you should see under 100ms.
2. FCP (First Contentful Paint)
The moment the page stops looking blank. The first text, image, or non-white pixel painted.
| Range | Verdict |
|---|---|
| Under 1.8s | Good |
| 1.8-3s | Needs improvement |
| Over 3s | Poor |
FCP is not a ranking metric but is a strong user-experience signal. A fast FCP makes the site feel quick even before the main content has fully painted.
3. LCP (Largest Contentful Paint)
The moment the largest visible element (hero image, main heading, banner) finishes painting.
| Range | Verdict |
|---|---|
| Under 2.5s | Good (passes ranking threshold) |
| 2.5-4s | Needs improvement |
| Over 4s | Poor |
LCP is one of three Core Web Vitals. Google ranks on this. You need at least 75% of real-user loads under 2.5s.
4. FID (First Input Delay) — Deprecated
Time between the user's first click or tap and the browser responding.
Replaced by INP in March 2024. FID only measured the first interaction, which made it easy to game. If your tool still shows FID, treat it as legacy and optimize for INP instead.
5. CLS (Cumulative Layout Shift)
How much the content unexpectedly moves around as the page loads.
| Range | Verdict |
|---|---|
| Under 0.1 | Good (passes ranking threshold) |
| 0.1-0.25 | Needs improvement |
| Over 0.25 | Poor |
CLS is a Core Web Vital. Caused by images without explicit width and height, late-injected ads or banners, or web fonts swapping in mid-load.
6. INP (Interaction to Next Paint)
The worst-case delay across all user interactions in the session.
| Range | Verdict |
|---|---|
| Under 200ms | Good (passes ranking threshold) |
| 200-500ms | Needs improvement |
| Over 500ms | Poor |
INP is a Core Web Vital. Replaced FID in March 2024 because INP measures all interactions, not just the first.
7. Page Load Time
The classic "everything is done loading" metric, fired at window.load.
Page Load Time is no longer used by Google for ranking. It is still useful for general health checks but do not optimize for it directly. Optimize LCP and INP and Page Load Time usually follows.
Which Metrics Affect SEO Ranking?
The three Core Web Vitals: LCP, INP, CLS. Everything else is diagnostic.
| Metric | Ranking factor? | What it tells you |
|---|---|---|
| TTFB | No (indirect via LCP) | Is your server fast? |
| FCP | No | Did the user see anything? |
| LCP | Yes (CWV) | Is the main content fast? |
| FID | Deprecated | Was the first click responsive? |
| CLS | Yes (CWV) | Is the page visually stable? |
| INP | Yes (CWV) | Are all interactions fast? |
| Page Load Time | No | Is everything fully loaded? |
The Diagnostic Tree
Use the upstream metrics to figure out why a Core Web Vital is failing.
LCP slow?
├─ Is TTFB slow? → Server or cold function problem
├─ Is FCP slow but TTFB fast? → Render-blocking JavaScript or CSS
├─ Is FCP fast but LCP slow? → Hero image or web font issue
└─ Is CLS bad too? → Missing image dimensions, late-injecting contentINP slow? ├─ Long JavaScript tasks blocking the main thread ├─ Heavy event handlers (React re-renders, expensive computations) └─ Large bundle size delaying hydration ```
That tree is why all seven metrics matter even though only three affect rankings.
How to Measure Web Vitals from Real Users
Use a RUM (Real User Monitoring) tool. Lab tools like Lighthouse are useful for debugging but Google ranks on field data.
| Tool | Free tier | Strength |
|---|---|---|
| Cloudflare Web Analytics | Free | Element-level LCP attribution and per-URL filtering |
| Cloudflare Speed Observatory | Free | TTFB, FCP, LCP, CLS, INP with a per-country map |
| Vercel Speed Insights | Free under 10K data points | Per-deploy regression view, Real Experience Score |
| PostHog Web Vitals | Free under 1M events | Ties Web Vitals to user sessions and conversions |
| Google Search Console (CWV report) | Free | The same field data Google uses for ranking |
Cloudflare splits its RUM data across two products: Web Analytics (Observe → Analytics → Web Analytics) for LCP, INP, CLS, TTFB, and Page Load Time with element-level attribution, and Speed → Observatory → Real User Measurements for TTFB, FCP, LCP, CLS, INP with a per-country map. Both are free; enable the Observatory beacon separately if you want FCP and the geographic view.
For a full breakdown of which tools fit which job, see our Best Frontend Stack for SEO 2026 guide.
Framework Choice Matters
The framework you build on sets your Web Vitals ceiling.
| Framework | Default LCP | Default INP | Default CLS |
|---|---|---|---|
| Astro 5 | Excellent | Excellent | Easy |
| SvelteKit 2 | Excellent | Excellent | Easy |
| Qwik | Excellent | Excellent | Easy |
| Next.js 15 (App Router) | Good | Good | Easy |
| Nuxt 3 | Good | Good | Easy |
| WordPress (default theme) | Poor | Poor | Variable |
| React SPA (no SSR) | Poor | Variable | Variable |
See Best SEO Framework 2026 for the deeper comparison. Voice search depends on the same metrics, covered in our VEO 2026 guide.
Summary
- Web Vitals are a sequence: TTFB, FCP, LCP, FID (deprecated), CLS, INP, Page Load Time
- Only LCP, INP, and CLS are Core Web Vitals used by Google for ranking
- FID was replaced by INP in March 2024
- Good thresholds at P75: LCP under 2.5s, INP under 200ms, CLS under 0.1
- TTFB and FCP are not ranking factors but are critical diagnostic signals
- Measure from real users (RUM), not lab tests, for ranking decisions
- Framework choice sets your performance ceiling; Astro, SvelteKit, Qwik, and Next.js 15 score best by default
- Page Load Time is a useful health metric but no longer affects rankings
References
- web.dev: Core Web Vitals — official metric definitions
- web.dev: Interaction to Next Paint (INP) — INP deep dive
- Google Search Central: Core Web Vitals — ranking impact
- web.dev: Time to First Byte — TTFB documentation
- web.dev: First Contentful Paint — FCP documentation
- Chrome User Experience Report (CrUX) — the field-data source Google uses