SEOUtilities
Back to Blog

Google Core Web Vitals: LCP, INP & CLS Explained (2026 Guide)

SEO Utilities Team

Google Core Web Vitals: LCP, INP & CLS Explained (2026 Guide)

Core Web Vitals are Google's set of specific metrics that measure real-world user experience. Since Google made them a confirmed ranking factor, they have become one of the most important technical SEO priorities for any website.

What Are Core Web Vitals?

Core Web Vitals are three specific page performance metrics that Google uses to evaluate user experience:

  1. LCP — Largest Contentful Paint (loading performance)
  2. INP — Interaction to Next Paint (interactivity)
  3. CLS — Cumulative Layout Shift (visual stability)

Each metric has a "Good", "Needs Improvement", and "Poor" threshold. Google's Page Experience ranking signals reward pages that score "Good" on all three.


LCP — Largest Contentful Paint

What it measures

LCP measures how long it takes for the largest visible element on the page to load and render. This is typically a hero image, a large text block, or a video thumbnail.

Thresholds

  • ✅ Good: Under 2.5 seconds
  • ⚠️ Needs Improvement: 2.5–4.0 seconds
  • ❌ Poor: Over 4.0 seconds

What causes poor LCP

  • Slow server response times (high TTFB)
  • Render-blocking JavaScript or CSS
  • Large, unoptimized images
  • No preloading of the LCP element

How to improve LCP

1. Optimize images

  • Convert images to WebP or AVIF format (30–50% smaller than JPEG)
  • Add width and height attributes to prevent layout shifts
  • Use responsive images with srcset
  • Lazy-load offscreen images (loading="lazy")

2. Preload the LCP element

<link rel="preload" as="image" href="/hero-image.webp" />

3. Minimize render-blocking resources

  • Minify CSS using our CSS Minifier
  • Minify JavaScript using our JS Minifier
  • Defer non-critical scripts with defer or async
  • Inline critical CSS in the <head>

4. Use a CDN A Content Delivery Network serves assets from servers close to the user, reducing latency significantly.

5. Enable server compression Gzip or Brotli compression can reduce transfer size by 60–80%.


INP — Interaction to Next Paint

What it measures

INP (which replaced FID in 2024) measures the time from when a user interacts with the page (click, tap, keypress) to when the browser paints a visual response. It captures the overall responsiveness throughout the entire page session, not just the first interaction.

Thresholds

  • ✅ Good: Under 200ms
  • ⚠️ Needs Improvement: 200–500ms
  • ❌ Poor: Over 500ms

What causes poor INP

  • Heavy JavaScript execution blocking the main thread
  • Long tasks (scripts that run for >50ms without yielding)
  • Too many third-party scripts
  • Unoptimized event handlers

How to improve INP

1. Break up long tasks Split large JavaScript operations into smaller chunks using setTimeout or scheduler.yield() to allow the browser to respond to user input between chunks.

2. Reduce JavaScript bundle size

  • Remove unused code (tree shaking)
  • Split code into smaller chunks loaded on demand
  • Minify with our JS Minifier

3. Audit third-party scripts Every third-party script you add (analytics, chat widgets, ad networks) can impact INP. Load them asynchronously and only when needed.

4. Optimize event handlers Avoid running expensive operations synchronously in click/input handlers. Use debouncing and throttling for frequent events.


CLS — Cumulative Layout Shift

What it measures

CLS measures how much the visible content shifts unexpectedly during the page load. A high CLS score means users experience jarring layout changes — like clicking a button only for an ad to load above it, pushing the button down.

Thresholds

  • ✅ Good: Under 0.1
  • ⚠️ Needs Improvement: 0.1–0.25
  • ❌ Poor: Over 0.25

Common causes of layout shift

  • Images without defined width and height attributes
  • Ads or embeds without reserved space
  • Dynamically injected content (banners, cookie notices)
  • Web fonts causing text to reflow (FOUT/FOIT)

How to improve CLS

1. Always set image dimensions

<img src="photo.jpg" width="800" height="600" alt="Description" />

2. Reserve space for ads

.ad-container {
  min-height: 250px;
  width: 300px;
}

3. Use font-display: optional or swap Prevent invisible text during font loading while minimizing layout shift.

4. Avoid inserting content above existing content Any dynamic content (notifications, banners) should be placed at the bottom or pre-allocated space at the top.


How to Measure Core Web Vitals

1. Google PageSpeed Insights (pagespeed.web.dev) Get field data (real user metrics from Chrome UX Report) + lab data from Lighthouse.

2. Google Search Console Check the "Core Web Vitals" report under Experience to see your actual site-wide scores from real users.

3. Chrome DevTools Open DevTools → Performance tab → Record a page load to see detailed timing breakdowns.


Core Web Vitals and SEO

Google's Page Experience ranking signals incorporate Core Web Vitals as a tiebreaker. If two pages are equally relevant, the one with better Core Web Vitals scores will rank higher.

More importantly, better performance leads to:

  • Lower bounce rates (users stay longer)
  • Higher conversion rates
  • Better mobile experience (especially crucial as 60%+ of searches are mobile)

Conclusion

Core Web Vitals are not just SEO metrics — they are genuine measures of user experience. Improving them benefits everyone: users get a faster, more stable website, and you get better rankings and higher conversions.

Start by minifying your code with our free HTML, CSS, and JavaScript minifiers, then work through the other optimizations in this guide.

S

Written by

SEO Utilities Team

The SEO Utilities team is made up of SEO specialists, web developers, and digital marketers passionate about making professional-grade SEO tools free and accessible to everyone. We build, test, and refine every tool based on real-world SEO workflows.