/lesson-14

Core Web Vitals: Improving Speed and User Experience

Understand Core Web Vitals (LCP, INP, CLS): what each metric measures, the "good" thresholds, and practical ways to improve speed and stability.

Lesson 14 of 3012 min readUpdated Sep 27, 2026

Key takeaways

  • Core Web Vitals measure loading (LCP), responsiveness (INP) and visual stability (CLS) for real users.
  • "Good" means LCP within 2.5 s, INP within 200 ms and CLS under 0.1.
  • Common fixes: optimise and don't lazy-load the hero image, break up long JavaScript tasks, and set image dimensions.
  • Check field data in PageSpeed Insights and Search Console; good scores help, but relevance still matters most.

In the past, "speed" was a vague concept. Did the site load fast? Today, Google has quantified exactly what "fast" and "smooth" feel like to a user. These metrics are called Core Web Vitals (CWV).

Since becoming a ranking signal, CWV has shifted the focus from raw server speed to perceived user experience. It’s not just about how fast the code loads; it’s about how soon the user can actually use the page.

Three specific metrics make up the Core Web Vitals. To pass the assessment, a page must score "Good" in all three.

1. LCP (Largest Contentful Paint) – Loading Performance

"How fast does the main stuff appear?"

LCP measures the time it takes for the largest visible element (usually a hero image, video, or main headline) to fully load and appear on the screen. It tells the user: "This page is actually happening."

The Thresholds

  • Good: ≤ 2.5 seconds
  • Needs Improvement: ≤ 4.0 seconds
  • Poor: > 4.0 seconds

Common Causes of Poor LCP

  • Slow Server Response Times: If your hosting is cheap or overloaded, the browser waits too long to receive data.
  • Resource Load Delay: The hero image is not optimized or is loaded via lazy-loading (which should be avoided for the top image).
  • Render-Blocking JavaScript: The browser pauses building the page to read a script file.

How to Improve

  • Optimize Images: Compress images (WebP format) and ensure the hero image is not lazy-loaded.
  • Use a CDN: A Content Delivery Network serves images from a server closer to the user physically.

2. INP (Interaction to Next Paint) – Interactivity

"Does the page freeze when I click?"

Note: INP officially replaced First Input Delay (FID) as the core metric in March 2024.

INP observes the latency of all interactions a user makes with a page (clicks, taps, and key presses) throughout their entire visit. It measures the time between the user's action and the browser's ability to paint the next frame showing the result (e.g., opening a menu or expanding an accordion).

The Thresholds

  • Good: ≤ 200 milliseconds
  • Needs Improvement: ≤ 500 milliseconds
  • Poor: > 500 milliseconds

Common Causes of Poor INP

  • Heavy JavaScript Execution: The browser’s "main thread" is too busy processing code to respond to the user's click.
  • Complex Layouts: The browser takes too long to re-draw the page after an interaction.

How to Improve

  • Break Up Long Tasks: Developers can split large chunks of JavaScript into smaller pieces so the browser can breathe.
  • Optimize Event Handlers: Ensure that the code triggered by a click is lightweight and fast.

3. CLS (Cumulative Layout Shift) – Visual Stability

"Does the content jump around unexpectedly?"

We have all experienced this: You go to click a button, but suddenly an ad loads above it, pushing the content down, and you accidentally click the wrong thing. This is a layout shift. CLS measures the sum total of all unexpected layout shifts that occur during the lifespan of the page.

The Thresholds

  • Good: ≤ 0.1
  • Needs Improvement: ≤ 0.25
  • Poor: > 0.25

Common Causes of Poor CLS

  • Images Without Dimensions: If you don't tell the browser width="800" and height="600", it doesn't know how much space to reserve.
  • Ads and Embeds: Ad banners that dynamically resize often push content down.
  • Web Fonts: Sometimes the text is hidden until the custom font downloads (FOIT) or swaps styles (FOUT), causing the line height to change.

How to Improve

  • Set Dimensions: Always include width and height attributes on images and video elements.
  • Reserve Space: If you have a dynamic ad slot, reserve a specific box size for it in CSS so the content doesn't move when the ad loads.

Summary Table: The Metrics at a Glance

MetricFocus"Good" TargetUser Feeling
LCPLoadingUnder 2.5s"It's here."
INPResponsivenessUnder 200ms"It works."
CLSStabilityUnder 0.1"It's steady."

How to Measure Your Score

You do not need to guess. Google provides free tools to test your site against these standards:

  • PageSpeed Insights: The go-to tool for a quick snapshot. It provides both "Lab Data" (simulated) and "Field Data" (real user data).
  • Google Search Console: The "Core Web Vitals" report shows you which URLs on your site are failing and groups them by issue type.
  • Lighthouse: A developer tool built into the Chrome browser (Right-click > Inspect > Lighthouse) for local testing.

/wizard

Put the course into practice

pSEO Wizard reads your website and writes one landing page per search, using only facts from your site.

Make my free page

Your first page is free. No card needed.