Lesson 8 of 1713 minIntermediate

Core Web Vitals and Page Speed

Inp Diagnosing Interaction to Next Paint

Understand what INP measures beyond first input and how to reduce main-thread blocking during interactions.

Reading time · unlocks the next lesson

0:00 / 5:00 · paused

What INP actually measures

Unlike its predecessor First Input Delay, which only measured the first interaction, INP measures the latency of every click, tap and key press throughout the page's lifetime and reports a representative worst-case value. This makes it much harder to game and far more reflective of the frustration users feel with sluggish menus, filters or forms.

INP breaks down into input delay (time before the browser starts processing), processing time (running event handlers), and presentation delay (time to paint the next frame). Each stage is affected by different causes and needs a different fix.

Diagnosing with long tasks

Any JavaScript task blocking the main thread for over 50ms is classed as a 'long task' and directly increases input delay for anything the user does during it. Chrome DevTools' Performance panel flags these in the flame chart; the Total Blocking Time lab metric approximates their cumulative effect.

Fixing common INP culprits

Large third-party scripts, such as chat widgets, ad tags and analytics tags loaded synchronously, are frequent offenders and should be deferred or loaded after the page is interactive. Heavy event handlers, such as ones that re-render large lists on every keystroke, should be debounced or broken into smaller chunks using techniques like yielding to the main thread between iterations.

  • Defer or async-load third-party scripts
  • Debounce input handlers on search and filter fields
  • Break large JavaScript tasks into smaller yielding chunks
  • Avoid layout thrashing from reading and writing the DOM in the same loop

Measuring improvement correctly

Because INP requires real interactions, it cannot be reliably tested in a single automated lab run the way LCP can; rely on the Chrome User Experience Report field data or manual interaction testing in DevTools with the Performance panel's interaction timeline.

Reviewing long tasks in RankAudit

RankAudit's script profiler lists third-party and first-party scripts ranked by their contribution to main-thread blocking time across your tested pages, making it straightforward to identify which vendor tag to challenge first.

Key takeaways

  • Remember INP scores every interaction, not just the first
  • Find long tasks over 50ms in DevTools' Performance panel
  • Defer third-party scripts that block the main thread
  • Debounce heavy handlers on search and filter inputs

Why this lesson matters

This lesson belongs to Core Web Vitals and Page Speed, the part of Technical SEO Excellence where the goal is: diagnose and resolve the specific rendering and interaction bottlenecks that drag down core web vitals.

Read it once, then do it straight away on a real site inside RankAudit. Nothing here is theory for its own sake — every step produces something you can show a client.

Do it now

  1. 1Open RankAudit with sample data already loaded, so you are not stuck on setup.
  2. 2Crawl a site and triage the issue list.
  3. 3Use RankAudit's field and lab data views to trace each Core Web Vital back to the exact element or script causing it.