Core Web Vitals in 2026: What Actually Moves Rankings Now
Core Web Vitals stopped being a nice-to-have years ago. In 2026 they are baked into how search engines judge page experience, and the metrics themselves have shifted. If your team is still optimizing for First Input Delay, you are measuring the wrong thing.
The three metrics that matter
There are three Core Web Vitals you must track, and each has a "good" threshold measured at the 75th percentile of real users:
- Largest Contentful Paint (LCP) — loading. Good is under 2.5s, needs improvement up to 4.0s, poor beyond that.
- Interaction to Next Paint (INP) — responsiveness. Good is under 200ms, needs improvement up to 500ms, poor beyond that. INP replaced FID entirely in 2024 and is now non-negotiable.
- Cumulative Layout Shift (CLS) — visual stability. Good is under 0.1, needs improvement up to 0.25, poor beyond that.
The subtlety people miss: you must pass all three at the 75th percentile, on both mobile and desktop, using field data (real users) rather than lab data. A green Lighthouse score in your dev environment means nothing if your Chrome User Experience Report data is red.
Fixing LCP
LCP is almost always the largest image or a hero text block. Work through this order:
- Find the LCP element. Run the page through our PageSpeed Insights tool at
/tools/performance— it names the exact element. - Preload it. Add
<link rel="preload" as="image">for the hero image, or preconnect to the font host. - Serve modern formats. WebP or AVIF, correctly sized, with
fetchpriority="high"on the LCP image. - Kill render-blocking resources. Defer non-critical CSS and JavaScript. Inline the critical CSS for above-the-fold content.
A common win: sites that lazy-load everything accidentally lazy-load the LCP image, adding 800ms+. Never lazy-load above-the-fold media.
Fixing INP
INP is the hardest of the three because it measures every interaction, not just the first. High INP usually means long JavaScript tasks blocking the main thread.
- Break up long tasks. Anything over 50ms is a long task — split with
setTimeout,requestIdleCallback, orscheduler.postTask(). - Debounce expensive event handlers, especially on input and scroll.
- Move heavy work to a web worker so the main thread stays free to paint.
- Audit third-party scripts. Chat widgets, tag managers, and A/B testing tools are the usual culprits.
A quick diagnostic
Open Chrome DevTools, record a Performance trace, and interact with the page. Look for tasks flagged in red. If a single click triggers a 400ms task, that click's INP is 400ms — poor.
Fixing CLS
Layout shift is the most preventable vital:
- Always set explicit
widthandheight(oraspect-ratio) on images and video. - Reserve space for ads, embeds, and dynamically injected banners.
- Load fonts with
font-display: optionalorswapplus a matched fallback to avoid text reflow. - Never insert content above existing content unless it's a response to user interaction.
Measure with real data, not vibes
Lab tools are diagnostic; field data is the truth. Wire up the Search Console integration at /search-console to pull the Core Web Vitals report, which groups your URLs by status. Then use /tools/performance for the deep per-page diagnosis and re-check after each deploy.
Run a Full Site Audit at /full-site-audit monthly. It flags pages that regressed on any vital so you catch problems before they spread across a template. Because most sites share templates, one fix on a product-page template often lifts thousands of URLs at once — that leverage is where the ROI lives.
A realistic 30-day plan
Week 1: Pull field data from Search Console, segment failing URLs by template. Week 2: Fix LCP on the top three templates by traffic. Week 3: Attack INP — audit third-party JS and break up long tasks. Week 4: Sweep CLS across all templates, then re-measure. CrUX data updates on a 28-day rolling window, so give your fixes a full month before judging them.
Core Web Vitals reward disciplined engineering, not clever tricks. Hit the thresholds, keep them green through every release, and you remove page experience as a reason for a competitor to outrank you.
Devin Okafor
Technical SEO Lead
Writing about SEO and AI-search strategy for the SEO Roger blog.