Core Web Vitals — what actually matters in 2026
LCP, INP, CLS. Three numbers Google uses to decide whether your site deserves the first page.
Google has been explicit: user experience is a ranking factor. And experience, in this context, is measured by three numbers — Core Web Vitals. Outside the thresholds, you lose position. Inside, you gain.
LCP — Largest Contentful Paint
Measures the time until the largest visible element is painted. Hero image, big headline, main video. Threshold: 2.5 seconds. Above 4 seconds, it is "poor" — and Google knows.
Usual culprits: unoptimised images, render-blocking fonts, slow server, no cache.
INP — Interaction to Next Paint
Replaced FID in March 2024. Measures the latency between user interaction (click, tap, keystroke) and the screen responding. Threshold: 200ms. Above 500ms, it is "poor".
Usual culprits: heavy JavaScript blocking the main thread, poorly written listeners, frameworks that render too much.
CLS — Cumulative Layout Shift
Measures how much the layout jumps while the page loads. Threshold: 0.1. That moment when you were about to click a button and an ad pushed it down? That is CLS.
Usual culprits: images without width/height, fonts that change size when they load, ads and embeds injected after load.
How to measure
PageSpeed Insights measures in lab (simulation) and in field (real users via Chrome User Experience Report). Look at both — lab is controlled, field is what counts for Google.
Another route: Search Console > Core Web Vitals. It surfaces specific URLs with issues, grouped by pattern. The most direct way to know where to fix first.
What usually solves 80% of the problems
- Images in WebP/AVIF with explicit width/height in the HTML
- Fonts with preload and font-display: swap
- JavaScript split into small chunks, with lazy loading for the non-critical
- A CDN in front of the server (Cloudflare, Vercel Edge, Cloudfront)
- Server-side rendering or static generation for public content
- Removing libraries nobody uses but that are still in the bundle
Those six points fix most poorly scored sites. The rest is case by case — and that's where real optimisation work begins.