A fast page won't rescue thin content, but a slow, jittery one can quietly cap how well good content performs — and frustrate the readers you worked to attract. Core Web Vitals put numbers on that experience: three metrics for how quickly a page shows content, how fast it reacts to input, and how stable it stays while loading.
The takeaway up front: Core Web Vitals are a diagnostic for real user experience, not a ranking cheat code. Get them into the "good" range and you remove a handicap and hand readers a smoother page; treat them as the main event and you'll chase milliseconds while ignoring the relevance and content quality that decide most rankings. This guide covers what each metric measures, the exact thresholds, why your two testing tools disagree, and the concrete fixes for each score.
What Core Web Vitals actually measure
Core Web Vitals are three metrics, each targeting a different part of the experience:
- Largest Contentful Paint (LCP) — loading. The time from when the page starts loading to when the largest content element in the viewport (usually a hero image, a video poster, or a big block of text) finishes rendering. It answers: how long until the page looks basically loaded?
- Interaction to Next Paint (INP) — responsiveness. How quickly the page paints a response after a user interacts — a click, tap, or key press — measured across the whole visit and reported near the slowest interaction. In March 2024, INP replaced First Input Delay (FID), which only timed the first interaction. INP is stricter because it watches every interaction, not just the first.
- Cumulative Layout Shift (CLS) — visual stability. A unitless score summing how much visible content jumps position unexpectedly while the page loads — the annoyance of reaching for a button just as an ad shoves it down.
Together they approximate one honest question: does this page load fast, react fast, and stay put?
The thresholds that count as "good"
Search engines bucket each metric into good, needs improvement, and poor. The bar you're aiming for is good on all three:
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
| LCP (loading) | ≤ 2.5 s | 2.5 – 4.0 s | > 4.0 s |
| INP (responsiveness) | ≤ 200 ms | 200 – 500 ms | > 500 ms |
| CLS (visual stability) | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
Two details matter. First, the score is taken at the 75th percentile of page loads — it must be good for roughly three of every four visits, not just on your fast test laptop. Second, mobile and desktop are assessed separately; a page can pass on desktop and fail on mobile, and mobile is usually the harder and more important number. A URL counts as passing Core Web Vitals only when all three metrics sit in the good range at that 75th percentile.
Field data vs lab data — and which one search uses
You will see two different sets of numbers, and confusing them wastes a lot of effort.
Field data (real users). Collected from actual Chrome visitors through the Chrome User Experience Report (CrUX), and shown in Search Console's Core Web Vitals report and the "real users" panel of PageSpeed Insights. This is the data tied to Google's page-experience assessment, and it's a rolling 28-day view, so fixes take weeks to appear.
Lab data (a simulated load). A single controlled test in Lighthouse, the lab section of PageSpeed Insights, or Chrome DevTools. It's reproducible and ideal for debugging, but it's one load on one simulated device — not what your visitors feel. Notably, INP can't be fully measured in the lab; Lighthouse reports Total Blocking Time (TBT) as a stand-in.
Use lab data to diagnose and reproduce a problem, and field data to judge whether you actually fixed it. The number that affects search is the field number.
How to improve Largest Contentful Paint
LCP is usually dominated by one element — find it (PageSpeed Insights and DevTools both name it), then make it arrive sooner:
- Speed up the server. A slow Time to First Byte (TTFB) delays everything after it, so use caching, a CDN, and a capable host.
- Optimize the LCP image. Compress it, size it to its display dimensions, and serve WebP or AVIF — an oversized hero is the most common culprit.
- Never lazy-load the LCP image. Lazy-loading is for below-the-fold media; on the hero it delays the very element LCP measures, so add
fetchpriority="high"instead. - Cut render-blocking resources. Defer non-critical JavaScript and trim critical CSS so the browser can paint sooner.
How to improve Interaction to Next Paint
INP is a JavaScript problem far more often than a network one: long tasks block the main thread, so the page can't respond and repaint quickly:
- Break up long tasks. Split heavy JavaScript into smaller chunks and yield to the main thread so a click isn't stuck behind a 300 ms task.
- Audit third-party scripts. Tag managers, chat widgets, and analytics are frequent offenders — load them lazily or drop what doesn't earn its cost.
- Do less on interaction. Debounce input handlers, avoid forcing large layout recalculations, and don't re-render more than the interaction requires.
- Move heavy work off the main thread with web workers where feasible, and keep the DOM smaller so updates are cheaper.
How to improve Cumulative Layout Shift
CLS is the most fixable vital because the causes are mechanical — content arriving without reserved space:
- Give images and video dimensions. Set
widthandheight(or a CSSaspect-ratio) so the browser reserves the slot before the file loads. - Reserve room for ads, embeds, and iframes. Give their containers a fixed or minimum height so a late-loading ad can't shove the article down.
- Don't inject content above existing content. Banners and cookie notices that push the page down mid-read are classic shift sources; overlay them or reserve space.
- Preload fonts and set
font-display. Font swaps that change text size or line height cause shifts; a close fallback plus preloaded fonts reduce them.
Because CLS accumulates across the whole visit, keep testing as you scroll and interact, not only at first paint.
Do Core Web Vitals actually affect rankings?
Honestly: a little, and less than the hype suggests. Search engines have stated that page experience — of which Core Web Vitals are the measurable core — is a ranking signal, but a modest one that behaves more like a tiebreaker between pages of comparable relevance than a lever that lifts weak content. Where these metrics sit among the many signals that decide placement is covered in how search rankings work.
So set expectations accordingly. Moving from poor to good won't vault an irrelevant page up the results, but it removes a handicap — and the second-order effects are real: faster, stabler pages tend to hold attention, lower bounce, and convert better. Fix Core Web Vitals for your users first, and treat any ranking benefit as a bonus rather than the business case.
A quick Core Web Vitals audit
Run this loop on your most important templates — home page, a key landing page, an article:
- Measure the field data in Search Console's Core Web Vitals report to find URL groups rated poor or needs-improvement, mobile first.
- Diagnose in the lab with PageSpeed Insights or Lighthouse; note the flagged LCP element and any long main-thread tasks.
- Fix by metric — LCP (server plus hero image), INP (JavaScript), CLS (reserved space).
- Re-verify in the field after deploying, then wait a few weeks for the 28-day CrUX window to catch up.
Frequently asked questions
What is a good Core Web Vitals score?
Good means LCP of 2.5 seconds or less, INP of 200 milliseconds or less, and CLS of 0.1 or less, each measured at the 75th percentile of real visits and assessed separately for mobile and desktop. A page passes only when all three land in the good range — a single poor metric fails the set.
What replaced First Input Delay (FID)?
Interaction to Next Paint (INP) replaced FID in March 2024. FID only measured the delay of a user's first interaction; INP measures responsiveness across the whole visit and reports near the slowest one, which makes it a stricter, more representative measure of how a page feels to use.
Why do PageSpeed Insights and Search Console show different numbers?
They draw on different data. Lab tools run one simulated load, while Search Console and the field section of PageSpeed Insights report real-user data from the Chrome User Experience Report over a rolling 28-day window. Use lab data to debug; trust field data to judge real-world experience.
Do Core Web Vitals guarantee higher rankings?
No. They are a real but modest ranking signal that acts more like a tiebreaker than a boost, and no page-experience metric overrides relevance and content quality. Fix them to improve user experience and remove a handicap; treat any ranking movement as a bonus, not a promise — guaranteed rankings don't exist.
Next step
Core Web Vitals reward a specific, measurable kind of quality: pages that load quickly, respond instantly, and hold still while you read — and fixing them ships a better experience whether or not the ranking needle moves. Work the audit loop above on your worst-performing template first, one metric at a time. To track how those pages perform in search as you improve them, explore the tools and guides at sbranker.com.