What the three metrics measure
Core Web Vitals are Google's attempt to quantify whether a page feels fast. Three metrics, each measuring a different kind of frustration.
| Metric | Measures | Good |
|---|---|---|
| LCP Largest Contentful Paint | How long until the main content appears | Under 2.5s |
| INP Interaction to Next Paint | How quickly the page responds when tapped | Under 200ms |
| CLS Cumulative Layout Shift | How much the page jumps around while loading | Under 0.1 |
One thing to get right before you start: use field data, not lab data. PageSpeed Insights shows both. The lab score is a simulation. The field data is what real users on real phones experienced, and it is the only version Google uses.
Fixing LCP
LCP is almost always the hero image or headline block. The fixes, in order of impact:
- ✓Serve the hero image in a modern format and at the size it is actually displayed. A 3000px image in a 800px slot is the most common single cause.
- ✓Preload the LCP image and set
fetchpriority="high"on it. - ✓Stop lazy-loading it. Lazy loading the above-the-fold image actively delays LCP. Lazy load everything below it instead.
- ✓Self-host fonts and preload the one used in the headline. Third-party font requests block text rendering.
- ✓Cut render-blocking CSS and JS in the head. Inline critical CSS, defer the rest.
Fixing INP
INP replaced First Input Delay because FID was too easy to pass. INP measures how long the page takes to visually respond to taps across the whole session. It is almost always JavaScript blocking the main thread.
- ✓Audit your third-party scripts. This is the big one. Chat widgets, heatmaps, multiple analytics tools and tag managers full of forgotten tags.
- ✓Break up long tasks. Anything over 50ms on the main thread should be split or deferred.
- ✓Defer non-critical work until after the first interaction.
We wrote separately about why the marketing team is usually the source of these scripts. It is rarely the developer's doing.
Fixing CLS
CLS is the easiest of the three to fix and the most annoying to users.
- ✓Set width and height on every image and video. This alone fixes most CLS.
- ✓Reserve space for ads, embeds and banners before they load.
- ✓Use
font-display: optionalor preload fonts so swapping does not reflow text. - ✓Never inject content above existing content after load. Cookie bars and promo bars are the usual culprits.
What is not worth your time
Chasing a perfect lab score of 100 is not a business goal. The thresholds are pass or fail, and a page at 2.3s LCP is treated the same as one at 1.1s. Get into the green, then spend the remaining effort on conversion rate, which pays considerably better.
Also worth saying plainly: Core Web Vitals are a small ranking factor. They matter most as a tiebreaker and, more importantly, because slow pages lose customers regardless of what Google thinks. That is the real reason to fix them, and it is part of both our web development and SEO, AEO and GEO work.
Frequently asked questions
How long before Core Web Vitals improvements show in Search Console?
Field data is a rolling 28-day window, so expect roughly four weeks before the reported numbers fully reflect a fix. Lab scores update immediately, which is why people mistakenly think nothing happened.
Do Core Web Vitals affect rankings much?
They are a genuine but small factor. They matter most when competing pages are otherwise similar. The larger commercial effect is on conversion rate, not position.
Is a good mobile score more important than desktop?
Yes. Google uses mobile-first indexing, and in India the large majority of traffic is mobile, often on slower connections. Optimise for the worst realistic device, not your office laptop.