Skip to content
Web Development

Core Web Vitals in plain English: LCP, INP and CLS

Three numbers describe how fast and stable your pages feel to real visitors. Here is what they mean, the targets to aim for, and the fixes that work.

DDEVNTOM TeamEngineering and strategy2 min read
On this page
  1. The three metrics
  2. What usually makes pages slow
  3. Fixes that work
  4. A simple routine

Core Web Vitals are three measurements Google uses to describe how a page feels to real visitors: how fast the main content appears, how quickly the page reacts, and how stable the layout stays.

The three metrics

LCP: Largest Contentful Paint

LCP measures how long it takes for the biggest visible element, usually a hero image or headline, to render. Good: 2.5 seconds or less.

INP: Interaction to Next Paint

INP measures how quickly the page responds when someone taps, clicks or types, across the whole visit. Good: 200 milliseconds or less. It replaced First Input Delay as a Core Web Vital in March 2024.

CLS: Cumulative Layout Shift

CLS measures unexpected movement, such as a button jumping because an image loaded late. Good: 0.1 or less.

Google assesses these at the 75th percentile of real visits, so three out of four visits need to meet each threshold.

What usually makes pages slow

  • Oversized or unoptimised images.
  • Too much JavaScript loading up front.
  • Web fonts that block rendering.
  • Third-party scripts such as chat widgets and trackers.
  • No caching or content delivery network (CDN).

Fixes that work

  • Serve modern, correctly sized images and load the hero image with priority.
  • Split code so each page loads only what it needs.
  • Reserve space for images, ads and embeds so the layout never jumps.
  • Delay non-essential third-party scripts until after the page is usable.
  • Host on infrastructure with a CDN.
tsx
import Image from "next/image";

export function Hero() {
  return (
    <Image
      src="/hero.jpg"
      alt="Team reviewing a new website design"
      width={1600}
      height={900}
      priority // the hero is usually the LCP element
      sizes="(min-width: 1024px) 1200px, 100vw"
    />
  );
}

Setting width and height also reserves the space, which protects your CLS score.

A simple routine

  1. 1Check real-visitor data in PageSpeed Insights or the Core Web Vitals report in Search Console.
  2. 2Find the element that is your LCP, usually the hero image or headline.
  3. 3Reduce the JavaScript that runs before the page is usable.
  4. 4Fix anything that shifts the layout.
  5. 5Re-test after every significant change, because new scripts and images bring problems back.
PerformanceCore Web VitalsNext.js

Share

D

DEVNTOM Team

We design and engineer websites, software and automation for businesses in Pakistan, Saudi Arabia, the UK and beyond.

All articles

Ready to build yours?

Tell us about your project. We reply with a plan, a timeline and a quote.

Start a project