{"id":4155371,"date":"2022-03-10T09:26:21","date_gmt":"2022-03-10T08:26:21","guid":{"rendered":"https:\/\/wp-rocket.me\/?post_type=lp_resources&#038;p=4155371"},"modified":"2022-09-20T12:14:12","modified_gmt":"2022-09-20T10:14:12","slug":"reduce-total-blocking-time","status":"publish","type":"lp_resources","link":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/","title":{"rendered":"How to Reduce Total Blocking Time (TBT) on Your WordPress Site"},"content":{"rendered":"<p>Wondering what\u2019s the Total Blocking Time metric and how it affects the performance of your WordPress site? You are at the right place.<\/p><p>We all love websites that are pleasant, easy to use, and fast. To make sure you provide a great user experience, there are a few metrics you should focus on, and TBT is one of them.<\/p><p>More importantly, as a user experience metric,&nbsp;<strong>Total Blocking Time holds up 30% of the global performance score<\/strong>&nbsp;computed by Lighthouse. This makes it a top metric for optimization!&nbsp;<\/p><p>We are going to explain in detail what Total Blocking Time is, why it\u2019s relevant, how to measure it, and what factors affect its score. We\u2019ll also share some tips on fixing a bad Total Blocking Time grade (TBT longer than 300 ms) to improve your overall performance score and make your visitors happy.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"section-1\">What is Total Blocking Time (TBT) in Lighthouse?<\/h2><p>Total Blocking Time is an important performance metric that measures the load responsiveness of your WordPress site.&nbsp;<strong>It is the sum of all time periods between First Contentful Paint (FCP) and Time to Interactive (TTI) when a task length exceeds 50ms.&nbsp;<\/strong>The score is always expressed in milliseconds. It counts for 30% of your total performance grade performed by Lighthouse.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1469\" height=\"721\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png\" alt=\"\" class=\"wp-image-4155374\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png 1469w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8-310x152.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8-768x377.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8-122x60.png 122w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8-183x90.png 183w\" sizes=\"(max-width: 1469px) 100vw, 1469px\" \/><\/figure><p>Lighthouse is an open-source, automated tool that assists developers in improving the quality of web pages. The tool considers six metrics to generate your final performance score, including&nbsp;<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/\">the Core Web Vitals<\/a>, the Speed Index, the Total Time to Interactive, and the Total Blocking Time:&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Metric&nbsp;<\/strong><\/td><td><strong>Weight<\/strong><\/td><td><strong>What\u2019s a good score? (green)<\/strong><\/td><\/tr><tr><td><a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-first-contentful-paint\/\">First Contentful Paint<\/a><\/td><td>10%<\/td><td>0-2 s<\/td><\/tr><tr><td><a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-speed-index\/\">Speed Index<\/a><\/td><td>10%<\/td><td>0-4,3 s<\/td><\/tr><tr><td><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-largest-contentful-paint\/\">Largest Contentful Paint<\/a><\/td><td>25%<\/td><td>0-2,5 s<\/td><\/tr><tr><td><a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/\">Time to Interactive<\/a><\/td><td>10%<\/td><td>0-5s<\/td><\/tr><tr><td><strong>Total Blocking Time<\/strong><\/td><td><strong>30%<\/strong><\/td><td><strong>&lt; 300 ms<\/strong><\/td><\/tr><tr><td><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-cumulative-layout-shift\/\">Cumulative Layout Shift<\/a><\/td><td>15%<\/td><td>0 \u2013 0,1<\/td><\/tr><\/tbody><\/table><\/figure><p>\ud83d\udca1 If you need help to perform your website\u2019s audit, we recommend reading our complete guide that explains&nbsp;<a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/\">how to improve your Lighthouse performance score<\/a>.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"section-2\">How to Measure Total Blocking Time<\/h2><p>You can measure the TBT score by calculating the total amount of time that a page is blocked from responding to a user action.&nbsp;The total is calculated by adding the blocking time of all long tasks between First Contentful Paint (FCP) and Time to Interactive (TTI).&nbsp;<\/p><p>Let me explain better.<\/p><p>Every browser has a process that transforms the code into a web page. This action of processing all the code and styles needs to be effective because we want our page to be rendered as quickly as possible for the visitor.&nbsp;<em>(Remember, we want to make a good impression and show the user how fast our website is!)<\/em><\/p><p>The browser has many&nbsp;<strong>tasks&nbsp;<\/strong>to complete until it can render the page, such as parsing the HTML script, building the structure and the content of a web page (DOM), and executing its CSS and JS code.&nbsp;<em>(That\u2019s a lot to do, right?)&nbsp;<\/em><\/p><p>To avoid a high blocking time,<em>&nbsp;<\/em>the browser should not encounter the JS and CSS files when parsing the code and rendering the page. To keep your website going fast, we have to \u201ctell\u201d the browser what we want to prioritize and what we want to load first.<\/p><h3 class=\"wp-block-heading\">Understanding Long Tasks<\/h3><p>If the tasks run longer than 50ms, it is referred to as a Long task and considered \u201cblocked.\u201d&nbsp;<\/p><p>In such a case, your page becomes unresponsive to user inputs like screen taps, keyboard presses, mouse clicks, etc.&nbsp;<\/p><p>The calculation of Total Blocking Time is based on those&nbsp;<strong>Long Tasks<\/strong>. A Long Task significantly monopolizes the web browser (<strong>&gt; 50 milliseconds<\/strong>) and blocks the performance of other essential tasks (such as reacting to user actions with a mouse click). The main thread is considered \u201cblocked\u201d any time there\u2019s a&nbsp;<a href=\"https:\/\/web.dev\/custom-metrics\/#long-tasks-api\">Long Task<\/a>.&nbsp;The computer records this interval for each request as an individual blocking time. The sum of all individual blocking times is called total blocking time.<\/p><p>Let\u2019s see an example. Every time Lighthouse detects a&nbsp;<strong>Long Task (&gt;50 ms)&nbsp;<\/strong>then it will also measure the blocking duration:&nbsp;<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"540\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Total-Blocking-Time-Example.png\" alt=\"Total Blocking Time \u2013 Example\" class=\"wp-image-4155381\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Total-Blocking-Time-Example.png 1600w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Total-Blocking-Time-Example-310x105.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Total-Blocking-Time-Example-768x259.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Total-Blocking-Time-Example-178x60.png 178w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Total-Blocking-Time-Example-267x90.png 267w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><figcaption><em>Total Blocking Time \u2013 Example<\/em><\/figcaption><\/figure><p>As you can see, the Total Blocking Time is a sum calculated by adding the \u201cblocking\u201d portion of the different Long Tasks. The blocking portion of a Long Task is the part of its duration beyond 50 ms (in red on our chart).<\/p><p>Let\u2019s see another task\u2019s breakdown to identify the TBT:&nbsp;<\/p><ul class=\"wp-block-list\"><li>The timeline below has five tasks, and three are Long Tasks (duration &gt;50 ms):<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"165\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-main-thread-timeline-tasks-duration.png\" alt=\"The main thread timeline (tasks duration) \u2013 Web.Dev\" class=\"wp-image-4155387\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-main-thread-timeline-tasks-duration.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-main-thread-timeline-tasks-duration-310x64.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-main-thread-timeline-tasks-duration-768x158.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-main-thread-timeline-tasks-duration-190x39.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-main-thread-timeline-tasks-duration-436x90.png 436w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>The main thread timeline (tasks duration) \u2013&nbsp;<\/em><a href=\"https:\/\/web.dev\/tbt\/\"><em>Web.Dev<\/em><\/a><\/figcaption><\/figure><ul class=\"wp-block-list\"><li>The next graph shows the blocking time for each of the long tasks, respectively 200 ms, 40 ms, and 105 ms (Total: 345 ms):<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"104\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Identifying-Blocking-Time-for-each-Long-Task-TBT.png\" alt=\"Identifying Blocking Time for each Long Task (TBT) \u2013 Web.Dev\" class=\"wp-image-4155394\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Identifying-Blocking-Time-for-each-Long-Task-TBT.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Identifying-Blocking-Time-for-each-Long-Task-TBT-310x40.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Identifying-Blocking-Time-for-each-Long-Task-TBT-768x100.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Identifying-Blocking-Time-for-each-Long-Task-TBT-190x25.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Identifying-Blocking-Time-for-each-Long-Task-TBT-692x90.png 692w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>Identifying Blocking Time for each Long Task (TBT) \u2013&nbsp;<\/em><a href=\"https:\/\/web.dev\/tbt\/\"><em>Web.Dev<\/em><\/a><\/figcaption><\/figure><figure class=\"wp-block-table\"><table><tbody><tr><td><strong>TBT<\/strong>: The sum of the blocking time for each long task (&gt;50ms) that occurs between FCP and TTI.&nbsp;<br><br><strong>FCP<\/strong>:&nbsp; First content to be loaded by the browser. It\u2019s all about speed perception from the user.&nbsp;<br><br><strong>TTI<\/strong>: How long it takes to be sure, regarding the conditions, that interactivity can happen in a satisfactory way, for at least 5 seconds.<\/td><\/tr><\/tbody><\/table><\/figure><h3 class=\"wp-block-heading\">2 Tools to Measure Total Blocking Time<\/h3><p>We recommend two different tools to measure TBT and your performance using the Lighthouse technology.<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/?hl=en&amp;url=wp-rocket.me&amp;tab=desktop\">Google PageSpeed Insight&nbsp;<\/a>(PSI):<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"786\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TBT.png\" alt=\"\" class=\"wp-image-4155403\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TBT.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TBT-198x195.png 198w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TBT-768x755.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TBT-61x60.png 61w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TBT-92x90.png 92w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><ul class=\"wp-block-list\"><li><a href=\"https:\/\/gtmetrix.com\/reports\/wp-rocket.me\/M53lK5DA\/\">GTmetrix<\/a>:<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"319\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/using-gtmetrix.png\" alt=\"\" class=\"wp-image-4155409\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/using-gtmetrix.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/using-gtmetrix-310x124.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/using-gtmetrix-768x306.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/using-gtmetrix-150x60.png 150w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/using-gtmetrix-226x90.png 226w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><p>Both tools provide a TBT score, but the numbers are slightly different, as you may have noticed.&nbsp; This is mainly due to various factors, including Lighthouse implementation, testing methodology, testing location, etc.&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td>\ud83d\ude80 If you need some help performing the audit, we recommend you to&nbsp;<a href=\"https:\/\/wp-rocket.me\/blog\/how-to-test-wordpress-site-performance-measure-speed-results\/\">check our complete guide about testing WordPress site performance and measuring the results.<\/a><\/td><\/tr><\/tbody><\/table><\/figure><h3 class=\"wp-block-heading\">What\u2019s a Good Total Blocking Time (TBT) Score?<\/h3><p>You should always strive to have a TBT of less than 300 ms to ensure a good user experience. Your TBT score is simply a comparison of the TBT time of your page and the TBT times of high-ranking thousands of sites when loaded on mobile or desktop.&nbsp;<\/p><p>Scoring is classified as:<\/p><ul class=\"wp-block-list\"><li>Green: 0-300ms (Fast)<\/li><li>Orange: 300-600ms (Moderate)<\/li><li>Red: 600+ms (Slow)<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"200\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TBT-scores.png\" alt=\"TBT scores \u2013 web.dev\" class=\"wp-image-4155416\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TBT-scores.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TBT-scores-310x78.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TBT-scores-768x192.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TBT-scores-190x48.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TBT-scores-360x90.png 360w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>TBT scores \u2013 web.dev<\/em><\/figcaption><\/figure><p>Total Blocking Time is often associated with the FID (First Input Delay) metric. Let\u2019s see why.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"section-3\">What Is the Difference Between Total Blocking Time and First Input Delay?<\/h2><p>The difference between Total Blocking Time and First Input Delay is simple: while Total Blocking Time can be calculated without real-world users, First Input Delay is a field-only metric that requires real-user data for computations.&nbsp;<\/p><p>The FID calculation cannot be simulated in a lab environment. This form of data comes from multiple sources, such as the Chrome User Experience Reports (CrUX), where the data collected are from real-world users.&nbsp;<\/p><p>When your website does not have enough \u201creal\u201d data to compute the FID score, the alternative is to look at&nbsp;<strong>the TBT metric<\/strong>, measured in the&nbsp;<strong>lab data&nbsp;<\/strong>section.&nbsp;<em>The lab data has artificial and collected data from a single device based on a fixed set of network conditions.&nbsp;<\/em><\/p><p>In a different way, both TBT and FID measure interactivity and capture a user\u2019s first impression of a site\u2019s interactivity and responsiveness.&nbsp;<\/p><p>For example, GTmetrix tests TBT instead of FID as it diagnoses almost the same optimizations with the suitable proxies:<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"221\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/GTmetrix-considering-TBT-as-a-Web-Vitals-instead-of-FID.png\" alt=\"GTmetrix considering TBT as a Web Vitals instead of FID \u2013 Source: GTmetrix\" class=\"wp-image-4155447\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/GTmetrix-considering-TBT-as-a-Web-Vitals-instead-of-FID.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/GTmetrix-considering-TBT-as-a-Web-Vitals-instead-of-FID-310x86.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/GTmetrix-considering-TBT-as-a-Web-Vitals-instead-of-FID-768x212.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/GTmetrix-considering-TBT-as-a-Web-Vitals-instead-of-FID-190x52.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/GTmetrix-considering-TBT-as-a-Web-Vitals-instead-of-FID-326x90.png 326w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>GTmetrix considering TBT as a Web Vitals instead of FID \u2013 Source:&nbsp;<\/em><a href=\"https:\/\/gtmetrix.com\/reports\/wp-rocket.me\/fiV5i9To\/\"><em>GTmetrix<\/em><\/a><\/figcaption><\/figure><p>By optimizing your Total Blocking Time, you\u2019ll also&nbsp;<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-first-input-delay\/\">improve the First Input Delay score<\/a>, one of the Core Web Vitals metrics \u2014 there is a positive correlation between them.&nbsp;Of course, the opposite is also true.<\/p><p>If you keep your FID below 100ms, you\u2019re in great shape:&nbsp;<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"292\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-score.png\" alt=\"FID scores \u2013 web.dev\" class=\"wp-image-4155455\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-score.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-score-310x113.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-score-768x280.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>FID scores \u2013 web.dev<\/em><\/figcaption><\/figure><h2 class=\"wp-block-heading\" id=\"section-4\">What Is the Difference Between Total Blocking Time and Time to Interactive?<\/h2><p>The main difference is that Time to Interactive measures how long it takes for a page to become&nbsp;<strong>fully interactive,<\/strong>&nbsp;while Total Blocking Time tells you&nbsp;<strong>which JS tasks<\/strong>&nbsp;took the longest to execute.&nbsp;&nbsp;<\/p><p>Time to Interactive is another metric that is related to your page interactivity. It\u2019s one of the six metrics tracked in the Lighthouse report to measure the performance of your website.&nbsp;<\/p><p>Measuring TTI is vital because some sites&nbsp;<strong>focus on content visibility<\/strong>&nbsp;at the expense of&nbsp;<strong>actual interactivity<\/strong>. This can create a frustrating user experience: the user thinks that the site is ready, but when he tries to click somewhere,&nbsp; nothing happens.&nbsp;<\/p><p><strong>TTI&nbsp;<\/strong>(in orange below) marks a page as fully interactive if the main thread has been free of long tasks for about 5 seconds.&nbsp;<\/p><p>Here\u2019s a test for you. In the following image, when do you feel like you could interact? When does the blue-button become \u201cclickable\u201d in your mind?&nbsp;<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"601\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Explaining-TTI-and-interactivity.png\" alt=\"Explaining TTI and interactivity \u2013 Source: dev.to\" class=\"wp-image-4155461\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Explaining-TTI-and-interactivity.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Explaining-TTI-and-interactivity-260x195.png 260w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Explaining-TTI-and-interactivity-768x577.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Explaining-TTI-and-interactivity-80x60.png 80w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Explaining-TTI-and-interactivity-120x90.png 120w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>Explaining TTI and interactivity \u2013 Source:&nbsp;<\/em><a href=\"https:\/\/dev.to\/addyosmani\/web-page-usability-matters-3aok\"><em>dev.to<\/em><\/a><\/figcaption><\/figure><p>You should strive to have a Time to Interactive of less than 5 seconds to ensure a good user experience.<\/p><h2 class=\"wp-block-heading\" id=\"section-5\">What Is the Impact of Total Blocking Time on Performance?<\/h2><p>To understand the impact of TBT on performance, once again we should highlight its weight on the Lighthouse Score.<\/p><p>As a user experience metric, TBT now holds up to 30% of the global performance score.<em>TBT did not exist in Lighthouse v5, but it now represents 30% of the total grade in Lighthouse v8<\/em>.<br><br>TBT measures the total amount of time your webpage was completely&nbsp;<strong>blocked,<\/strong>&nbsp;preventing the user from interacting with the sections of your page. It\u2019s an important lab metric because it defines if your page is usable or not.&nbsp;<\/p><p>There are several basic principles to follow to keep your TBT under 300ms but first, let\u2019s have a look at the causes of a bad TBT.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"section-6\">What Causes a High Total Blocking Time?&nbsp;<\/h2><p>There are four reasons that determine a TBT score longer than 300 ms, namely:<\/p><ol class=\"wp-block-list\"><li>A messy JavaScript code and unused JS&nbsp;<\/li><li>A high JS Execution time<\/li><li>A high main thread work<\/li><li>Heavy use of a third-party code<\/li><\/ol><p>Going to the opportunities and diagnostics section of your Lighthouse report will help in determining what solutions you can implement:<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"406\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section.png\" alt=\"Opportunity and Diagnostics section \u2013 source PSI\n\" class=\"wp-image-4155471\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-310x157.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-768x390.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-118x60.png 118w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-177x90.png 177w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>Opportunity and Diagnostics section \u2013 source PSI<\/em><br><br><\/figcaption><\/figure><p>The report shows how much impact each error has on your estimated savings; resolving them will drastically improve your TBT and your site\u2019s performance.&nbsp;<\/p><p>Here is the list of the PageSpeed Insights recommendations to address if you want to improve your TBT score:<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/remove-unused-javascript\/\">Remove (or reduce) unused Javascript<\/a><\/li><li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-javascript-execution-time\/\">Reduce Javascript execution time<\/a><\/li><li>Minify CSS and JS<\/li><li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/eliminate-render-blocking-javascript-css\/\">Eliminate render-blocking resources<\/a><\/li><li>Reduce the impact of third-party code<\/li><li>Enable text compression<\/li><li>Avoid chaining critical requests<\/li><li>Avoid enormous network payloads<\/li><li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/minimize-main-thread-work\/\">Minimize main thread work<\/a><\/li><\/ul><p>(Spoiler alert: the majority of&nbsp;<a href=\"https:\/\/wp-rocket.me\/features\/\">the TBT optimizations can be done using the WP Rocket plugin<\/a>!)<\/p><h2 class=\"wp-block-heading\" id=\"section-7\">How to Reduce Total Blocking Time Longer Than 300 ms on Your WordPress Site<\/h2><p>To fix your TBT score longer than 300 ms, you should focus on the order and loading preferences of your resources, as well as the number and size of requests. The most effective way to reduce Total Blocking Time in WordPress is to optimize JavaScript files (including third-party code).&nbsp;&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td>Important: Any good measures going towards JS execution will most likely reduce TBT.<\/td><\/tr><\/tbody><\/table><\/figure><p>There are eight performance optimizations we recommend you implement if you want to fix Total Blocking Time and improve the speed of your WordPress site.<\/p><ol class=\"wp-block-list\"><li><a href=\"#defer-javascript\">Defer JS<\/a><\/li><li><a href=\"#delay-javascript\">Delay JS<\/a><\/li><li><a href=\"#prefetch-dns\">Prefetch DNS Requests&nbsp;<\/a><\/li><li><a href=\"#minify-javascript\">Minify JS<\/a><\/li><li><a href=\"#use-gzip-compression\">Use GZip Compression<\/a><\/li><li><a href=\"#minify-css\">Minify CSS Files&nbsp;<\/a><\/li><li><a href=\"#optimize-css-delivery\">Optimize CSS Delivery<\/a><\/li><li><a href=\"#reduce-ttfb\">Reduce Server Response Time and Time to First Byte (TTFB)<\/a>&nbsp;<\/li><\/ol><h3 class=\"wp-block-heading\" id=\"defer-javascript\">1. Defer JS&nbsp;<\/h3><p>Defer JS means to delay JS loading until a certain time. In this case, the JS files will be loaded&nbsp;<em>after&nbsp;<\/em>the browser has displayed the most relevant content. By deferring JavaScript files, you\u2019ll make your JavaScript load faster \u2013 which is invaluable for improving your WordPress site\u2019s performance. Reducing the amount of time spent in parsing, compiling, and running JS files also helps with improving TBT.&nbsp;<\/p><p><strong>Lighthouse issue from the diagnostic section:<\/strong>&nbsp;It addresses the \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/eliminate-render-blocking-javascript-css\/\">Eliminate render-blocking resources<\/a>\u201d, \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/remove-unused-javascript\/\">Remove unused JavaScript<\/a>\u201d and \u201cAvoid chaining critical requests\u201d recommendations.<\/p><p><strong>\u2705&nbsp; Manual Solution:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li><strong>Use the&nbsp; Defer Attribute:&nbsp;<\/strong>When trying to defer JS you can use boolean attributes \u201cdefer\u201d for the script tag in HTML:<br>&lt;script src=\u201dcode.js\u201d defer&gt;&lt;\/script&gt;<\/li><\/ul><p>&nbsp;JS files will be executed only&nbsp;<strong>after&nbsp;<\/strong>the rest of the page has loaded.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"156\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Defer-attribute.png\" alt=\"Defer attribute \u2013 source: bitsofco.de\" class=\"wp-image-4155479\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Defer-attribute.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Defer-attribute-310x60.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Defer-attribute-768x150.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Defer-attribute-190x37.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Defer-attribute-462x90.png 462w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption>Defer attribute \u2013 source:&nbsp;<a href=\"https:\/\/bitsofco.de\/async-vs-defer\/\">bitsofco.de<\/a><\/figcaption><\/figure><p><strong>\u2705&nbsp; Use a WordPress plugin:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/fr.wordpress.org\/plugins\/wp-asset-clean-up\/\">Asset CleanUp<\/a>:<strong>&nbsp;<\/strong>this free plugin scans and detects the content to be loaded on the page. When editing a page, all you have to do is to select the CSS or JS code that is not useful.&nbsp;<br>Important Note: the plugin author recommends using Asset CleanUp with a cache plugin like WP Rocket to get the best results.&nbsp;<\/li><li><a href=\"https:\/\/wp-rocket.me\/\">WP Rocket<\/a>&nbsp;has an option to defer parsing of JavaScript and defer the JS WordPress files:<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"259\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/JS-deferred.png\" alt=\"Load JS deferred \u2013 WP Rocket\u2019s dashboard.\" class=\"wp-image-4155487\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/JS-deferred.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/JS-deferred-310x100.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/JS-deferred-768x249.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/JS-deferred-185x60.png 185w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/JS-deferred-278x90.png 278w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption>Load JS deferred \u2013 WP Rocket\u2019s dashboard.<\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"delay-javascript\">2. Delay JS<\/h3><p>Delayed JavaScript Execution improves performance and TBT by delaying the loading of all JS files until a user interaction happens, such as touching the screen, scrolling, or clicking on a button.&nbsp;<\/p><p><strong>Lighthouse issue from the diagnostic section:<\/strong>&nbsp;It addresses the \u201cAvoid chaining critical requests\u201d recommendation.<\/p><p>\u2705&nbsp;<strong>Manual Solution:<\/strong><\/p><ul class=\"wp-block-list\"><li>The manual way of creating a delay in JS is to use the setTimeout ()method function. This will call a function after the time you\u2019ll specify in&nbsp;<strong>ms<\/strong>. You can find&nbsp;<a href=\"https:\/\/www.w3schools.com\/js\/js_timing.asp\">very helpful code snippets<\/a>&nbsp;to delay any JS functions, but here\u2019s an example you can follow:&nbsp;<\/li><\/ul><p>Let\u2019s say you want to achieve the following scenario:&nbsp;<\/p><p>\u201cUser clicks on a button \u2192 Wait 2 seconds \u2192 the page will display a \u201cHello, How Are You?\u201d:<\/p><pre class=\"wp-block-code\"><code class=\"\">&lt;button onclick=\u201dsetTimeout(myFunction, 2000)\u201d&gt;Try it&lt;\/button&gt;\n\n&lt;script&gt;\n\nfunction myFunction() {\n\n  alert(\u2018Hello, How Are You? \u2018);\n\n}\n\n&lt;\/script&gt;<\/code><\/pre><p><\/p><p>\u2705&nbsp;&nbsp;<strong>Use a WordPress plugin:<\/strong><\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wordpress.org\/plugins\/flying-scripts\/\">Flying Scripts<\/a>: a plugin to delay JS and give more resources to critical JS files. It helps to prioritize.&nbsp;<\/li><li><a href=\"https:\/\/wordpress.org\/plugins\/wp-meteor\/\">WP Meteor<\/a>: a plugin to postpone JS scripts and greatly improved the perceived speed by visitors (very important for the user experience).<\/li><li><a href=\"https:\/\/gonzalesplugin.com\/\">Gonzales<\/a>: allows to conditionally disable CSS, JS, and even plugins depending on the page you visit.<\/li><li><a href=\"https:\/\/fr.wordpress.org\/plugins\/wp-asset-clean-up\/\">Asset CleanUp<\/a>&nbsp;(just mentioned in the section above).<\/li><li><a href=\"https:\/\/wp-rocket.me\/pricing\/\">WP Rocket cache plugin<\/a>: the convenient way. You can easily delay the JS files in one single click.&nbsp;&nbsp;<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"991\" height=\"458\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9.png\" alt=\"Delay JavaScript execution feature \u2013 WP Rocket dashboard\" class=\"wp-image-4155496\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9.png 991w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-310x143.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-768x355.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-130x60.png 130w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-195x90.png 195w\" sizes=\"(max-width: 991px) 100vw, 991px\" \/><figcaption><em>Delay JavaScript execution feature \u2013 WP Rocket dashboard<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"prefetch-dns\">3. Prefetch DNS Requests&nbsp;<\/h3><p>DNS-prefetch is an attempt to resolve domain names before resources get requested.<\/p><p>When is it useful? If you have a third-party code on your website such as a video hosted on Vimeo or some Google Fonts. DNS-prefetch can give your website a little boost as it will minimize the loading time and resources coming from another website. In other words, DNS-prefetch allows you to make early connections to&nbsp;<a href=\"https:\/\/wp-rocket.me\/blog\/third-party-scripts\/\">third-party scripts<\/a>, reducing the delay and bringing more efficient results.<br><br><strong>Lighthouse issue from the diagnostic section:&nbsp;<\/strong>It addresses the \u201cMinify third-party usage\u201d and \u201cPreconnect to required origins\u201d recommendations.&nbsp;<\/p><p>\u2705&nbsp;<strong>Manual Solution:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li>Use \u201crel=dns-prefetch\u201d in the \u201chead\u201d section. In other words, you can manually specify the domain for the browser to prefetch:<\/li><\/ul><pre class=\"wp-block-code\"><code class=\"\">&lt;link rel=\u201ddns-prefetch\u201d href=\u201d\/\/yourdomain.com\u201d&gt;<\/code><\/pre><p><\/p><p>\u2705&nbsp;&nbsp;<strong>Use a WordPress plugin:<\/strong><\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/perfmatters.io\/docs\/dns-prefetching\/\">Perfmatters plugin<\/a>&nbsp;has the DNS prefetch options<\/li><li>WP Rocket plugin also has a \u201cPrefetch DNS Requests\u201d section in its WordPress dashboard:<br>&nbsp;<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"264\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests.png\" alt=\"Prefetch DNS Requests \u2013 WP Rocket dashboard\" class=\"wp-image-4155508\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-310x102.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-768x253.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-182x60.png 182w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-273x90.png 273w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>Prefetch DNS Requests \u2013 WP Rocket dashboard<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"minify-javascript\">4. Minify JS&nbsp;<\/h3><p>Minifying your code means removing any clutter and useless punctuation: new lines, spaces, etc. You may always have some sort of content that is not required and consumes a lot of time, hindering your webpage from loading. By eliminating such \u2018dead code\u2019 from your script, you free up time for the main thread to focus on many important tasks.<\/p><p><strong>Lighthouse issue from the diagnostic section:&nbsp;<\/strong>&nbsp;It addresses the \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-javascript-execution-time\/\">Reduce JavaScript Execution Time<\/a>\u201c, \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/minimize-main-thread-work\/\">Minimize main thread work<\/a>\u201d and \u201cMinify JS\u201d recommendations.<\/p><p>\u2705&nbsp;&nbsp;<strong>Manual Solutions:<\/strong><\/p><ul class=\"wp-block-list\"><li>Do a backup of your site, or do not edit your JS files directly in a production server.&nbsp;<\/li><li>Use a text editor like&nbsp;<a href=\"https:\/\/www.sublimetext.com\/\">Sublime Text<\/a>&nbsp;or&nbsp;<a href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a>. We don\u2019t recommend editing your code using Google Docs, for example \u2014 it adds some extra formatting.<\/li><li>Open the file containing your code and remove the comments, white space, new lines, and indentations. Don\u2019t forget to shorten ID, class, or variable names as much as possible and optimize your conditional statement.&nbsp;<\/li><\/ul><p>\u2705&nbsp;&nbsp;<strong>Use a WordPress plugin:<\/strong><\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/developers.google.com\/closure\/compiler\">Closure Compiler<\/a>&nbsp;by Google itself! It helps with the JS compression.<\/li><li><a href=\"https:\/\/wordpress.org\/plugins\/autoptimize\/\">Autoptimize plugin<\/a>&nbsp;can also help you minify JS.<\/li><li><a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket&nbsp;<\/a>allows you to minify your JS files in one click.&nbsp;<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"133\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-JavaScript-files-feature.png\" alt=\"Minify JavaScript files feature \u2013 WP Rocket dashboard.\" class=\"wp-image-4155515\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-JavaScript-files-feature.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-JavaScript-files-feature-310x52.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-JavaScript-files-feature-768x128.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-JavaScript-files-feature-190x32.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-JavaScript-files-feature-541x90.png 541w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption>Minify JavaScript files feature \u2013 WP Rocket dashboard.<\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"use-gzip-compression\">5. Use GZIP Compression<\/h3><p>GZIP compression enables your code to be compressed so that the files sent from the server to the visitor\u2019s browser are smaller (and your website faster!) You can picture all your HTML, CSS and JS compressed together to obtain a smaller file, reduce TBT, and consequently increase performance.<\/p><p><strong>Lighthouse issue from the diagnostic section:&nbsp;<\/strong>It addresses the \u201cEnable text compression\u201d recommendation.<\/p><p>\u2705&nbsp;&nbsp;<strong>Use a WordPress plugin:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wordpress.org\/plugins\/enable-gzip-compression\/\">Enable GZIP Compression<\/a>&nbsp;plugin gives you the possibility to enable and disable Gzip compression on your WordPress site.<\/li><li><a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket&nbsp;<\/a>enables GZIP compression automatically. You can read more about&nbsp;<a href=\"https:\/\/docs.wp-rocket.me\/article\/63-enable-gzip-compression\">GZIP compression in our documentation<\/a>.&nbsp;<\/li><\/ul><h3 class=\"wp-block-heading\" id=\"minify-css\">6. Minify CSS Files&nbsp;<\/h3><p>This lowers your file sizes by removing comments, redundant code, and whitespaces. The idea is that you want to reduce as much time as possible, and these traits are not necessary to run the page. Doing so will reduce CSS load and overall parsing time.&nbsp;<\/p><p><strong>Lighthouse issue from the diagnostic section:&nbsp;<\/strong>It addresses the \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/minimize-main-thread-work\/\">Minimize main thread work<\/a>\u201d and \u201cMinify CSS\u201d recommendations.<\/p><p>\u2705&nbsp;&nbsp;<strong>Manual Solutions (for more details, please refer to the JS section above)<\/strong>:<\/p><ul class=\"wp-block-list\"><li>Do a backup of your site, or do not edit your CSS files directly in a production server.&nbsp;<\/li><li>Use a text editor like&nbsp;<a href=\"https:\/\/www.sublimetext.com\/\">Sublime Text<\/a>&nbsp;or&nbsp;<a href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a>.&nbsp;<\/li><\/ul><p>\u2705&nbsp;&nbsp;<strong>Using a web tool:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li>Go to&nbsp;<a href=\"http:\/\/minifycode.com\/css-minifier\/\">minifycode.com<\/a>&nbsp;and click the CSS minifier tab.<\/li><li>Paste the CSS code into the input box and click the Minify CSS button.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"463\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/CSS-minifier-tool.png\" alt=\"CSS minifier tool \u2013 Source: CSS minifier\" class=\"wp-image-4155524\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/CSS-minifier-tool.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/CSS-minifier-tool-310x179.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/CSS-minifier-tool-768x444.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/CSS-minifier-tool-104x60.png 104w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/CSS-minifier-tool-156x90.png 156w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption>CSS minifier tool \u2013 Source:&nbsp;<a href=\"http:\/\/minifycode.com\/css-minifier\/\">CSS minifier<\/a><\/figcaption><\/figure><p>\u2705&nbsp;&nbsp;<strong>Use a WordPress plugin:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wordpress.org\/plugins\/autoptimize\/\">Autoptimize<\/a><\/li><li><a href=\"https:\/\/fr.wordpress.org\/plugins\/wp-super-minify\/\">WP Super Minify<\/a>&nbsp;<\/li><li><a href=\"https:\/\/github.com\/cssnano\/cssnano\">CSS Nano<\/a><\/li><li><a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket<\/a>&nbsp;cache plugin which helps you minify your CSS in one click:<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"221\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-CSS-files-feature.png\" alt=\"Minify CSS files feature \u2013 WP Rocket dashboard \" class=\"wp-image-4155530\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-CSS-files-feature.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-CSS-files-feature-310x86.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-CSS-files-feature-768x212.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-CSS-files-feature-190x52.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Minify-CSS-files-feature-326x90.png 326w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption>Minify CSS files feature \u2013 WP Rocket dashboard&nbsp;<\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"optimize-css-delivery\">7. Optimize CSS Delivery&nbsp;<\/h3><p>Minimizing the main thread frees up your browser to handle other tasks required for the web page to run efficiently. Some events, such as CSS parsing, can block the main thread from handling other tasks and processes. Therefore, it\u2019s essential to optimize the way CSS is delivered.&nbsp;<\/p><p><strong>Lighthouse issue from the diagnostic section:&nbsp;<\/strong>It addresses the \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/minimize-main-thread-work\/\">Minimize main thread work<\/a>\u201d recommendation.<\/p><p>\u2705&nbsp;&nbsp;<strong>Manual Solutions:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li>Combine and compress your CSS scripts<\/li><li>Prioritize CSS rules for the above-the-fold content<\/li><li>Avoid using STYLE tags in the HTML body<\/li><\/ul><p>\u2705&nbsp;&nbsp;<strong>Use a WordPress plugin:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li>The&nbsp;<a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket&nbsp;<\/a>cache plugin helps you optimize your CSS delivery in one click, thanks to the Remove Unused CSS option. <\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1379\" height=\"570\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/04\/RUCSS-3-11.png\" alt=\"Remove unused CSS - WP Rocket\" class=\"wp-image-4316192\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/04\/RUCSS-3-11.png 1379w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/04\/RUCSS-3-11-310x128.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/04\/RUCSS-3-11-768x317.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/04\/RUCSS-3-11-145x60.png 145w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/04\/RUCSS-3-11-218x90.png 218w\" sizes=\"(max-width: 1379px) 100vw, 1379px\" \/><figcaption>Remove unused CSS &#8211; WP Rocket<\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"reduce-ttfb\">8. Reduce Server Response Time and Time to First Byte (TTFB)&nbsp;<\/h3><p>Your server needs to be fast, and your TTFB needs to be optimized to improve the TBT score.<\/p><p><strong>Lighthouse issue from the diagnostic section:&nbsp;<\/strong>It addresses the \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-ttfb-server-response-times\/\">Reduce initial server response time<\/a>\u201d recommendation.<\/p><p>\u2705&nbsp;&nbsp;<strong>Use an advanced cache plugin and a CDN<\/strong>:<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket<\/a>\u00a0cache plugin and\u00a0<a href=\"https:\/\/rocketcdn.me\/\">RocketCDN<\/a>\u00a0will help you to reduce the TBT score.<\/li><\/ul><div id=\"om-nyrydv5iync8zrrulm5i-holder\"><\/div>\n\t<script>(function (d, u, ac) {\n\t\t\tvar s = d.createElement('script')\n\t\t\ts.type = 'text\/javascript'\n\t\t\ts.src = 'https:\/\/a.omappapi.com\/app\/js\/api.min.js'\n\t\t\ts.async = true\n\t\t\ts.dataset.user = u\n\t\t\ts.dataset.campaign = ac\n\t\t\td.getElementsByTagName('head')[0].appendChild(s)\n\t\t})(document, 20440, 'nyrydv5iync8zrrulm5i')<\/script><h2 class=\"wp-block-heading\" id=\"section-8\">How to Fix the TBT Score With WP Rocket<\/h2><p>As mentioned previously,&nbsp;<strong>the execution of JavaScript is the most important factor that affects the TBT metric<\/strong>. By delaying and&nbsp;<a href=\"https:\/\/wp-rocket.me\/blog\/deferred-loading-of-javascript\/\">deferring JavaScript<\/a>&nbsp;using WP Rocket, you\u2019ll give your WordPress site a little speed boost.<\/p><p>You can use several WP Rocket features to reduce the impact of TBT and improve its score.<\/p><p>Let\u2019s take a look at a case study.<\/p><h3 class=\"wp-block-heading\">Running the PageSpeed Insights Audit<\/h3><p>We\u2019ve audited the website of a French caterer named \u201c<a href=\"https:\/\/lepointgourmand.com\/\">Le point Gourmand<\/a>\u2026\u201d using Google PageSpeed Insights.&nbsp;<\/p><p>Let me share with you what we did to get the following performance results:<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/vSTl287EEqho5po2_n1wmRIOacCUecvdIoRKgBeWqZ8aNBSMgJIjkmVcin6e8byrj49eNN_JZcGL3JbtEJKyWL_8_YEua-tWdjTrDwhGwqZinhiHT0_6uCjzfwV1ryVZ-If1Fwr9\" alt=\"\"\/><\/figure><p><strong>Lighthouse\u2019s score before WP Rocket: 51\/100<\/strong><\/p><ul class=\"wp-block-list\"><li>In orange:&nbsp;<strong>TBT was 480<\/strong>&nbsp;ms and TTI 7,0 s&nbsp;<\/li><li>In red:&nbsp;Speed Index was 6,0 s and LCP 7,1 s<\/li><\/ul><p><strong>Lighthouse\u2019s score after using WP Rocket: 95\/100<\/strong><\/p><ul class=\"wp-block-list\"><li>In orange: Only the LCP needs to be fixed, but we can notice that it has significantly improved.<\/li><li>In Green:&nbsp;Speed Index, FCP, TTI, CLS, and\u2026&nbsp;<strong>TBT<\/strong>!&nbsp;<\/li><\/ul><p>The diagnostic and opportunities sections were not so great when I performed my first audit&nbsp;<strong>without<\/strong>&nbsp;using the WP Rocket cache plugin. The issues found by Lighthouse were impacting my TBT and my global performance score.&nbsp;<\/p><p>As seen previously, the TBT score is mainly impacted by issues like messy and unused JS, a high JS Execution time, high main-thread work, and a third-party code that takes up all the resources.&nbsp;<\/p><p>According to the audit, my website was not in very good health, and many JS\/main-thread issues were found:&nbsp;<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"767\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements.png\" alt=\"Issues identified by Lighthouse and areas of improvements (extract) \u2013 PSI\" class=\"wp-image-4155543\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-203x195.png 203w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-768x736.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-63x60.png 63w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-94x90.png 94w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>Issues identified by Lighthouse and areas of improvements (extract) \u2013 PSI<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\">Enabling the WP Rocket Features<\/h3><p>Upon activation of WP Rocket, I went to the settings section of my WordPress site, and I made sure to activate the following options:<\/p><h4 class=\"wp-block-heading\">1. Optimization of JS files (Defer and Delay)<\/h4><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"312\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/js-files-optimization.png\" alt=\"JS files optimization \u2013 WP Rocket\u2019s dashboard\" class=\"wp-image-4155551\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/js-files-optimization.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/js-files-optimization-310x121.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/js-files-optimization-768x300.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/js-files-optimization-154x60.png 154w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/js-files-optimization-231x90.png 231w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>JS files optimization \u2013 WP Rocket\u2019s dashboard<\/em><\/figcaption><\/figure><h4 class=\"wp-block-heading\">2. Optimization of CSS files<\/h4><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"509\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/css-files-optimization.png\" alt=\"CSS files optimization \u2013 WP Rocket\u2019s dashboard\" class=\"wp-image-4155557\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/css-files-optimization.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/css-files-optimization-306x195.png 306w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/css-files-optimization-768x489.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/css-files-optimization-94x60.png 94w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/css-files-optimization-141x90.png 141w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption>CSS<em>&nbsp;files optimization \u2013 WP Rocket\u2019s dashboard<\/em><\/figcaption><\/figure><h4 class=\"wp-block-heading\">3. URLs to prefetch<\/h4><p>I\u2019ve added a couple of URLs to prefetch, and it increased my score again:<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"268\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request.png\" alt=\"Prefetch option by WP Rocket\" class=\"wp-image-4155564\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-310x104.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-768x257.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-179x60.png 179w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-269x90.png 269w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>Prefetch option by WP Rocket<\/em><\/figcaption><\/figure><h4 class=\"wp-block-heading\">4. Preload fonts<\/h4><p>Lighthouse also found a performance issue regarding the fonts and the icons used on the website. I fixed it using the WP Rocket \u201cPreload fonts\u201d tab:<\/p><ul class=\"wp-block-list\"><li>Expand the \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/preload-key-requests-wordpress\/\">Preload Key Requests<\/a>\u201d section in PSI to identify the URLs containing the issues.&nbsp;<\/li><li>Copy the URLs provided by Lighthouse.<\/li><li>Paste them in the \u201cPreload Fonts\u201d section in your WP Rocket dashboard.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"303\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSIs-recommendations.png\" alt=\"Adding the fonts to preload in WP Rocket dashboard according to PSI recommendations\" class=\"wp-image-4155572\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSIs-recommendations.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSIs-recommendations-310x117.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSIs-recommendations-768x291.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSIs-recommendations-158x60.png 158w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSIs-recommendations-238x90.png 238w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption><em>Adding the fonts to preload in WP Rocket dashboard according to PSI recommendations<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\">Achieving Excellent Performance Results<\/h3><p>Finally, my \u201cPassed audits\u201d list has significantly grown, and some issues like \u201cMinify JS\u201d, \u201cMinimize main-thread works,\u201d \u201cRemove unused JS\u201d or \u201cEliminate render-blocking resources\u201d are gone thanks to WP Rocket.&nbsp;&nbsp;<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"1211\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/passed-audits-after-using-Wp-Rocket.png\" alt=\"Passed audits after using WP Rocket \u2013 PSI\" class=\"wp-image-4155578\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/passed-audits-after-using-Wp-Rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/passed-audits-after-using-Wp-Rocket-129x195.png 129w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/passed-audits-after-using-Wp-Rocket-768x1163.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/passed-audits-after-using-Wp-Rocket-40x60.png 40w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/passed-audits-after-using-Wp-Rocket-59x90.png 59w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption>Passed audits after using WP Rocket \u2013 PSI<\/figcaption><\/figure><p>I\u2019ve summarized my audit in the table below to highlight the main challenges overcome:<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Lighthouse recommendations that impact the Total Blocking Time<\/strong><\/td><td><strong>Can it be solved by WP Rocket?&nbsp;<\/strong><\/td><\/tr><tr><td>JS related issues: Eliminate render-blocking resources and Remove unused Javascript<\/td><td><strong>Yes<\/strong>&nbsp;\u2013 In a few clicks, you\u2019ll defer and delay JS and clean up the code.<\/td><\/tr><tr><td>Minify CSS and Optimize CSS delivery.<\/td><td><strong>Yes<\/strong>&nbsp;\u2013 By minifying CSS and use the Optimize CSS Delivery option, you\u2019ll address the PSI recommendations.<\/td><\/tr><tr><td>Minify third-party usage and Preconnect to required origins<\/td><td><strong>Yes<\/strong>&nbsp;\u2013 You can use the Prefetch DNS feature.<\/td><\/tr><tr><td>Reduce JS Execution Time<\/td><td><strong>Yes<\/strong>&nbsp;\u2013 In a few clicks, you\u2019ll minify, delay, and defer JavaScript and improve JS execution time.<\/td><\/tr><tr><td>Minimize main-thread work&nbsp;<\/td><td><strong>Yes<\/strong>&nbsp;\u2013 By deferring, delaying, and minifying JS and CSS, you\u2019ll take care of the PSI recommendation.<\/td><\/tr><tr><td>Reduce initial server response time<\/td><td><strong>Yes&nbsp;<\/strong>\u2013 By using caching and a CDN, you\u2019ll reduce the Time to First Byte.<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"section-9\">Wrapping Up&nbsp;<\/h2><p>Hopefully, this guide has helped you to understand how to optimize your TBT score for your WordPress site using some concrete steps.&nbsp;<\/p><p>Total Blocking Time is an important user-centric performance metric as it counts for 30% of the Lighthouse performance grade. A slow website can drive away potential visitors and customers, hurt your site\u2019s User Experience (UX), and even impact your SEO.&nbsp;<\/p><p><a href=\"https:\/\/wp-rocket.me\/features\/\">The easiest and most convenient way to get a great TBT score is by installing WP Rocket<\/a>&nbsp;which applies 80% of web performance best practices right upon activation.&nbsp;<\/p><p><strong>You can always count on our 100% money-back guarantee<\/strong>. Although we don\u2019t think you\u2019ll ever want one, we\u2019ll gladly provide a refund if you request it within 14 days of purchase.<\/p><p>\ud83d\ude80 The only risk you\u2019ll be taking with our plugin is speeding up your website!<\/p>","protected":false},"excerpt":{"rendered":"<p>Wondering what Total Blocking Time is and how to reduce it on your WordPress site? You&#8217;ll find the information you need in the WP&nbsp;Rocket in-depth guide. <\/p>\n","protected":false},"template":"","lighthouse_performance":[],"class_list":["post-4155371","lp_resources","type-lp_resources","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Reduce Total Blocking Time (TBT) on WordPress<\/title>\n<meta name=\"description\" content=\"Wondering what Total Blocking Time is and how to reduce it on your WordPress site? You&#039;ll find the information you need in the WP Rocket in-depth guide.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Reduce Total Blocking Time (TBT) on WordPress\" \/>\n<meta property=\"og:description\" content=\"Wondering what Total Blocking Time is and how to reduce it on your WordPress site? You&#039;ll find the information you need in the WP Rocket in-depth guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\" \/>\n<meta property=\"og:site_name\" content=\"WP Rocket\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-20T10:14:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@wp_rocket\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"23 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\",\"url\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\",\"name\":\"How to Reduce Total Blocking Time (TBT) on WordPress\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png\",\"datePublished\":\"2022-03-10T08:26:21+00:00\",\"dateModified\":\"2022-09-20T10:14:12+00:00\",\"description\":\"Wondering what Total Blocking Time is and how to reduce it on your WordPress site? You'll find the information you need in the WP Rocket in-depth guide.\",\"breadcrumb\":{\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#primaryimage\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png\",\"width\":1469,\"height\":721},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wp-rocket.me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lighthouse Score\",\"item\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Reduce Total Blocking Time (TBT) on Your WordPress Site\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wp-rocket.me\/#website\",\"url\":\"https:\/\/wp-rocket.me\/\",\"name\":\"WP Rocket\",\"description\":\"Plugin d&#039;optimisation de sites WordPress\",\"publisher\":{\"@id\":\"https:\/\/wp-rocket.me\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wp-rocket.me\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/wp-rocket.me\/#organization\",\"name\":\"WP Rocket\",\"url\":\"https:\/\/wp-rocket.me\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png\",\"width\":150,\"height\":41,\"caption\":\"WP Rocket\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829\",\"https:\/\/x.com\/wp_rocket\",\"https:\/\/www.youtube.com\/channel\/UC1ozThXHd1IWIZ5wkshgp_Q\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Reduce Total Blocking Time (TBT) on WordPress","description":"Wondering what Total Blocking Time is and how to reduce it on your WordPress site? You'll find the information you need in the WP Rocket in-depth guide.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/","og_locale":"en_US","og_type":"article","og_title":"How to Reduce Total Blocking Time (TBT) on WordPress","og_description":"Wondering what Total Blocking Time is and how to reduce it on your WordPress site? You'll find the information you need in the WP Rocket in-depth guide.","og_url":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/","og_site_name":"WP Rocket","article_publisher":"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","article_modified_time":"2022-09-20T10:14:12+00:00","og_image":[{"url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png"}],"twitter_card":"summary_large_image","twitter_site":"@wp_rocket","twitter_misc":{"Est. reading time":"23 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/","url":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/","name":"How to Reduce Total Blocking Time (TBT) on WordPress","isPartOf":{"@id":"https:\/\/wp-rocket.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#primaryimage"},"image":{"@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png","datePublished":"2022-03-10T08:26:21+00:00","dateModified":"2022-09-20T10:14:12+00:00","description":"Wondering what Total Blocking Time is and how to reduce it on your WordPress site? You'll find the information you need in the WP Rocket in-depth guide.","breadcrumb":{"@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#primaryimage","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/tbt-lighthouse-v8.png","width":1469,"height":721},{"@type":"BreadcrumbList","@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wp-rocket.me"},{"@type":"ListItem","position":2,"name":"Lighthouse Score","item":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/"},{"@type":"ListItem","position":3,"name":"How to Reduce Total Blocking Time (TBT) on Your WordPress Site"}]},{"@type":"WebSite","@id":"https:\/\/wp-rocket.me\/#website","url":"https:\/\/wp-rocket.me\/","name":"WP Rocket","description":"Plugin d&#039;optimisation de sites WordPress","publisher":{"@id":"https:\/\/wp-rocket.me\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wp-rocket.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wp-rocket.me\/#organization","name":"WP Rocket","url":"https:\/\/wp-rocket.me\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png","width":150,"height":41,"caption":"WP Rocket"},"image":{"@id":"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","https:\/\/x.com\/wp_rocket","https:\/\/www.youtube.com\/channel\/UC1ozThXHd1IWIZ5wkshgp_Q"]}]}},"_links":{"self":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/lp_resources\/4155371"}],"collection":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/lp_resources"}],"about":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/types\/lp_resources"}],"wp:attachment":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/media?parent=4155371"}],"wp:term":[{"taxonomy":"lighthouse_performance","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/lighthouse_performance?post=4155371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}