Core Web Vitals

Core Web Vitals Explained: LCP, INP, and CLS in Plain English

Google's Core Web Vitals measure real-world page experience. Learn what LCP, INP, and CLS mean and how they affect your search rankings.

AI SEO Scanner Team8 min read

Every few years, Google shifts the SEO conversation in a meaningful way. The introduction of Core Web Vitals as official ranking signals was one of those shifts. Since the Page Experience update rolled out in 2021, how your pages feel to real users has directly influenced where they rank. Yet many site owners still struggle to explain what these metrics actually measure — let alone how to improve them.

This guide breaks down each Core Web Vital in plain language: what it measures, why it matters, what counts as a good score, and what you can do to move the needle.

What Are Core Web Vitals?

Core Web Vitals are a set of three user-focused performance metrics that Google uses to evaluate the quality of a page's experience. Unlike traditional metrics that measure technical server-side performance, Core Web Vitals capture what users actually feel when they load and interact with a page.

Google introduced them to move ranking criteria closer to genuine human experience. A page can have clean HTML, valid structured data, and strong backlinks — but if it loads slowly, jumps around visually, or feels laggy when you tap a button, it delivers a poor experience. Core Web Vitals are Google's attempt to quantify that experience at scale.

The three metrics are:

  • LCP (Largest Contentful Paint) — how fast the main content loads
  • INP (Interaction to Next Paint) — how quickly the page responds to user input
  • CLS (Cumulative Layout Shift) — how visually stable the page is

Each metric has thresholds: Good, Needs Improvement, and Poor. Google evaluates them using real-world data collected from Chrome users via the Chrome UX Report, not just lab simulations.

Largest Contentful Paint (LCP)

LCP measures how quickly the largest visible element in the viewport loads. That element is typically a hero image, a large heading, a featured video thumbnail, or a block of text. It's the moment when a user perceives the page as "mostly loaded."

The thresholds are:

  • Good: under 2.5 seconds
  • Needs Improvement: 2.5 – 4 seconds
  • Poor: over 4 seconds

Why does this matter? Research consistently shows that users abandon pages that take too long to show meaningful content. LCP captures that moment precisely — not when the page starts loading, but when the thing users actually came to see appears.

Common culprits behind slow LCP scores include unoptimized images (especially large hero images that aren't compressed or sized correctly), slow server response times (high TTFB), render-blocking JavaScript and CSS that delay the browser from rendering anything, and missing preload hints for critical resources.

To improve LCP:

  • Optimize images. Compress them, switch to modern formats like WebP or AVIF, and serve appropriately sized images for each device.
  • Preload your hero image. Use <link rel="preload" as="image"> so the browser fetches it immediately rather than discovering it late.
  • Reduce server response time. Invest in better hosting, add caching layers, and use a CDN to serve content closer to users.
  • Remove render-blocking resources. Defer non-critical JavaScript and inline critical CSS to unblock the browser's rendering path.

Interaction to Next Paint (INP)

INP measures how responsive your page is to all user interactions — clicks, taps, and keyboard inputs. It replaced the older First Input Delay (FID) metric in March 2024, and the change was significant. While FID only measured the delay before the browser started processing the first interaction, INP captures the full responsiveness across all interactions throughout the page lifecycle.

The thresholds are:

  • Good: under 200 milliseconds
  • Needs Improvement: 200 – 500 milliseconds
  • Poor: over 500 milliseconds

A high INP score means users experience sluggishness when they try to interact with your page — clicking a menu doesn't open it instantly, tapping a button feels unresponsive, typing in a form field lags. This is almost always caused by too much JavaScript work happening on the main thread.

To improve INP:

  • Identify long tasks. Use Chrome DevTools' Performance panel to find JavaScript tasks that exceed 50ms. These are the ones blocking responsiveness.
  • Break up long tasks. Split large synchronous JS chunks into smaller pieces that yield back to the browser between steps. Techniques like setTimeout, requestIdleCallback, or the newer scheduler.postTask() API help here.
  • Use web workers for heavy computation. Move data processing, parsing, or other CPU-intensive work off the main thread entirely.
  • Minimize main thread work. Audit your JavaScript bundles and remove or defer anything not needed for the current page interaction.
  • Defer non-critical JS. Use defer or dynamic import() to load scripts only when they're actually needed.

Cumulative Layout Shift (CLS)

CLS measures visual stability — how much the page layout unexpectedly shifts while the user is looking at it. You've experienced this: you're about to click a link, and a banner loads above it, shifting everything down, causing you to click something else entirely. That's a high CLS event.

The thresholds are:

  • Good: under 0.1
  • Needs Improvement: 0.1 – 0.25
  • Poor: over 0.25

CLS is calculated by multiplying the fraction of the viewport affected by a shift by the distance the content moved. Shifts that happen in response to user interaction (like opening a dropdown) are excluded from the score.

Common CLS causes include images and videos without explicit dimensions, web fonts that cause layout reflow as they load (FOIT/FOUT), ad slots that don't reserve space, and dynamically injected content above existing page content.

To improve CLS:

  • Always set width and height on images and videos. This allows the browser to reserve the correct space before the resource loads, preventing a shift when it arrives.
  • Reserve space for ads and embeds. If an ad container might contain different-sized content, give it a minimum height so the page doesn't jump when the ad loads.
  • Avoid inserting content above the fold dynamically. Banners, cookie notices, and content that gets injected above existing content are major CLS contributors. If they must appear, overlay them rather than pushing content down.
  • Handle web fonts carefully. Use font-display: optional if you can accept the fallback font, or font-display: swap combined with careful font matching to minimize layout reflow.

How Core Web Vitals Affect SEO Rankings

Core Web Vitals are part of Google's Page Experience signals, which also include mobile-friendliness, HTTPS, and the absence of intrusive interstitials. Google has been transparent that these signals act as a tiebreaker: when two pages are roughly equal on relevance, content quality, and authority, the one with better page experience may rank higher.

The key nuance is that Core Web Vitals don't override content quality. A poorly-performing page with genuinely authoritative, well-structured content will often still rank above a fast but thin page. The realistic impact is strongest in competitive niches where many pages have similar content quality — and that's a large portion of the web.

Google evaluates Core Web Vitals at the 75th percentile of real-user data. This means your scores need to be good for the majority of your visitors, not just the average user on a fast connection.

Measuring Your Core Web Vitals

You have several options for measuring Core Web Vitals:

  • Chrome UX Report (CrUX): Google's dataset of real-user performance data. Accessible via PageSpeed Insights and Google Search Console.
  • PageSpeed Insights: Enter any URL at pagespeed.web.dev to get both lab data (from Lighthouse) and field data (from CrUX).
  • Google Search Console: The Core Web Vitals report shows page-level assessments across your entire site using real-user data.
  • AI SEO Scanner: AI SEO Scanner's Core Web Vitals monitoring tracks your scores per page over time, flags regressions, and gives you a direct view of how your CWV performance compares across your site without having to check each URL individually.

The distinction between lab data and field data matters. Lab tools like Lighthouse run a simulated page load in a controlled environment — useful for debugging but not what Google uses for ranking. Field data from real users is what counts.


Understanding your Core Web Vitals is the first step. Improving them is where the real work begins — and starting with accurate, ongoing measurement is how you make sure the work you put in is actually moving the numbers.

Get started with AI SEO Scanner for free and see your Core Web Vitals scores across every page of your site in minutes.

Get Started

Ready to improve your SEO?

Run a full audit, track keywords, and get AI-powered insights — no subscription required.

Try AI SEO Scanner Free

1 credit · 1 page scanned · Credits never expire