Total Blocking Time (TBT)
Total Blocking Time is how long the browser was too busy to react while the page was loading. During that time, a visitor can tap a button or open the menu, and nothing happens. The page looks ready, but it isn’t listening yet.
Why it matters
Section titled “Why it matters”A browser does most of its work for a page in one place, the main thread: running scripts, working out the layout, drawing the screen and responding to taps and clicks. It can do only one of these at a time. When a script runs for a long stretch, a tap has to wait until it’s done.
Short tasks don’t count. Lighthouse treats a task as long when it takes more than 50 milliseconds, and Total Blocking Time adds up only the part of each long task beyond those 50 milliseconds. A task of 70 milliseconds adds 20 milliseconds; a task of 500 milliseconds adds 450. The sum, from the first content until the page has settled, is the Total Blocking Time.
The lab test never taps or clicks, so it can’t measure real responsiveness. Total Blocking Time is its best hint at it. With real visitors, Interaction to Next Paint measures the actual delay. A page with a high TBT often has a poor INP too, but not always: if visitors wait before they interact, the scripts may have finished by then.
What influences it
Section titled “What influences it”Browser: The most common cause of a high TBT on WordPress sites is JavaScript that runs while the page loads. Page builders, sliders, animation libraries, cookie notices, chat widgets, analytics and ad scripts each bring their own code, and the browser has to load, compile and run all of it. On the simulated phone, with its slower processor, the same script takes several times longer than on a desktop. A very large page, with thousands of nested elements, adds layout work on top.
WordPress: Every active plugin that adds a script to the front end adds to the work, often on pages where it isn’t used at all. Scripts loaded from other services, such as tag managers, embedded videos and social media widgets, frequently weigh the most.
Cache: Returning visitors with cached scripts skip the download, but the browser still has to run the code. The lab test always starts with an empty cache.
In Permo
Section titled “In Permo”Permo shows TBT on its PageSpeed page in the lab values for Mobile and Desktop. There’s no real-user value, because Google only measures it in the lab. Above the waterfall, the strip for the browser’s main thread shows when the long tasks happened; tall blocks are tasks longer than 50 milliseconds.
Related
Section titled “Related”Sources
- Total Blocking Time (TBT), accessed
- Total Blocking Time (Lighthouse), accessed