Core Web Vitals for SEO: LCP, INP and CLS Explained
Core Web Vitals are three specific, measurable signals Google uses to assess page experience: Largest Contentful Paint (LCP) for loading speed, Interaction to Next Paint (INP) for responsiveness, and Cumulative Layout Shift (CLS) for visual stability. Interaction to Next Paint replaced First Input Delay (FID) as the official responsiveness metric in March 2024 — if you're still optimizing for FID, that guidance is outdated.
Core Web Vitals: LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1 — measured from real visitors, not a lab test, at the 75th percentile.
The Three Metrics and Their Thresholds
| Metric | Measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| LCP | Loading — time until the largest visible element renders | ≤ 2.5s | 2.5s – 4s | > 4s |
| INP | Responsiveness — delay between an interaction and the next visual update | ≤ 200ms | 200ms – 500ms | > 500ms |
| CLS | Visual stability — how much visible content shifts unexpectedly | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
Thresholds are evaluated at the 75th percentile of real-user (field) data — all three must pass for a page to be assessed as 'good' overall.
Understanding Each Metric
Largest Contentful Paint (LCP)
LCP measures how long it takes for the largest visible element — usually a hero image, heading block, or banner — to fully render. Common causes of a poor LCP include slow server response times, render-blocking CSS or JavaScript, unoptimized images, and client-side rendering that delays when content actually appears. Fixes typically involve compressing and correctly sizing images, deferring non-critical scripts, and improving server or CDN response time.
Interaction to Next Paint (INP)
INP measures the delay between a user interaction — a click, tap, or key press — and the next time the browser visually updates in response. Unlike FID, which only measured the first interaction, INP evaluates responsiveness across the entire page visit. Heavy JavaScript execution, long tasks blocking the main thread, and excessive event listeners are the usual culprits. Fixes include breaking up long JavaScript tasks, reducing unnecessary re-renders, and deferring non-essential scripts until after initial interaction.
Cumulative Layout Shift (CLS)
CLS measures how much visible content unexpectedly moves during the page's lifecycle — the classic example is a button shifting just as a visitor is about to tap it, because an ad or image above it loaded late. Common causes include images and embeds without defined dimensions, web fonts that swap in and shift text, and content injected above existing elements. Fixes involve explicitly setting width and height (or aspect-ratio) on media, reserving space for ads and embeds, and using font-display strategies that minimize layout shift during font swap.
How Core Web Vitals Affects Rankings
Core Web Vitals is a page experience signal, not the dominant ranking factor — strong content that matches search intent will generally outrank thin content with perfect vitals scores. Where Core Web Vitals tends to matter most is as a tiebreaker in competitive results, where several pages already satisfy intent reasonably well and page experience becomes one of the differentiators.
Field Data vs. Lab Data
This distinction causes more confusion than almost anything else in Core Web Vitals. Field data (also called real-user data, or CrUX) reflects actual visitors on real devices and connections, aggregated over the past 28 days — this is what Google uses for the ranking signal, and what shows in the Search Console Core Web Vitals report. Lab data comes from a controlled test, like Lighthouse, run once under fixed conditions. Lab data is useful for debugging specific issues in detail, but a good Lighthouse score does not guarantee good field data, especially for pages with varied device and network conditions among real visitors.
A Practical Fix Workflow
- Check field data first — Search Console's Core Web Vitals report or PageSpeed Insights shows real-user scores by URL group
- Identify which specific metric is failing and on which template (not just 'the site is slow')
- Use Lighthouse or Chrome DevTools' Performance panel to find the specific cause on that template
- Fix the highest-impact cause first — usually image weight for LCP, long JavaScript tasks for INP, or unset media dimensions for CLS
- Re-measure field data after the fix — lab improvements don't confirm the fix worked for real visitors
- Monitor over the following weeks, since field data is a rolling 28-day average and takes time to fully reflect a change
Prioritizing Which Metric to Fix First
When a template fails more than one metric at once, fix in this order: LCP first, since a slow-loading page delays everything downstream, including when INP and CLS can even be measured; CLS second, since layout-shift fixes are usually cheap (setting explicit dimensions) relative to their impact on perceived quality; INP last, since diagnosing responsiveness issues in JavaScript often requires the deepest code-level investigation and is worth doing once the simpler wins are captured.
This order isn't a rigid rule — a page with a severely failing INP score from a single obviously heavy script (a chat widget or analytics tag blocking the main thread) is worth fixing immediately regardless of sequence. The general principle is to fix the cheapest, highest-confidence issues first and save the more involved JavaScript profiling work for when the easier wins are already captured.
Common Mistakes
- Chasing a perfect Lighthouse lab score while field data (the actual ranking signal) stays poor
- Optimizing Core Web Vitals while ignoring content quality and search intent, which matter far more
- Treating a fix as done immediately, without waiting for the field data window to update
- Still referencing First Input Delay (FID) — it was replaced by INP as the official metric in March 2024
- Fixing vitals on a template with little organic traffic while a high-traffic template stays untouched
Core Web Vitals Checklist
- Checked field data (Search Console or PageSpeed Insights), not just a single lab test
- Identified which specific metric and template is failing
- Images and embeds have explicit dimensions set to prevent layout shift
- Long JavaScript tasks are broken up or deferred to improve responsiveness
- Server response time and render-blocking resources are addressed for LCP
- Re-measured field data weeks after the fix to confirm real improvement
Core Web Vitals is one part of a broader technical SEO audit — see the official web.dev Core Web Vitals documentation for Google's own technical detail. Our website speed and technical SEO audit services diagnose these issues on real field data, not just a single lab report — see a sample SEO audit for how findings like this are typically presented.
FAQ
Is FID still a Core Web Vital?+
No. Interaction to Next Paint (INP) officially replaced First Input Delay (FID) as a Core Web Vital in March 2024. INP measures responsiveness across the whole visit, not just the first interaction.
Can a page rank well with poor Core Web Vitals?+
Yes, if its content strongly matches search intent and outperforms competitors on relevance and quality. Core Web Vitals tends to matter most as a tiebreaker among otherwise similar results.
Why does PageSpeed Insights show a different score than my Lighthouse test?+
PageSpeed Insights combines lab data (a single controlled test, similar to Lighthouse) with field data from real visitors when enough traffic exists. The two can differ meaningfully, and field data is what actually affects rankings.
How often should Core Web Vitals be checked?+
Reviewing field data monthly, and after any major template or hosting change, is a reasonable baseline for most sites — more frequently if a site is actively being optimized.
Want this reviewed for your own site?
Get a prioritized, written SEO audit of your website — no ranking guarantees, just clear findings and next steps.