
Interaction to Next Paint (INP) stopped being "the new metric" a while ago. It replaced First Input Delay as a Core Web Vital on March 12, 2024, and FID was fully retired that September. So if you are still tuning your WordPress site for FID, you are optimizing for a metric Google no longer looks at. This guide explains what INP actually measures, why WordPress sites in particular tend to score badly on it, and exactly what to change to fix it.
INP measures responsiveness. Specifically, it watches every tap, click, and key press a visitor makes during a page visit, measures how long each one takes to produce a visible response on screen, and reports (roughly) the worst one. It is a field metric: it reflects what real people experienced, not a single synthetic test run.
The thresholds are:
The single most useful thing to understand is that every interaction's latency breaks into three parts, and the fix you reach for depends entirely on which part is slow:
On most WordPress sites, the villain is input delay. The browser wanted to respond instantly, but the main thread was tied up parsing and executing JavaScript, so the click sat in a queue.
This trips people up constantly. Open Lighthouse or the lab section of PageSpeed Insights and you will not get a real INP score, because a lab run has no human poking at the page. Lab tools can only estimate responsiveness using Total Blocking Time as a proxy. TBT is a decent early-warning signal, but it is not INP.
To see your real INP, use field data:
Crucially, the CrUX-based field data only appears once your URLs have enough real Chrome traffic. Low-traffic pages may show no INP at all, which is a reporting gap, not a passing grade.
INP is almost entirely a JavaScript story, and the typical WordPress stack ships a lot of JavaScript. The usual offenders:
The pattern is consistent: the page looks finished, the user clicks something, and a long task that has nothing to do with that click makes them wait.
The highest-leverage move is to stop loading non-essential scripts until the user actually needs them.
If your own handlers are slow, the browser cannot respond between them. The fix is to yield to the main thread so the browser can paint. The modern API is scheduler.yield() (with a setTimeout(0) fallback for older browsers), which lets a long handler pause, hand control back so the interaction can render, and then resume. For plugin-heavy sites you cannot rewrite, deferring or removing the offending script is usually more practical than patching its internals.
A huge DOM makes every paint expensive. Switching from a page builder to a lightweight, block-based theme — GeneratePress, Kadence, or Blocksy — typically cuts both the script payload and the node count dramatically. If a full rebuild is off the table, at least audit for unused builder widgets, nested containers, and animation libraries you are not using.
You do not need to do everything. Work in this sequence and re-check field data after each release cycle:
Because INP is collected from real users over a 28-day window, do not expect your score to flip overnight after a fix. Give it a few weeks of fresh traffic before you judge whether a change worked, and resist the urge to ship five changes at once — you will not know which one helped. INP rewards the unglamorous work of shipping less JavaScript, and on WordPress that almost always means fewer scripts running before the user touches the page.
Site
Tools
We do not sell your email. We do not spam.
© 2026 RevealTheme. All rights reserved.