A red Core Web Vitals report lands in your inbox. Your LCP is 4.2 seconds. You open your analytics, expecting a traffic crash — and see nothing. Sessions flat. Conversions flat. Rankings stable. So either the alert is lying, or years of being told that page speed is a ranking factor were oversold. After auditing dozens of sites and fixing my own share of slow pages, I can tell you the honest answer sits between those two extremes, and it's a lot less dramatic than the panic articles suggest.
Key Takeaways
- Core Web Vitals are real signals, but they act as tiebreakers — not as a lever that moves you from page 4 to page 1.
- LCP should stay under 2.5 seconds, CLS under 0.1, and INP under 200 milliseconds. FID is gone; INP replaced it officially in March 2024.
- Your Core Web Vitals report in Search Console reflects real user data, not lab scores. A perfect Lighthouse number can coexist with a failing field report.
- Most slow sites are slow for the same two reasons: images and third-party scripts. Fix those before rewriting anything.
- If your content is weak, speed won't rescue you. If your content is strong, speed is what tips a close contest.
- Free testing is enough to start. You don't need enterprise monitoring to find your worst LCP element.
Core Web Vitals and search rankings: what actually moves
Here's the thing most articles get wrong: they treat Core Web Vitals as a ranking factor the way backlinks are a ranking factor. That framing creates terrible decisions. You end up spending six weeks chasing a 300-millisecond improvement while your competitor outsells you with a page that loads in four seconds and answers the query in one paragraph.
Google's own framing is more precise. Page experience — which includes Core Web Vitals — doesn't stack on top of relevance. It breaks ties between pages that are already comparable in quality and intent match.
What are Core Web Vitals in SEO?
Core Web Vitals are three measurements of how a real visitor experiences your page, captured from actual browsers rather than a simulated test:
- LCP (Largest Contentful Paint) — how long until the main content, usually the hero image or the headline block, is visible. Target: 2.5 seconds or less.
- CLS (Cumulative Layout Shift) — how much the page jumps around while loading. Target: 0.1 or lower.
- INP (Interaction to Next Paint) — how quickly the page responds when someone taps, clicks or types. Target: 200 milliseconds or less.
INP is the one people are still catching up on. It replaced First Input Delay in March 2024, and the difference matters: FID measured only the delay before your page started reacting to the first interaction. INP measures the full response time across every interaction during the visit, and reports something close to the worst one. A page that felt fine under FID can fail INP without changing a single line of code.
Why the three metrics are not equal
In my experience, LCP does most of the ranking work. It's the metric users feel immediately, it correlates with bounce behaviour, and it's the one Google surfaces most prominently. CLS is next, because a jumping page is genuinely infuriating — I've watched testers abandon a checkout purely because the "Pay" button moved under their thumb as an ad slot loaded.
INP is the quiet one. It rarely shows up in complaints because users can't articulate "the main thread was blocked for 600 milliseconds." They just say the site feels sluggish and leave. But INP failures cluster on exactly the pages that matter commercially: product filters, search boxes, add-to-cart buttons, anything with a JavaScript listener attached.
The takeaway: fix LCP first for the biggest perceived win, then CLS because it's usually cheap to fix, then treat INP as a targeted job on your interactive pages only.
How much do Core Web Vitals really affect rankings?
Less than the panic, more than nothing. That's the honest answer, and I'd rather give it to you than a fake percentage.
What I can offer is pattern recognition from my own work. Across the sites I've audited, moving from failing to passing on all three metrics has never produced a ranking jump on its own. Never. What it has done is unlock movement on queries where I was already sitting in positions 4 through 8, competing against pages of similar depth and authority. In those situations, the speed gap was often the difference between holding position 6 and climbing to position 3.
On one content site I worked on, we cut LCP from 3.9 seconds to 1.8 by doing nothing more exotic than converting hero images to WebP and removing two unused tracking scripts. Six weeks later, roughly a third of the tracked keywords had improved by one or two positions. Some hadn't moved at all. A few had dropped, which I still can't fully explain and which I suspect had nothing to do with speed.
The tiebreaker mental model
Think of it this way. Relevance gets you into the room. Authority decides how close to the front you sit. Core Web Vitals decide who gets the better chair when two of you are equally qualified.
That model explains the anomalies. A site with red Core Web Vitals and thin content doesn't rank despite being slow — it ranks because its content matches intent better than everyone else's. Speed was never the winning card; it was one card in a hand it didn't need to play.
When speed is not your bottleneck
I once inherited a client with an LCP of 5.1 seconds across the board. Red everywhere. Their organic traffic was steady and their conversion rate was above their sector's norm. I flagged the speed problem, they deprioritised it for eight months, and nothing changed.
Was I wrong to flag it? No. But I was wrong to lead with it. Their bottleneck was content coverage — they were missing entire topic clusters their competitors owned. Fixing LCP from 5.1 to 2.2 would have gained them maybe a fraction of a position on queries they were already ranking for. Publishing eleven well-researched pages moved their traffic more in one quarter than speed ever would have.
So before you open a performance audit, ask whether speed is genuinely costing you anything. If your rankings are held back by missing content, thin pages, or weak internal linking, Core Web Vitals are a distraction dressed up as productivity.
How to check your Core Web Vitals score for free
You don't need a paid tool to start. You need two free ones, used correctly, and an understanding of why they disagree.
The free Core Web Vitals test that matters
Go to PageSpeed Insights and enter a URL. You'll get two sets of numbers on the same screen: field data at the top, lab data below. Most people scroll straight to the Lighthouse score, which is the wrong instinct.
The field data — pulled from real Chrome users over the past 28 days — is what Google actually uses. The lab data is a single simulated run on a throttled connection. They measure different things and they will disagree, sometimes violently.
- Read the field data first. If it's green across all three metrics, you're done. Close the tab.
- If field data is red but lab data is green, you have a real-user problem a synthetic test can't reproduce. Usually this means scripts loading late, ad slots firing unpredictably, or a specific device/browser combination behaving badly.
- If lab data is red but field data is green, relax. Your users are fine. The simulation is being pessimistic about a connection nobody actually has.
- Check mobile separately. Desktop performance tells you almost nothing about your phone experience, and Google indexes the mobile version of your site.
The Core Web Vitals report in Search Console
Search Console groups your URLs by status and — this is the useful part — by issue type. It tells you which URLs share the same underlying problem. That clustering is worth more than any single score, because it converts a list of four thousand failing pages into perhaps three fixable root causes.
Work through groups, not pages. If 1,200 URLs fail on the same LCP element, one fix resolves 1,200 URLs.
The gap between field data and lab data
This divergence trips up more people than any other part of the process. Field data is a trailing 28-day average across your entire audience, including that person on a three-year-old Android phone on a train. Lab data is one run on hardware nobody owns.
My rule: field data drives decisions, lab data drives diagnosis. Use the field numbers to decide whether you have a problem. Use the lab waterfall to find out what's causing it. Never use a lab score to declare victory.
How to fix Core Web Vitals in the right order
Most of the gains come from a short list of fixes, and most of them are boring. Here's the sequence I follow.
Fixing LCP
Nine times out of ten, your LCP element is an image, and it's slow because it's a 900-kilobyte PNG being scaled down in the browser. Convert to WebP or AVIF, serve correctly sized files, and add a preload hint for the hero image only. That single change accounted for most of the 2.1-second improvement I mentioned earlier.
If your LCP is text, the culprit is usually a web font or a render-blocking stylesheet. Fonts can be preloaded or swapped; a stylesheet can be inlined if it's small.
Fixing CLS
Layout shift is almost always caused by content that arrives without reserved space: images without width and height attributes, ad slots that expand, cookie banners that push the page down, and custom fonts that swap to a different-sized fallback. Set explicit dimensions. Reserve slots for anything injected dynamically. It's unglamorous work and it's usually a two-hour job.
Fixing INP
INP failures trace back to long JavaScript tasks blocking the main thread. The usual suspects, in my order of suspicion:
- Third-party scripts — chat widgets, heatmaps, tag managers. One client had a session-recording tool adding 400 milliseconds to every click. Removing it fixed INP on its own.
- Heavy event handlers on inputs and buttons that run synchronously on every keystroke.
- Enormous DOM trees, which make every style recalculation expensive.
The pattern across all three metrics: third-party scripts and unoptimised images cause the majority of failures, and both are things you can fix without touching your framework.
Common mistakes, and what to do instead
| Mistake | What it costs you | Better approach |
|---|---|---|
| Chasing a 100 Lighthouse score | Weeks of work for a number Google ignores | Get all three field metrics green, then stop |
| Ignoring mobile | Rankings judged on a version you never tested | Test mobile first, always |
| Optimising before checking demand | Effort spent on pages nobody visits | Sort Search Console URLs by impressions, fix the top 20 |
| Adding a performance plugin and hoping | Marginal gains, new conflicts, no diagnosis | Find the specific failing element, fix that |
One mistake I made early on deserves its own mention: I optimised an entire site before checking which pages actually received traffic. Roughly 80% of the URLs I fixed had near-zero impressions. I'd have gotten the same ranking outcome by fixing twenty pages instead of four hundred.
Where this leaves you
Core Web Vitals are worth fixing. They're also one of the most over-invested areas in technical SEO, because they're measurable, they come with a dashboard, and dashboards feel like progress.
So here's the question I'd leave you with. If your three metrics were suddenly all green tomorrow, would your traffic actually change? For some of you, yes — you're sitting in a tight contest and speed is the separator. For others, the honest answer is no, and the hours would be better spent writing the pages you've been avoiding.
Fix the failures that affect your highest-traffic templates. Ignore the rest. And if a red alert in Search Console is your main reason for opening an audit, check whether your content is the real bottleneck first — it usually is.