Technical SEO

Core Web Vitals Explained: LCP, INP and CLS, and How to Improve Them

What the three Core Web Vitals measure, how Google assesses them, and the practical fixes that improve each one.

Core Web Vitals are three measurements of how a page feels to real visitors: how quickly the main content appears (LCP), how quickly the page responds to taps and clicks (INP), and how much the layout jumps around (CLS).

They matter for two reasons. Slow, jumpy pages lose visitors, and Google says good Core Web Vitals align with what its core ranking systems seek to reward. This guide explains each metric, the difference between field and lab data, and where to focus first.

Short answer: Core Web Vitals are Largest Contentful Paint (good: 2.5 seconds or less), Interaction to Next Paint (good: under 200 milliseconds) and Cumulative Layout Shift (good: under 0.1). Google assesses them from real-user Chrome data at the 75th percentile, separately for mobile and desktop. Improve LCP by speeding up the main image or text, INP by reducing long JavaScript tasks, and CLS by reserving space for images, ads and fonts.

Key Takeaways

  • Good thresholds: LCP ≤ 2.5 s, INP < 200 ms, CLS < 0.1, judged at the 75th percentile.
  • Search Console’s Core Web Vitals report uses real-user (field) data from CrUX; Lighthouse is lab data.
  • Lighthouse can’t measure INP; Total Blocking Time is its lab proxy.
  • Never lazy-load the main (LCP) image; give it fetchpriority=”high”.
  • Good Core Web Vitals help user experience; they don’t replace relevant, helpful content.

The three metrics and their thresholds

MetricMeasuresGoodNeeds improvementPoor
Largest Contentful Paint (LCP)Loading: when the largest image or text block appears≤ 2.5 s≤ 4 s> 4 s
Interaction to Next Paint (INP)Responsiveness: delay between an interaction and the next visual update≤ 200 ms≤ 500 ms> 500 ms
Cumulative Layout Shift (CLS)Visual stability: unexpected layout movement≤ 0.1≤ 0.25> 0.25

INP replaced First Input Delay (FID) and became a stable Core Web Vital in 2024. All three are measured at the 75th percentile of page loads, segmented by mobile and desktop, so a page passes only if most real visits are good.

Field data vs lab data

Field (real users)Lab (simulated)
SourcesCrUX, Search Console report, PageSpeed Insights field sectionLighthouse, PageSpeed Insights lab section, DevTools
Measures INP?YesNo (uses Total Blocking Time as a proxy)
Best forKnowing whether you passDiagnosing why and testing fixes
LimitsNeeds enough Chrome traffic; 28-day windowOne device and network profile; results vary between runs

Google’s web.dev guidance is that only field measurement captures the complete picture. New or low-traffic sites often have no field data: PageSpeed Insights shows “No Data” and the Search Console report omits URLs without enough reporting data. In that case use lab tests for direction, but don’t claim you pass or fail.

Do Core Web Vitals affect rankings?

Google says good Core Web Vitals, along with other page experience aspects, align with what its core ranking systems seek to reward, and it highly recommends achieving them. In practice they work more like a tiebreaker than a trump card: a fast page with weak content won’t outrank a slower page that answers the query far better. Treat them as a user experience and conversion priority first.

How to improve LCP

web.dev breaks LCP into four parts: time to first byte, resource load delay, resource load duration and element render delay. The two delays should be close to zero.

  • Find the LCP element in PageSpeed Insights (often the hero image or the first heading).
  • Don’t lazy-load it. web.dev says never to lazy-load the LCP image.
  • Make it discoverable in the initial HTML and add fetchpriority="high" (on one or two images at most).
  • Cut render-blocking CSS and JavaScript: remove unused CSS, inline critical CSS, defer scripts.
  • Shrink the resource: right-sized images in WebP or AVIF; fewer, smaller web fonts.
  • Speed up the server: page caching, a CDN, fewer redirects.

How to improve INP

INP covers three phases: input delay (the main thread is busy), processing (your event handlers run) and presentation delay (the browser renders the update).

  • Reduce long JavaScript tasks during page load; audit third-party scripts and remove what you don’t need.
  • Keep event handlers small and yield to the main thread between chunks of work.
  • Defer non-urgent work (analytics, saving drafts) until after the visual update.
  • Keep the DOM reasonably small and avoid reading layout right after changing styles.
  • Use content-visibility for long pages with heavy off-screen sections.

How to improve CLS

  • Set width and height (or CSS aspect-ratio) on images, videos and iframes.
  • Reserve space for ads, embeds, cookie banners and late-loading widgets with min-height.
  • Insert dynamic content below the fold, or in reserved space, not above existing content.
  • Animate with transform rather than top or left.
  • Use font-display: optional or matched fallback font metrics to limit font-swap shifts; preload key fonts.
  • Keep pages eligible for the back/forward cache.

Tracking progress

  1. Use Search Console’s Core Web Vitals report to see which URL groups are Poor or Need improvement on mobile and desktop.
  2. Fix one template at a time (product, category, article) since URL groups usually share a template.
  3. Test fixes with PageSpeed Insights lab data and record before/after numbers.
  4. Click Start tracking in Search Console; Google monitors for 28 days. It doesn’t trigger reindexing.

Lab scores move between runs of the same page. Compare several runs, or the median, before deciding a change worked.

For a broader view of technical health, start with the technical SEO checklist. Speed work on WordPress often comes down to caching, CSS and plugin choices; our WordPress SEO service covers that.

Frequently asked questions

What are good Core Web Vitals scores?

LCP of 2.5 seconds or less, INP under 200 milliseconds and CLS under 0.1, measured at the 75th percentile of real visits.

Why does PageSpeed Insights show ‘No Data’ for my site?

There isn’t enough real-user Chrome data for that URL or origin. The lab section still works for diagnosis.

Does a PageSpeed score of 100 mean I pass Core Web Vitals?

No. The PageSpeed performance score is a lab score. Passing Core Web Vitals is based on field data from real users.

Why doesn’t Lighthouse show INP?

INP needs real user interactions. Lighthouse loads pages without a user, so it reports Total Blocking Time as a proxy.

How long until Search Console shows improvements?

The report uses a rolling 28-day window of field data, so improvements appear gradually over about four weeks.

Want a second pair of eyes on your technical SEO?

We review crawling, indexing, rendering and speed issues by hand and give you a prioritized list of fixes, starting with a free manual audit.

Sources

Last reviewed October 12, 2026.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *