Technical SEOAdvanced

Total Blocking Time

Total Blocking Time is a lab metric adding up how long the main thread is blocked by long tasks during load. It is a lab stand-in for responsiveness.

Also called: TBT

Total Blocking Time measures how much time, between First Contentful Paint and the point a page becomes reliably interactive, the browser's main thread is blocked long enough to delay responses to input. For every task longer than 50 milliseconds, the time beyond 50 ms counts as blocking. TBT is a lab metric reported by Lighthouse; because it needs no user interaction, it is a useful proxy for the field metric Interaction to Next Paint.

How it is calculated

The browser runs JavaScript, layout and painting on one main thread. A task over 50 ms is a long task. Only the excess counts: a 70 ms task adds 20 ms of blocking time, a 250 ms task adds 200 ms. TBT is the sum across all long tasks in the measurement window.

Tasks: 30 ms, 70 ms, 250 ms, 45 ms
Blocking portions: 0 + 20 + 200 + 0
TBT = 220 ms

What good looks like

web.dev suggests aiming for a TBT under 200 milliseconds when tested on average mobile hardware. Lighthouse runs on simulated mobile conditions by default, so desktop machines can show much lower numbers than real phones experience.

Reducing TBT

The fix is almost always less JavaScript, or JavaScript broken into smaller pieces. Look at the Lighthouse diagnostics for main-thread work and long tasks, then target the biggest scripts.

  • Remove or delay third-party tags that are not needed at load
  • Split bundles so each page loads only what it uses
  • Reduce hydration cost by hydrating only interactive components
  • Break up long tasks by yielding to the main thread

Example

Chat widget, analytics and A/B testing

Lighthouse reports high TBT on Saltmarsh's homepage. The performance panel shows three third-party scripts, a chat widget, an A/B testing tool and a session recorder, each running long tasks at load. Loading the chat widget only when a user clicks the chat button and moving the recorder to load after interaction cuts TBT substantially in repeat lab tests.

Common mistakes

Testing only on a fast laptop

TBT depends on CPU speed. Use Lighthouse's mobile throttling or a mid-range device.

Treating TBT as a ranking metric

Google uses field data, including INP, for Core Web Vitals. TBT is a diagnostic to guide fixes.

Questions

No. TBT only measures loading. INP covers every interaction during a visit, including ones long after load.

Know the terms. Now win the searches.

We find the searches your buyers make, then build, publish and improve the pages that win them.