Technical SEO
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.

See your site's AI visibility grade
Free instant scan — the same checks this article talks about, run on your own site.
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 content
INP 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
Frequently Asked Questions
What does TTFB stand for and what does it measure?
TTFB stands for Time to First Byte. It measures how long it takes for the browser to receive the first byte of HTML from your server after the request is sent. A good TTFB is under 200ms; under 100ms on a CDN edge cache is excellent. TTFB itself is not a Google ranking factor, but it feeds into LCP, which is.
What does FCP stand for and what does it measure?
FCP stands for First Contentful Paint. It measures when the user first sees any content on the page (text, image, SVG, or non-white canvas). A good FCP is under 1.8 seconds. FCP is not a Google ranking metric, but a fast FCP correlates strongly with low bounce rates.
What is LCP and is it a ranking factor?
LCP stands for Largest Contentful Paint. It measures when the largest visible element (usually the hero image or main heading) finishes painting. LCP is one of three Core Web Vitals Google uses for ranking. The good threshold is under 2.5 seconds at the 75th percentile of real user loads.
Why was FID deprecated and what replaced it?
FID (First Input Delay) only measured the very first interaction. INP (Interaction to Next Paint) measures the worst-case delay across all interactions, which more honestly reflects how responsive your page feels. Google formally replaced FID with INP in March 2024. INP is now a Core Web Vital; FID no longer is.
What is CLS and how is it measured?
CLS stands for Cumulative Layout Shift. It measures how much content unexpectedly moves around as the page loads. A good CLS is under 0.1 at the 75th percentile. Common causes of bad CLS are images without dimensions, late-injected ads or banners, and web fonts that swap in mid-load. CLS is one of the three Core Web Vitals.
What is INP and what counts as a good score?
INP (Interaction to Next Paint) measures how fast your page responds to user input across the worst case in a session. Google considers under 200ms good, 200-500ms needs improvement, and above 500ms poor. INP replaced FID as a Core Web Vital in March 2024.
Which Web Vitals affect Google rankings in 2026?
Only three: LCP (Largest Contentful Paint), INP (Interaction to Next Paint), and CLS (Cumulative Layout Shift). TTFB, FCP, FID, and overall Page Load Time are useful diagnostic metrics but do not directly affect rankings. Pass the three Core Web Vitals at the 75th percentile and your Page Experience score is healthy.
Does page load time still matter if it is not a ranking factor?
Yes, for user experience and conversion. Page Load Time (the time until the browser window load event) is no longer used by Google for ranking, but slow pages still hurt bounce rate, session duration, and revenue. Optimize for LCP and INP and Page Load Time usually follows.
How do I measure Web Vitals from real users?
Use a RUM (Real User Monitoring) tool. Cloudflare Web Analytics, Vercel Speed Insights, PostHog Web Vitals, and Google Search Console's Core Web Vitals report all show real-user data. Lab tools like Lighthouse and PageSpeed Insights are useful for debugging but Google ranks on real-user (field) data, not lab runs.
How does vaza.ai monitor Web Vitals?
vaza.ai scans every deploy for Web Vitals regressions across LCP, INP, CLS, TTFB, and FCP. When a metric slips below the good threshold, the platform opens a pull request with the specific fix (image optimization, JavaScript code-splitting, font loading, layout reserve) and verifies the metric recovered after merge.
About the author

vaza.ai
Marketing Team
The vaza.ai team helps small businesses modernize their websites and eliminate the cost, maintenance, and security headaches of legacy platforms.
Related reading
Want this running on your own site?
Run the free scan and see what Google and the AI answer engines actually find — then watch the platform monitor, fix and publish on autopilot.
Free instant grade · No signup · See what Google & AI see on your site


