Core Web Vitals in 2026: How to Finally Pass INP
INP is the most failed Core Web Vital in 2026, and 43% of sites still miss it. Here is how to fix interactivity, LCP and CLS so Google can actually rank you.
Most sites that fail Core Web Vitals in 2026 fail on one metric, and it is the newest one. Interaction to Next Paint, or INP, replaced First Input Delay in March 2024, and it turned out to be a much harder test. FID measured how fast a page started responding to the first tap. INP measures how fast it responds to every interaction, all the way through to the next frame painted on screen. That is a far more honest picture of how a page feels, and a far less forgiving one. Right now 43% of sites still miss the 200 millisecond threshold, which makes INP the most commonly failed Core Web Vital on the web.
This matters beyond a green score in a dashboard. Page experience is a confirmed ranking signal, and sites that pass all three Core Web Vitals see measurable lifts in organic position alongside lower bounce rates and stronger engagement. The numbers reward you twice: Google ranks you higher, and the visitors who arrive stay longer because the page does not fight them.
Here is how the three metrics work in 2026, why INP is the one that will hurt you, and the changes that actually move it.
The three numbers Google scores
Core Web Vitals is three metrics, each with a "good" threshold measured at the 75th percentile of your real visitors.
- LCP (Largest Contentful Paint) measures loading. Good is under 2.5 seconds. It marks when the biggest element in the viewport, usually a hero image or headline, finishes rendering.
- INP (Interaction to Next Paint) measures responsiveness. Good is under 200 milliseconds. It captures the worst noticeable delay between a user acting and the page visibly reacting.
- CLS (Cumulative Layout Shift) measures visual stability. Good is under 0.1. It penalises content that jumps around as the page loads.
Pass all three at the 75th percentile and you clear the bar. Miss one and the whole assessment fails, which is why the most-failed metric deserves most of your attention.
Fixing INP: give the main thread room to breathe
INP is almost always a JavaScript problem. When a user clicks, the browser needs the main thread free to run your handler, update the DOM and paint. If a long task is already hogging that thread, the response waits, and the user feels the lag. Fixing INP means doing less work on the main thread, and doing it in smaller pieces.
- Break up long tasks. Any task over 50 milliseconds blocks interaction. Split heavy work and yield back to the browser between chunks so a pending click can jump the queue.
- Defer non-critical work. Analytics, third-party widgets and below-the-fold logic do not need to run during the first interactions. Push them to idle time.
- Trim hydration. On a framework site, shipping less client JavaScript is the highest-leverage fix there is. Server-render what you can and hydrate only the parts that are genuinely interactive.
- Keep the DOM lean. A massive, deeply nested DOM makes every style and layout recalculation slower, which inflates INP on every interaction. Simplify the tree.
A green lab score is not a pass
Lighthouse runs INP in a lab on a clean machine, but Google ranks you on field data: the real interactions of real users on mid-range phones and patchy networks. A perfect lab score next to failing field data is common and means nothing for rankings. Trust the Chrome User Experience Report, not the local run.
LCP and CLS: the quieter wins
INP gets the headlines, but LCP and CLS are usually cheaper to fix, so clear them first.
For LCP, find the element the browser treats as largest and make it appear fast. Serve the hero image in a modern format, size it correctly, and preload it. Cut render-blocking CSS and JavaScript in the head. On a server-rendered stack, most LCP problems come down to a slow server response or a hero image the browser discovers too late.
For CLS, reserve space before content arrives. Set explicit width and height on images and embeds, avoid injecting banners above existing content, and load web fonts in a way that does not reflow the page when they swap in. CLS is mostly a discipline problem, not a performance one, and it stays fixed once you build the habit.
Field data beats lab scores
The single biggest mistake teams make is optimising for the lab number and never checking the field. Install the web-vitals library, send real INP, LCP and CLS values to your analytics, and watch the 75th percentile over time. That is the data Google scores you on, and it is the only number that moves rankings.
If your stack is Next.js, the framework gives you most of the wins by default, but only if you use it well. Our Next.js SEO playbook covers the rendering choices that keep LCP low, and the practical guide to React performance digs into the main-thread work that drives INP. Fix the field data, and the rankings follow.