PERFORMANCE · SEO GLOSSARY
Total Blocking Time (TBT)
A Lighthouse lab metric measuring the total time the main thread is blocked by long tasks between First Contentful Paint and Time to Interactive — a proxy for interactivity that correlates with INP in the field.
Definition
Total Blocking Time (TBT) measures the cumulative duration of "long tasks" (JavaScript tasks that take longer than 50ms) on the main thread between First Contentful Paint (FCP) and Time to Interactive (TTI). Only the portion of each long task beyond 50ms counts toward TBT — a 90ms task contributes 40ms to TBT; a 200ms task contributes 150ms. TBT is a Lighthouse lab metric and a Core Web Vitals surrogate: it's not one of the three Core Web Vitals (LCP, INP, CLS), but it is included in Lighthouse's overall performance score as a significant weighted component (30% in Lighthouse 10). Good TBT (per Lighthouse): ≤200ms; Needs Improvement: 200–600ms; Poor: >600ms. TBT correlates strongly with Interaction to Next Paint (INP) — pages with high TBT typically also have poor INP field data, because long tasks block the main thread and delay response to user interactions. Fixing TBT fixes the root causes of poor INP.
Why it matters for SEO
TBT is one of the more actionable Lighthouse metrics because it has a clear root cause: JavaScript long tasks. Every long task exceeding 50ms blocks user interactions during that window. The most common causes: large third-party scripts executing synchronously, heavy framework JavaScript hydration (React, Vue, Angular rendering large component trees on load), unoptimised event handlers that trigger expensive DOM operations, and synchronous API calls in script loading. Fixes: code-splitting (load only the JavaScript needed for the current route), deferring non-critical third-party scripts (use `defer` or `async`, or load via `setTimeout`), removing unused JavaScript (Lighthouse's "Unused JavaScript" audit shows the biggest opportunities), and breaking up long synchronous tasks with `setTimeout` or `requestIdleCallback` to yield to the browser between them.
How DeepSEOAnalysis checks this
TBT is measured during Lighthouse lab runs executed by the audit engine — it's a simulated lab metric, not field data. The audit surfaces TBT per page alongside FCP, LCP, and CLS. Pages with TBT >600ms are flagged as critical performance issues with a breakdown of which JavaScript files are responsible for the longest blocking tasks. Since TBT is a lab metric, the field-data equivalent (INP from CrUX) is shown alongside it — high lab TBT with high field INP confirms a real-world interactivity problem; high lab TBT with acceptable field INP may indicate the lab conditions don't reflect real user traffic patterns.
Useful tools and resources
GLOSSARY
Related terms
performance
INP (Interaction to Next Paint)
The Core Web Vital that measures a page's responsiveness to user interactions — replacing FID in March 2024 as a Google ranking signal. Good INP is under 200ms.
Read definition →performance
First Contentful Paint (FCP)
A performance metric measuring the time from page navigation start until the browser renders the first piece of content — text, image, or SVG — on screen. FCP is not a Core Web Vital but is a useful early-load diagnostic.
Read definition →performance
Core Web Vitals
Three Google metrics — LCP, INP, and CLS — that measure real-user loading, interactivity, and visual stability.
Read definition →performance
Page Speed
The time it takes for a page to load and become usable — measured by multiple metrics including TTFB, FCP, and Core Web Vitals.
Read definition →performance
Lighthouse
Google's open-source automated auditing tool that measures web performance, accessibility, best practices, and SEO in a simulated lab environment — built into Chrome DevTools and used by PageSpeed Insights.
Read definition →See how your site scores on Total Blocking Time (TBT).
The free DeepSEOAnalysis audit checks total blocking time (tbt) and 100+ other signals. Full report, no signup.
Run a free audit →