Core Web Vitals are Google's attempt to measure how a page feels to use: how quickly the main content appears, how promptly it responds, and whether things move around while you are trying to read.
The three metrics
| Metric | Measures | Good | Needs work | Poor |
|---|---|---|---|---|
| LCP | Largest Contentful Paint — when the main content appears | under 2.5s | 2.5–4.0s | over 4.0s |
| INP | Interaction to Next Paint — responsiveness to input | under 200ms | 200–500ms | over 500ms |
| CLS | Cumulative Layout Shift — unexpected movement | under 0.1 | 0.1–0.25 | over 0.25 |
INP replaced First Input Delay in March 2024. It is stricter, because it considers all interactions rather than only the first.
Field data versus lab data
This distinction causes most of the confusion.
Lab data comes from a simulated load — Lighthouse, PageSpeed Insights. Reproducible and useful for debugging, but it is one simulated device on one simulated connection.
Field data comes from real Chrome users. This is what Google actually uses for ranking, and it reflects real devices on real networks.
A page can score 95 in the lab and fail in the field, because real visitors are on mid-range phones and imperfect connections rather than a simulated fast machine.
Fixing LCP
The largest element is usually a hero image or a large heading. Common causes of a slow one:
- the image is far larger than displayed and not in a modern format
- it is lazy-loaded when it is above the fold, delaying it deliberately
- a web font blocks the heading from rendering
- server response is slow before anything can start
Fixes: size images correctly, serve modern formats, preload the hero image, do not lazy-load above-the-fold content, and use font-display: swap.
Fixing INP
Poor responsiveness almost always means JavaScript occupying the main thread when the user taps. Common causes are heavy third-party scripts, large bundles executing on load, and expensive event handlers.
Fixes: ship less JavaScript, defer what is not needed immediately, break long tasks, and audit third-party tags — chat widgets and tag managers are frequent offenders.
Fixing CLS
Layout shift comes from content arriving without reserved space.
- images and videos without width and height attributes
- ads or embeds injected into the flow
- web fonts swapping and changing text dimensions
- banners inserted above existing content
Fixes: always set dimensions, reserve space for anything injected, and match fallback font metrics to reduce swap shift.
Do Core Web Vitals affect rankings?
They are a ranking signal, and a weak one compared to relevance. Content that answers the query better will outrank a faster page that answers it worse. They matter more for conversion than for position.
Our score dropped without any change. Why?
Field data is a rolling 28-day window and reflects your actual visitor mix. A shift toward mobile traffic or slower networks changes the numbers without any change to the site.
Is a perfect score worth chasing?
No. Getting into the "good" band is worthwhile. Pursuing 100 typically means removing things that serve the business.