Total Blocking Time (TBT) einfach erklärt
Die Total Blocking Time (TBT) ist ein Messwert der Web Vitals von Google. Sie misst die Summe aller Zeiträume zwischen dem First Contentful Paint und der Time to Interactive, wenn diese länger als 50 Millisekunden dauerten. In dieser Zeit wird die Webseite blockiert, weshalb der Nutzer nicht mit ihr interagieren kann. Früher gab es bei den Web Vitals noch den First Input Delay, der durch die Total Blocking Time abgelöst wurde.
Vereinfacht gesagt: Wenn eine Website eigentlich so aussieht, als wäre sie schon geladen, Du dann auf einen Button oder Menüpunkt klickst und sie nicht reagiert, weil sie noch irgendetwas im Hintergrund „arbeitet“, dann frustriert Dich das. Das ist die Total Blocking Time. Und die sollte möglichst gering sein.
Inhalt
Auf was bezieht sich die Total Blocking Time der Web Vitals?
Ein Browser verwendet zum Laden einer Website den sogenannten „Main-Thread“. Dort werden Nutzerevents und Darstellungen einer Webseite verarbeitet. Dieser verarbeitet auch das HTML der jeweiligen Seite. Bedeutet: Das HTML wird in einen DOM-Strukturbaum umgewandelt. Sprich: Die Seite wird für den Browser hierarchisch aufgebaut. Danach werden Cascading Style Cheets (CSS) und JavaScripts (JS) ausgeführt, welche das Design und die Bewegungen der Seite bestimmen. Zum Schluss werden Nutzerereignisse ausgewertet und weitere wichtige Aufgaben erledigt.
Und genau dann, wenn eine dieser Aufgaben länger als 50 Millisekunden in Anspruch genommen hat, wird sie zu der Total Blocking Time hinzugezählt. Je öfter Du also solche „zeitintensiven“ Aufgaben im Main-Thread hast, desto größer wird die Total Blocking Time. Und das bedeutet, dass Dein Nutzer in verschiedenen Abständen lange mit Deiner Seite nicht interagieren kann, was ein schlechtes Nutzersignal darstellt und durchaus zum Absprung von Deiner Seite führen kann.
Nutzerinteraktionen können sein:
- Touch-Interaktionen auf einem Bildschirm
- Tastaturanschläge
- Mausklicks
Wie kann man die Total Blocking Time verbessern?
Die häufigste Ursache für eine zu hohe Total Blocking Time besteht in der Ausführung sehr vieler JavaScripts. Während ein JavaScript ausgewertet wird kann keine andere Aufgabe im Main-Thread ausgeführt werden. Je nach Größe und Komplexität kann dies durchaus länger als 50 Millisekunden dauern. Daraufhin erhöht sich in der Regel mit zunehmender Anzahl an JavaScripts auch die Summe der blockierenden Zeiträume, dementsprechend der Total Blocking Time.
Es liegt daher nah, dass eine Verbesserung der Total Blocking Time in Sicht ist, wenn man diese JavaScript-Aufrufe reduziert und auf das Nötigste beschränkt.
Aber auch andere Aufgaben, die der Main-Thread auszuführen hat und die länger als 50 Millisekunden dauern, können durch eine Optimierung im Ablauf dazu beitragen, die Total Blocking Time zu senken.
Laut den Webentwicklern von Google können folgende Aufgaben zu einer Reduzierung der Total Blocking Time (TBT) beitragen:
- Die Auswirkungen von Drittanbieter-Code auf die Webseite verringern
- Die Ausführzeit von JavaScripts optimieren
- Die Aufgaben im Main-Thread verringern
- Die Anfragen nach Dateien in der Anzahl und Größe verringern
Abgrenzung der Total Blocking Time (TBT) zur Time to Interactive (TTI)
Die Time to Interactive beschreibt den Zeitpunkt in Sekunden, ab wann eine Webseite vollständig bereit zur Interaktivität ist. Das ist der Fall, wenn die Website bereit ist Nutzerinteraktionen auszuführen.
Teilweise wird die Optimierung des schnellen Darstellens von Seiteninhalten über die Interaktivität gestellt. Das kann dazu führen, dass die Nutzer zwar Inhalte sehen, aber die Reaktion auf Nutzerinteraktionen sehr lange dauern kann. Das stellt für Google ein schlechtes Nutzersignal dar.
Die Total Blocking Time beschreibt daher eher den Weg zur TTI, wohingegen die TTI die Zeit nach einem oft vollständigen Laden einer Webseite in Zusammenhang mit Nutzerinteraktionen beschreibt.
Wichtige Fakten zur Total Blocking Time
- Die Total Blocking Time (TBT) misst mit 30% Gewichtung des Lighhouse Performance Scores eine der wichtigsten Messwerte der Web Vitals. Daher sollte dieser Messwert so gering wie möglich sein.
- Das Reduzieren von JavaScripts hat in der Regel den größten Ausschlag auf die Total Blocking Time.