How to Improve Core Web Vitals

Updated: September 22, 2026 · Category: Performance

Core Web Vitals are the three metrics Chrome uses to describe how a page feels for real visitors: how fast the main content appears (LCP), how quickly the page responds to interaction (INP), and how much the layout jumps around (CLS). They matter because they measure the parts of speed that users actually notice. This guide explains each metric, the fixes that reliably improve them, and — importantly — what a browser-based tool can and cannot tell you about another site’s vitals.

LCP — Largest Contentful Paint

LCP measures when the biggest visible element (usually a hero image, a heading, or a video poster) finishes rendering. It is a proxy for “am I seeing the page yet?”. Under 2.5 seconds is generally considered good.

Practical fixes, in order of payoff:

  1. Improve server response: faster hosting, caching, and preconnect to APIs you call early.
  2. Serve correctly sized, compressed images (WebP/AVIF where supported) and preload the LCP image.
  3. Remove render-blocking CSS and JavaScript from the critical path.
  4. Use an image CDN if you can; the extra latency from slow file delivery is a common hidden cause.

INP — Interaction to Next Paint

INP measures how quickly the page responds when a user clicks, taps or types — the worst interaction gets the focus. It replaced FID as the interaction metric because it captures slow responses across the whole session, not just the first one. Under 200 ms is generally considered good.

Practical fixes:

CLS — Cumulative Layout Shift

CLS measures unexpected movement of the page after it starts loading — the classic case being text jumping down when an ad or image finally reserves its space. Anything under 0.1 is considered good. The fix is reserving space, not making pages static:

What this site can and cannot measure for you

YourAnalystAI’s Website Speed Test measures the server-side parts of speed honestly: HTTP status, redirects, network timing, DNS records and response headers — with a transparently explained diagnostic score. What it cannot do is report another site’s Core Web Vitals, because those are field metrics aggregated from real visitors’ sessions, which a normal web page has no legitimate access to for cross-origin sites. When that limitation applies, the tool explicitly reports “Not available in this test” rather than inventing a number. For your own site, real vitals come from Google Search Console’s Core Web Vitals report or PageSpeed Insights once traffic accumulates.

A practical improvement workflow

  1. Get baseline numbers from Search Console (field data) and PageSpeed Insights (lab data).
  2. Fix the obvious: server response time, image sizes, render-blocking scripts.
  3. Re-test and confirm each change made things better in the same environment.
  4. Wait a week of real traffic and compare the 28-day percentiles in Search Console.
  5. Repeat. Vitals are a treadmill: every new widget, script or image can shift them.

FAQ

Where can I see my real Core Web Vitals?
Real visitor data (field data) is available in Google Search Console's Core Web Vitals report once enough visits accumulate, and in the PageSpeed Insights UI. Lab tools like Lighthouse show synthetic approximations from one environment.
Can a browser-based tool measure another site's Core Web Vitals?
No. Core Web Vitals are field metrics aggregated from real users' browsing sessions, which a normal page cannot access for other sites. That is why browsers display 'Not available in this test' for cross-origin sites.
I fixed everything but my score didn't change. Why?
Vitals are percentiles over a 28-day window. A change you deploy today only affects the tail of that window, and only for users who visit after the deployment. Wait, measure real traffic, and compare like-for-like.

Tools for this guide

Website Speed Test

Checks the server-side speed basics your vitals depend on.

Open Tool

HTTP Status Checker

Rule out redirect chains and status errors that slow everything.

Open Tool

DNS Lookup

Check DNS health, which adds latency before the first byte.

Open Tool