Spirit level with the bubble sitting perfectly centred between its marks

Core Web Vitals: LCP, INP, and CLS Explained

Technical SEO Guide

Core Web Vitals: LCP, INP, and CLS Explained

Core Web Vitals measure how your pages feel to real users: how fast they load, how quickly they respond, and how steady they stay. They’re a real ranking signal, though a modest one. This guide explains the three metrics, the thresholds that matter, and how to improve each.

By Rahul Saini, Author at Search Counsel Co. Last updated [JULY] 2026.

Featured answer: what are Core Web Vitals?

Core Web Vitals are three metrics Google uses to measure real-world user experience: Largest Contentful Paint (LCP) for loading, Interaction to Next Paint (INP) for responsiveness, and Cumulative Layout Shift (CLS) for visual stability. To pass, at least 75% of real visits must hit the good threshold for all three: LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1.

A tiebreaker, not a magic bullet. Core Web Vitals are a confirmed ranking signal, but a light one. Google has said plainly that good scores won’t override great content, and passing them won’t rocket you up the results. They matter most when you and a competitor are otherwise evenly matched. The bigger, more reliable payoff is on the user side: faster, steadier pages keep people from leaving and convert better, which is where the real money usually is.

LCP

Loading

Largest Contentful Paint. Good is under 2.5 seconds.

INP

Responsiveness

Interaction to Next Paint. Good is under 200 milliseconds.

CLS

Stability

Cumulative Layout Shift. Good is under 0.1.

The Data

Real users

Google judges you on field data, not your lab test score.

Article note: Written by Rahul Saini at Search Counsel Co. Grounded in Google’s official Core Web Vitals documentation on web.dev and in Search Console. Thresholds and measurement details are current as of writing; Google refines measurement over time, so confirm specifics against its documentation.

1) What Core Web Vitals are and how much they matter

Core Web Vitals are Google’s attempt to put numbers on something subjective: how a page feels to use. They sit inside Google’s broader page experience signals, alongside things like HTTPS and mobile-friendliness, and of that group they’re the most specific and the most fixable. Each one captures a different frustration a visitor might have: a page that’s slow to show its main content, slow to react when you click, or that jumps around while you’re reading.

They are a confirmed ranking factor, but it’s worth being honest about the weight. Google treats them as a tiebreaker that helps most when competing pages are otherwise similar, and it has repeatedly cautioned that strong scores won’t rescue weak content. So the SEO case is real but modest. The clearer case is commercial. Google’s own published case studies show the pattern: one documented A/B test found that a 31% improvement in LCP drove roughly 8% more sales, and other cases link faster loading to longer sessions and more organic traffic. Faster, steadier pages simply lose fewer visitors. One structural detail to know upfront: in Search Console, similar pages are grouped together and the group takes the status of its worst metric, so a single template-level problem, a shifting header or a heavy global script, can drag down a whole set of URLs at once. That’s why fixing one page rarely moves the report.

2) The three metrics and their thresholds

Each metric is rated Good, Needs Improvement, or Poor against fixed thresholds. Your goal is always Good. Here are the current numbers:

Metric Measures Good Needs improvement Poor
LCP (Largest Contentful Paint) Loading Under 2.5s 2.5s to 4.0s Over 4.0s
INP (Interaction to Next Paint) Responsiveness Under 200ms 200ms to 500ms Over 500ms
CLS (Cumulative Layout Shift) Visual stability Under 0.1 0.1 to 0.25 Over 0.25

LCP marks when the largest visible element, usually a hero image or a big heading, finishes rendering. It’s the metric most tied to how fast a page “feels.” INP measures responsiveness across the whole visit: it watches every click, tap, and key press, and reports close to the worst delay between the interaction and the screen updating. CLS measures how much visible content shifts unexpectedly while the page settles, expressed as a score rather than a time.

INP replaced FID in 2024. On March 12, 2024, Interaction to Next Paint became the official responsiveness metric, retiring First Input Delay. FID only measured the delay before the browser began processing your first interaction, which was easy to pass and hid a lot of problems. INP measures every interaction through to the visual response, so it catches the lag when someone uses a filter, opens a menu, or submits a form. It’s tougher, more honest, and the metric most sites now struggle with. If any tool still reports FID, it’s out of date. In 2026 Google also refined how INP is sampled on interaction-heavy pages and surfaced server response time more prominently as a diagnostic, but the headline thresholds above did not change.

3) Field data vs lab data

This is the distinction that saves the most wasted effort. There are two ways to measure Core Web Vitals, and only one of them affects your rankings.

Field data (CrUX) Lab data (Lighthouse)
What it is Real users on real devices and networks. One simulated test in a controlled environment.
Used for ranking Yes. No.
Measured at The 75th percentile over a rolling 28 days. A single run, right now.
Best for The scoreboard: how you’re actually doing. Debugging: reproducing and diagnosing issues.
Measures INP Yes. No, it uses a lab proxy instead.

Google’s ranking data comes from the Chrome User Experience Report, or CrUX, which records real Chrome users and reports your score at the 75th percentile. That means 75% of visits need a good experience for you to pass, so your slowest quarter of users, often people on mid-range phones and patchy connections, still have to get a reasonable result. This is why a page can feel instant on your own laptop and still fail in the field. Lighthouse, by contrast, runs one simulated test, which is useful for finding and fixing problems but is not the score Google ranks on. Chase the field data, use the lab as a diagnostic, and expect a lag: because CrUX averages 28 days, a real fix takes a few weeks to fully show up in your reports.

4) How to improve LCP

LCP is usually a resource problem: something big or slow is delaying your main content. The most common fixes, in rough order of impact:

  • Never lazy-load the LCP element. Putting loading=”lazy” on your hero image is a guaranteed LCP regression, because the browser waits to fetch an image the visitor can already see. Load it eagerly.
  • Prioritize the LCP image. Add fetchpriority=”high” to it, and preload it so the browser fetches it early.
  • Optimize the image itself. Compress it, use a modern format like WebP or AVIF, and serve a size appropriate to the device.
  • Speed up your server. A slow time to first byte delays everything after it. Faster hosting, caching, and a CDN all help. This is covered in depth in our guide to site speed.
  • Remove render-blocking resources. Defer non-critical JavaScript and CSS so the browser can paint your main content sooner.
  • Watch client-side rendering. If your content is built in the browser with JavaScript, the LCP element arrives late. Server-side rendering, covered in our guide to JavaScript SEO, fixes this.

5) How to improve INP

INP is the hardest of the three, because it’s not about compressing a file or adding an attribute. It’s about your JavaScript. Any task that runs longer than about 50 milliseconds blocks the main thread, and while it’s blocked, the browser can’t respond to the user. The fixes are about doing less work between the click and the next frame:

  • Break up long tasks. Split heavy JavaScript into smaller chunks so the browser can respond between them.
  • Yield to the main thread. Let the browser paint a response first, then finish the work, using patterns like scheduler.yield or a well-placed timeout.
  • Cut and defer JavaScript. Remove unused scripts and delay non-essential ones. Third-party tags, chat widgets, and page-builder plugins are frequent culprits.
  • Move heavy work off the main thread. Use web workers for expensive computation so the interface stays responsive.
  • Shrink the DOM. A very large or deeply nested page is slower to update after every interaction, so simplify where you can.

6) How to improve CLS

CLS is the cheapest metric to fix and the one that makes a site look most amateur when you ignore it. Almost every layout shift comes from something loading without reserved space. The fixes:

  • Set dimensions on images and video. Always include width and height attributes or a CSS aspect-ratio, so the browser reserves the space before the file loads.
  • Reserve space for ads, embeds, and iframes. Give these slots a fixed size so they don’t shove content down when they appear.
  • Don’t inject content above existing content. Cookie banners, notifications, and late-loading elements should not push the page down. Overlay them or reserve their space.
  • Handle fonts carefully. Preload your key font and use font-display: swap so a font swap doesn’t reflow the page. Matching the fallback font’s size helps too.
  • Animate the right properties. Use transform for movement instead of properties like top, left, or width, which force the page to re-lay-out.

7) How to measure Core Web Vitals

A short toolkit covers everything from the big picture to line-by-line debugging:

  • PageSpeed Insights. Enter any URL to see both its field data (from CrUX) and a lab test in one place. The best starting point for a single page.
  • Search Console Core Web Vitals report. The macro view of your whole site: which URL groups are failing, on mobile and desktop, using real field data. Start here to find failing templates.
  • Chrome DevTools. The Performance panel records a session so you can see exactly which resource delays LCP or which interaction is slow for INP.
  • The web-vitals JavaScript library. Drop it into your site to measure real-user vitals continuously and catch regressions after you deploy.

Where to check and get help

Measure first, then fix by impact

PageSpeed Insights and Search Console are the free tools for your Core Web Vitals scores. Our Crawlability and AI-Readiness Checker covers the related crawl and rendering issues that also slow pages down. For a full page-experience audit that prioritizes fixes by business impact, our technical SEO and site audit service runs it through our [FRAMEWORK NAME] process.

8) Core Web Vitals and AI crawlers

It’s tempting to claim Core Web Vitals decide whether AI engines cite you, so here’s the honest version. Core Web Vitals are a human-experience signal measured from real Chrome users. AI answer engines don’t experience your page’s load speed the way a person does, and there’s no confirmed rule that your LCP or INP score directly gates whether you appear in an AI answer. Treat anyone who tells you otherwise with caution.

The real connection is indirect but useful. The single biggest cause of poor INP, and a common cause of poor LCP, is heavy client-side JavaScript. And heavy client-side JavaScript is exactly what blocks AI crawlers too, because most of them don’t run JavaScript and only read your raw HTML. So the same work that improves these metrics, cutting and deferring scripts, rendering your main content on the server, also makes your content visible to the crawlers behind AI answers. You optimize once and both audiences benefit. Our JavaScript SEO guide covers that server-rendering side, and the technical SEO pillar and our AI search optimization guide tie it together.

9) Sources used for this guide

This guide is anchored on Google’s official documentation, with case-study figures attributed to Google’s own repository.

Source What it supports
Google web.dev, Core Web Vitals documentation The three metrics, their thresholds, the 75th-percentile method, and per-metric optimization guidance.
Google Search Central and Search Console documentation That Core Web Vitals are a page-experience ranking signal, and how the Search Console report groups URLs.
Chrome team announcements on INP and FID That INP replaced FID as the responsiveness metric on March 12, 2024.
web.dev case-study repository Documented links between improved Core Web Vitals and higher sales, sessions, and traffic. Directional.

FAQ: Core Web Vitals

What is a good Core Web Vitals score?

A page passes when at least 75% of real visits reach the good threshold for all three metrics at once: LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1. There’s no single combined score. Each metric is judged on its own, and your weakest one determines whether the page passes.

Did INP replace FID?

Yes. Interaction to Next Paint replaced First Input Delay as the official responsiveness metric on March 12, 2024. FID only measured the delay before your first interaction was processed, while INP measures every interaction through to the visual response. INP is harder to pass and far more representative of how responsive a page actually feels. FID is now history.

Are Core Web Vitals a ranking factor?

Yes, but a light one. Google uses them as part of its page experience signals, mostly as a tiebreaker between pages of otherwise similar quality. Google has been clear that good scores won’t override great content and won’t guarantee top rankings. The stronger reason to improve them is user experience and conversions.

What’s the difference between field data and lab data?

Field data comes from real users through the Chrome User Experience Report and is what Google uses for ranking, reported at the 75th percentile over 28 days. Lab data comes from a single simulated test like Lighthouse and is useful for debugging but is not the ranking score. A perfect lab score can coexist with failing field data.

Why does my page pass in Lighthouse but fail in Search Console?

Because they measure different things. Lighthouse is one lab test on a fast simulated device, while Search Console reports real users at the 75th percentile, including people on slower phones and networks. The field data is the one that counts, so trust Search Console and PageSpeed Insights field data over a lab score.

Which Core Web Vital is hardest to fix?

INP, for most sites. LCP is usually about resources like large images or slow servers, and CLS is usually about reserving space with dimensions. INP is about JavaScript architecture, specifically how much work happens between a user’s interaction and the next frame, which takes real code changes rather than a quick tweak.

Conclusion: fix the metric that’s actually failing

Core Web Vitals reward a focused approach. Look at your real field data in Search Console or PageSpeed Insights, find the one metric dragging you down, and fix its specific causes: resources for LCP, JavaScript for INP, reserved space for CLS. Don’t polish a lab score while the metric that matters sits in the red, and don’t oversell the ranking payoff. The surest return is a faster, steadier site that keeps and converts more of the visitors you already have.

Core Web Vitals are one part of page experience. The broader work of making pages fast is covered in our guide to site speed, and the security side in HTTPS and site security, all under the technical SEO pillar.

Editorial note: This guide is for general marketing education. Google refines how Core Web Vitals are measured over time, so verify current thresholds and methodology against Google’s documentation, and base decisions on your own field data.

 

Scroll to Top