What Core Web Vitals actually do for rankings.
Six years after Google\'s Page Experience announcement, Core Web Vitals (CWV) are still one of the most consistently misunderstood signals in SEO. Two equal-and-opposite myths circulate. First: "CWV is the most important ranking factor; if you fail CWV, nothing else you do matters." Second: "CWV barely affects rankings; it\'s a vanity metric Google uses to make us optimise for Chrome." Neither is right.
What CWV actually do, based on what Google has stated publicly, what we observe in our own ranking data across hundreds of client engagements, and what John Mueller and Martin Splitt have repeatedly confirmed in office-hours sessions: CWV act as a multiplier on the rest of the ranking signal stack. A page with strong content and great CWV ranks higher than the same page with poor CWV. A page with poor content and great CWV does not rank at all. The multiplier is meaningful, often the difference between page-one and page-two on competitive queries, but it is not the dominant signal.
Practically, that means CWV is something you should care about precisely, not something you should obsess over. The goal is not "perfect 100 Lighthouse score". The goal is "comfortably-good field data on the templates that account for most of your organic traffic". The rest of this article is about how to do that without wasting cycles on the wrong things.
LCP, INP, CLS, what each one actually measures.
The three Core Web Vitals are, despite the rebranding history, the same three things they always measured: how long until the page looks loaded, how long after a user does something before the page responds, and how much the page jumps around while loading. Each has a precise definition that matters for the optimisation work.
LCP (Largest Contentful Paint). The time from navigation start to when the largest visible element above the fold has rendered. Usually a hero image, a video poster, a large text block, or in some cases a large CTA button. The 2026 "Good" threshold is under 2.5 seconds at the 75th percentile of field data. The threshold we hold our clients to is under 2.0 seconds, the buffer matters because field data fluctuates with network conditions and you do not want to be living on the edge of the threshold.
INP (Interaction to Next Paint). The metric that fully replaced FID (First Input Delay) in March 2024. Where FID measured only the delay before the browser could start processing an input event, INP measures the full latency of every user interaction throughout the visit, click, tap, key press, and reports the worst (or near-worst, technically the 98th percentile of interactions on the page). The 2026 "Good" threshold is under 200ms. The threshold we hold our clients to is under 150ms on hero templates. INP is the metric most modern JavaScript-heavy sites are quietly failing in 2026.
CLS (Cumulative Layout Shift). A unitless measure of how much visible content shifts position during the loading and interactive phases of the page. Late-loading ads, web fonts that swap, async-injected images without dimensions, and interstitial banners are the usual suspects. The 2026 "Good" threshold is under 0.1. The threshold we hold our clients to is under 0.05. CLS is the cheapest to fix and the easiest to keep good once fixed; failures here usually indicate carelessness rather than a deep technical problem.
Why INP is the metric most teams are quietly failing.
FID was easy to pass. It only measured the delay before the browser could start processing the very first user interaction, and on most sites that delay was already short. Most sites passed FID without doing any specific work for it.
INP is different. It measures every interaction, throughout the visit, and reports a value close to the worst one. Every dropdown, every accordion expand, every form input, every "Add to cart" click, every nav-menu open, every router transition. If any of those interactions causes a long task on the main thread, INP fails.
The result: sites that comfortably passed FID at 50ms now fail INP at 350ms, and the failures are not in the obvious places. The patterns we see most often:
- Heavy event handlers. A click handler that calls
setStatein React, which triggers a re-render of a large component tree. The handler itself is fast; the re-render that follows is the long task. - Synchronous third-party scripts. Tag managers, analytics, A/B testing scripts that hold up the main thread on interaction.
- Hydration mismatches. Server-rendered pages that hydrate slowly, where the first interaction in the first second of page life triggers a much longer task than later ones.
- Excessive use of
useEffectchains. A click triggers a state change, which triggers an effect, which triggers another state change, which triggers another effect. Each link in the chain is a render cycle.
The fix is not "delete React". The fix is profile the actual interactions that are failing in field data, identify the long tasks, and apply targeted patterns: useTransition for non-urgent state updates, requestIdleCallback for non-critical work, breaking large components into smaller ones, deferring third-party scripts. None of it is dramatic. All of it is template-by-template, interaction-by-interaction.
Field data is what counts, lab data is what helps you ship.
The single most common mistake in CWV work is optimising for Lighthouse and shipping. Lighthouse runs in a controlled lab environment, on a single virtual device, with a single throttled connection, with no real users. The field data that Google actually uses for ranking comes from CrUX, the Chrome User Experience Report, an anonymised dataset of CWV measurements from real users on real devices on real connections.
The two will diverge. Sometimes wildly. We have audited sites with Lighthouse scores in the 90s that fail CWV in field data, and sites with Lighthouse scores in the 60s that pass field data comfortably. The reason is simple: the lab tests one environment, the field tests yours. If your audience is mostly on mid-tier Android devices on shared 4G, your field LCP will be much worse than a Lighthouse score run on a simulated Moto G4.
The correct workflow:
- Use Lighthouse in CI as a regression-prevention tool. Block PRs that introduce a sudden 20-point Lighthouse drop. Do not block on absolute Lighthouse score.
- Validate every change against field data within 28 days. CrUX rolls on a 28-day window, so you need that long to see the result of any meaningful change.
- Read field data per-template, not site-wide. Search Console\'s Page Experience report and PageSpeed Insights both let you slice by URL group; use those slices, the site average will mask the templates that matter.
- Use Real User Monitoring (RUM) for the templates that matter most. Cloudflare Web Analytics, Vercel Analytics, or a self-hosted tool like Plausible with RUM. The data is more recent than CrUX (which has a 28-day lag), and lets you correlate CWV with actual conversion behaviour.
The targets that earn the multiplier.
Hitting the official "Good" thresholds for all three metrics gets you over the line. Hitting the targets we hold our clients to, comfortably below the official thresholds, earns the multiplier and gives you headroom against future tightening of the thresholds.
For 2026, on the page templates that account for the majority of your organic landings:
- LCP at the 75th percentile of mobile field data: under 2.0s. (Official Good threshold: 2.5s.)
- INP at the 75th percentile of mobile field data: under 150ms. (Official Good threshold: 200ms.)
- CLS at the 75th percentile of mobile field data: under 0.05. (Official Good threshold: 0.1.)
- TTFB (a precursor metric, not a CWV but predictive of LCP) under 600ms for the geographies you serve.
If you are running a Cloudflare-cached HTML site with reasonable image hygiene, those targets are achievable for most templates inside a quarter of focused work. If you are running a JavaScript-heavy SaaS dashboard with hundreds of components hydrating on every page, INP is going to take longer and require architectural changes, not configuration tweaks.
The most common ways teams misread CWV data.
From auditing roughly 200 sites in the last 24 months, the same misreads keep recurring. If you are looking at your CWV data and scratching your head, one of these is probably the issue.
- Reading site-wide averages instead of per-template. A site with 1,000 fast blog pages and 50 slow product pages can show "good" CWV at the site level while the product pages, which are the ones that actually matter for revenue and rankings, are quietly failing.
- Reading Lighthouse scores as ranking signals. Lighthouse is a tool. CrUX is the ranking input. Optimise lab, validate field.
- Confusing 75th percentile with median. Field data CWV uses the 75th percentile, that means three out of four real-user sessions need to be under the threshold, not just half. The 75th percentile is always worse than the median, sometimes by 50–100%.
- Ignoring desktop CWV. Mobile is the majority of traffic and the dominant ranking signal, but for B2B sites with desktop-heavy audiences, desktop CWV still matters and is still a ranking input. Both should be monitored.
- Reacting to single-day spikes. CWV field data is noisy at the daily level. A single bad day in CrUX is not a problem. A 28-day trend below the threshold is.
- Treating CWV as a one-off project. CWV regression happens constantly. A new third-party tag, a font swap, a new image without dimensions, all of it can quietly degrade CWV inside a month. CWV needs a quarterly check, not a once-a-year fix.
CWV is the easiest performance lever to keep working, if you treat it right.
Core Web Vitals are not glamorous. They are not the kind of work that produces a clear before-and-after story for a marketing dashboard. What they are is a precise, narrow, multiplicative signal that, kept in good health, reliably lets the rest of your SEO work do its job. Kept in poor health, they sit silently in the background and cap how high any of your content can rank, regardless of how good the content actually is.
The teams that win on CWV in 2026 are not the teams that ran a giant Lighthouse-score sprint two years ago. They are the teams that put a quarterly cadence on it, monitor field data per-template, fix regressions inside the quarter they appear in, and treat performance as a craft, not a checklist. That is the whole game.
If your team would benefit from a clear-eyed read of where your CWV actually sit today, by template, by geography, by device, that is exactly the kind of audit we run on every technical SEO engagement at horatos.ai. No commitment, no theatre, just the same diagnostic we use for clients.