Skip to main content
DailyKiUpdate
Technology

Core Web Vitals: How to Improve LCP, INP and CLS for Better SEO

Learn how to improve Core Web Vitals including LCP, INP and CLS. Discover practical techniques for faster loading, better responsiveness, stable layouts and improved website performance.

By Rajendra KumarUpdated November 3, 20267 min read246 views
Core Web Vitals: How to Improve LCP, INP and CLS for Better SEO

Core Web Vitals: How to Improve LCP, INP and CLS for Better SEO and User Experience

Core Web Vitals are important website performance metrics that help measure how users actually experience a web page. Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) focus on loading performance, responsiveness, and visual stability.

Unlike simple page-load measurements, Core Web Vitals are designed to reflect real user experience. For website owners, developers, and SEO professionals, improving these metrics can help create faster, smoother, and more stable websites.

What Are Core Web Vitals?

Google's Core Web Vitals consist of three primary user-experience metrics:

  • LCP (Largest Contentful Paint) – Measures loading performance.

  • INP (Interaction to Next Paint) – Measures how quickly a page responds to user interactions.

  • CLS (Cumulative Layout Shift) – Measures visual stability.

Together, these metrics answer three important questions:

Does the page load quickly?
Does it respond quickly when users interact with it?
Does the page remain visually stable while loading?

A website can have a fast initial load and still provide a poor experience if its buttons respond slowly or content unexpectedly moves around the screen.


LCP: How to Improve Largest Contentful Paint

Largest Contentful Paint (LCP) measures how long it takes for the largest visible content element in the viewport to render.

The LCP element is often:

  • A hero image

  • A large heading

  • A featured image

  • A video poster

  • A large block of text

A slow LCP is commonly caused by large images, slow server responses, render-blocking resources, or inefficient frontend code.

Common Causes of Poor LCP

Some common causes include:

  • Unoptimized hero images

  • Slow server response time

  • Render-blocking CSS and JavaScript

  • Too many third-party scripts

  • Poor caching

  • Large fonts and other above-the-fold resources

Preload Important Hero Images

If the hero image is critical to the initial viewport, it can be prioritized so that the browser discovers it earlier:

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

In Next.js, next/image can help optimize images automatically. For an above-the-fold image, you can prioritize it:

<Image
  src="/hero.webp"
  alt="Website hero image"
  width={1200}
  height={630}
  priority
/>

You should avoid prioritizing every image on the page. The goal is to help the browser load the genuinely important above-the-fold content first.

Other Ways to Improve LCP

You can also improve LCP by:

  • Compressing large images

  • Using modern formats such as WebP or AVIF

  • Reducing server response time

  • Using a CDN

  • Removing unnecessary render-blocking resources

  • Reducing unused CSS and JavaScript

  • Optimizing fonts

  • Caching static resources


INP: How to Improve Interaction to Next Paint

Interaction to Next Paint (INP) measures how quickly a webpage responds visually after a user interacts with it.

Interactions can include:

  • Clicking a button

  • Opening a menu

  • Typing into a search field

  • Selecting a filter

  • Adding an item to a cart

  • Opening a modal

Long-running JavaScript tasks are one of the common causes of poor interaction responsiveness.

The Problem With Long JavaScript Tasks

Consider a page that performs a large amount of synchronous processing:

items.forEach((item) => expensiveTransform(item));

If this operation takes a long time, the browser's main thread can become busy. During that period, user interactions may feel delayed.

Break Long Tasks Into Smaller Chunks

One approach is to process large workloads in smaller chunks and give the browser opportunities to handle user input:

async function processInChunks(items) {
  for (let i = 0; i < items.length; i += 50) {
    items
      .slice(i, i + 50)
      .forEach(expensiveTransform);

    await new Promise((resolve) => setTimeout(resolve, 0));
  }
}

Breaking a long task into smaller pieces can allow the browser to respond to interactions between chunks.

Other Ways to Improve INP

Developers can improve INP by:

  • Reducing JavaScript execution

  • Splitting large JavaScript bundles

  • Avoiding unnecessary React re-renders

  • Using memoization where appropriate

  • Optimizing event handlers

  • Deferring non-critical work

  • Removing unnecessary third-party scripts

  • Virtualizing very large lists

  • Moving expensive processing away from the main thread when appropriate

For React and Next.js applications, it is especially useful to identify components that trigger unnecessary renders or perform expensive calculations during user interactions.


CLS: How to Improve Cumulative Layout Shift

Cumulative Layout Shift (CLS) measures unexpected movement of content while a page is loading.

For example, imagine a user is about to click a button. An advertisement or image loads above the button and pushes it downward. The user may accidentally click something else.

This creates a poor user experience.

Common Causes of CLS

Common causes include:

  • Images without reserved dimensions

  • Ads without reserved space

  • Dynamically inserted content

  • Web fonts changing the layout

  • Embeds without predefined dimensions

  • UI elements being injected above existing content

Set Image Dimensions

Always reserve the appropriate space for images.

For example:

<img
  src="/hero.webp"
  width="1200"
  height="630"
  alt="Website hero"
/>

With CSS, aspect-ratio can also help reserve space:

.hero-image {
  aspect-ratio: 1200 / 630;
  width: 100%;
}

Next.js's Image component also helps establish image dimensions:

<Image
  src="/hero.webp"
  alt="Website hero"
  width={1200}
  height={630}
/>

Reserve Space for Ads and Embeds

If your website displays advertisements, videos, social media embeds, or other dynamically loaded content, reserve the required space before the content loads.

This prevents existing content from unexpectedly moving.

Optimize Web Fonts

Fonts can also contribute to layout changes when fallback fonts are replaced after the page starts rendering.

Depending on your setup, you can use appropriate font-loading strategies such as font-display, preload critical fonts when justified, and reduce unnecessary font variants.


Core Web Vitals Targets

For a good user experience, the commonly used thresholds are:

Metric

Good

Needs Improvement

Poor

LCP

≤ 2.5s

2.5s–4s

> 4s

INP

≤ 200ms

200ms–500ms

> 500ms

CLS

≤ 0.1

0.1–0.25

> 0.25

These thresholds provide practical targets for developers when evaluating website performance.


Real User Data vs Lighthouse Scores

One important distinction is the difference between field data and lab data.

Tools such as Lighthouse and PageSpeed Insights can run controlled performance tests and provide useful diagnostics. However, real users may experience a website differently depending on their device, network, browser, location, and other conditions.

Field data collected from real users provides a more representative picture of actual website experience.

Chrome UX Report (CrUX) data can be used to understand real-world performance for eligible websites. Google Search Console also provides a Core Web Vitals report that can help website owners identify URLs with performance issues.

Therefore, don't focus only on achieving a perfect Lighthouse score. Look at how real users experience your website as well.


How Core Web Vitals Affect SEO

Core Web Vitals are part of Google's page experience signals and can contribute to how Google evaluates the experience provided by a page.

However, Core Web Vitals should not be treated as a replacement for quality content, search relevance, technical SEO, or other ranking considerations.

A technically fast website still needs useful, relevant, and accessible content to perform well in search.

The practical goal should therefore be:

Improve performance without sacrificing content quality or usability.


Core Web Vitals Checklist

Use this checklist when optimizing a website:

LCP Checklist

  • Optimize hero images

  • Use WebP or AVIF where appropriate

  • Prioritize important above-the-fold images

  • Improve server response time

  • Reduce render-blocking resources

  • Use caching and a CDN

  • Remove unnecessary third-party scripts

INP Checklist

  • Reduce long JavaScript tasks

  • Optimize event handlers

  • Avoid unnecessary component re-renders

  • Split large bundles

  • Defer non-critical JavaScript

  • Optimize expensive calculations

  • Virtualize large lists when appropriate

CLS Checklist

  • Set image dimensions

  • Reserve space for advertisements

  • Reserve space for embeds

  • Avoid inserting content above existing content

  • Optimize font loading

  • Use stable layouts during page initialization


How to Check Core Web Vitals

Website owners can monitor Core Web Vitals using tools such as:

  • Google Search Console

  • PageSpeed Insights

  • Chrome DevTools

  • Lighthouse

  • Chrome UX Report

Start with real-user data when available, then use lab tools to diagnose the underlying problems.


Final Takeaway

LCP, INP, and CLS measure three different but connected parts of the web experience.

LCP focuses on how quickly important content appears.
INP focuses on how quickly the page responds to user interactions.
CLS focuses on whether the page remains visually stable.

Many performance problems can be traced back to a few common areas: unoptimized above-the-fold content, excessive JavaScript work, and content without reserved space.

By optimizing images, reducing long main-thread tasks, and creating stable layouts, developers can make websites faster, more responsive, and easier to use.

For SEO, don't optimize Core Web Vitals in isolation. Combine technical performance improvements with high-quality content, strong information architecture, accessibility, and a good overall user experience.

Share this article

Comments