Core Web Vitals Explained
Three metrics decide whether Google rates a page's experience as good: how fast it loads, how quickly it responds and how steady the layout stays.

Site owners who open Google Search Console may find a warning that their site has Core Web Vitals issues. These are metrics that measure the experience of real visitors, the people opening the site in a web browser. Google tracks three of them: Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS). INP replaced First Input Delay (FID) as the responsiveness metric.
What the metrics mean
- LCP measures loading: how long it takes the largest image or text block in the viewport to render. Good is 2.5 seconds or less.
- INP measures interactivity: how quickly the page responds after a click, tap or key press. Good is 200 milliseconds or less.
- CLS measures visual stability: how much visible content shifts unexpectedly while the page is in use. Good is 0.1 or less.
Each metric is judged at the 75th percentile of page loads, segmented across mobile and desktop. That means at least three out of every four visits to a page should meet the threshold. The Core Web Vitals report in Search Console sorts URLs into Good, Need improvement and Poor. Poor starts above 4 seconds for LCP, 500 ms for INP and 0.25 for CLS, and a group of URLs takes the status of its worst metric.
Field data vs lab data
Field data comes from real Chrome users through the Chrome User Experience Report (CrUX). Lab data comes from a simulated page load in Lighthouse. Search Console's report uses field data only. Lighthouse cannot measure INP directly and shows Total Blocking Time as a proxy, so a good lab score does not guarantee a good field result.
- Search Console: the Core Web Vitals report, in the Experience section, shows mobile and desktop separately and groups URLs with a similar experience. Menu names in Google tools can change.
- PageSpeed Insights: shows field data from CrUX for the previous 28-day collection period at the 75th percentile, plus Lighthouse lab diagnostics. A new or low-traffic page may fall back to origin-level data or show no field data at all.
What usually helps on blogs
- LCP: never lazy-load the featured or hero image, compress it and serve WebP or AVIF, add
fetchpriority="high"to it, and cut redirects and slow server responses. - CLS: give every image
widthandheightattributes (or a CSSaspect-ratio), reserve space for ads, embeds and iframes, and load web fonts early. - INP: trim heavy JavaScript and third-party widgets such as ad scripts, chat bubbles and social embeds, which keep the browser busy when a visitor taps.
Start with the Poor group in Search Console, open a sample URL from it in PageSpeed Insights, and fix the causes the diagnostics point to. Check the change in the lab first. Field data then updates gradually, because CrUX reports a rolling 28-day window, so the Search Console report lags behind the fix.


