{"id":4155129,"date":"2022-03-10T09:25:36","date_gmt":"2022-03-10T08:25:36","guid":{"rendered":"https:\/\/wp-rocket.me\/?post_type=lp_resources&#038;p=4155129"},"modified":"2023-05-05T15:28:26","modified_gmt":"2023-05-05T13:28:26","slug":"improve-time-to-interactive","status":"publish","type":"lp_resources","link":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/","title":{"rendered":"How to Improve Time to Interactive (TTI) on WordPress"},"content":{"rendered":"<p><strong>Update<\/strong>: Time to Interactive has been removed in Lighthouse 10, and it&#8217;s no longer included as a performance metric.<\/p><p>Wondering what\u2019s Time to Interactive and how it affects the speed of your WordPress site? Then keep reading because we all want a website that is fast and easy to interact with. Nothing is more frustrating than clicking somewhere on the page and getting no results from our action, right?\u00a0\u00a0<\/p><p>To make sure that your website provides an outstanding user experience, there are a few metrics you should take care of, and TTI is one of them. As a user-centric metric, Time to Interactive holds up 10% of the global performance score computed by Lighthouse. It may not be the most influential metric for the final score, but the frustration experienced by the user may lead them to exit your page, or even worse: exit your website!&nbsp;&nbsp;<\/p><p>We will explain what Time to Interactive is, why it\u2019s important, which tools can measure it, and what affects its score. We\u2019ll also share some technical tips to fix a bad Time to Interactive grade (TTI longer than 3,8 seconds). Finally, we will show you how to improve your overall performance score and ensure that your website does not look broken.<\/p><h2 class=\"wp-block-heading\" id=\"section-1\">What Does Time to Interactive (TTI) Mean in Lighthouse?<\/h2><p>Time To Interactive measures how quickly visitors are able to fully interact with your page.&nbsp;&nbsp;<\/p><p>It\u2019s a meaningful lab metric for assessing load responsiveness that directly affects&nbsp;<strong>how users perceive performance and interaction.&nbsp;<\/strong><\/p><p>The TTI metric measures when the page starts loading to when its main sub-resources have loaded and it is capable of responding to a user action quickly.&nbsp;<\/p><p>In short, TTI measures how fast a page can execute any JavaScript code for components to respond quickly to any user action. It helps to identify which page&nbsp;<em>looks<\/em>&nbsp;interactive.&nbsp;<\/p><p>Let me explain with an example.<\/p><p>A user can see a call-to-action button on the screen. He tries to click on it, but nothing happens: the element is&nbsp;<strong>not<\/strong>&nbsp;clickable. Frustrating, right? The TTI metric helps you to identify those pages that&nbsp;<strong>look&nbsp;<\/strong>interactive but actually, they are not.&nbsp;<\/p><p>TTI goes hand in hand with&nbsp;<a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\">Total Blocking Time<\/a>&nbsp;because together, they provide insights into your page\u2019s responsiveness to a user\u2019s action.&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\ud83d\udcd6 A page is considered fully interactive when:<\/strong><br><br>\u2013 The page displays useful content, which is measured by the First Contentful Paint<br>\u2013 Event handlers are registered for the most visible page elements<br>\u2013 The page responds to user interactions within 3,8 seconds.<\/td><\/tr><\/tbody><\/table><\/figure><p>Lighthouse is an open-source and automated tool that helps developers in improving the quality of web pages. It creates audits for speed, performance,&nbsp;<a href=\"https:\/\/wp-rocket.me\/blog\/web-accessibility-seo\/\">accessibility<\/a>, UX, and search engine optimization (SEO). To provide a great user experience, sites should strive to have a score between 90 and 100.&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td>\ud83d\ude80 If you need help to perform your website\u2019s audit, we recommend you to follow our complete guide that explains&nbsp;<a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/\">how to improve your Lighthouse performance score<\/a>.<\/td><\/tr><\/tbody><\/table><\/figure><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"844\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png\" alt=\"Performance score performed by Lighthouse including TTI \u2013 PSI\" class=\"wp-image-4155141\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI-185x195.png 185w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI-768x810.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Performance score performed by Lighthouse including TTI \u2013&nbsp;<\/em><a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/?hl=en&amp;url=wp-rocket.me&amp;tab=desktop\"><em>PSI<\/em><\/a><\/figcaption><\/figure><p>In short, a fast TTI helps ensure that the page is&nbsp;<strong>usable.<\/strong><\/p><p>Lighthouse v8 combines 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&nbsp;<strong>Time to Interactive<\/strong>, 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-3,4 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><strong>Time to Interactive<\/strong><\/td><td><strong>10%<\/strong><\/td><td><strong>0-3,8 s&nbsp;<\/strong><em>(Web.dev says that the score can be acceptable up to 5 s)<\/em><\/td><\/tr><tr><td><a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\">Total Blocking Time<\/a><\/td><td>30%<\/td><td>&lt; 200 ms<\/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><h2 class=\"wp-block-heading\" id=\"section-2\">How to Measure Time to Interactive<\/h2><p>To define your TTI score, you need to measure the time from when the page starts loading to when it has visually rendered its initial scripts, and it\u2019s capable of reliably responding to user input quickly.&nbsp;<\/p><p>Lighthouse follows four steps to measure the TTI:&nbsp;<\/p><ol class=\"wp-block-list\"><li>Start at&nbsp;<a href=\"https:\/\/web.dev\/fcp\/\">First Contentful Paint (<\/a>when the first text and image elements are rendered to the screen.)<\/li>\n\n<li>Search forward in time for a quiet window of at least five seconds (quiet window = no&nbsp;<a href=\"https:\/\/web.dev\/custom-metrics\/#long-tasks-api\">long tasks<\/a>&nbsp;and no more than two in-flight network GET requests)<\/li>\n\n<li>Search backwards for the last long task before the quiet window, stopping at FCP if no long tasks are found.<\/li>\n\n<li>TTI is the end time of the last long task before the quiet window (if no long tasks are found, it\u2019s the same value as FCP).<\/li><\/ol><p>You can visualize the four steps thanks to the diagram below:<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"478\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/Explaining-how-TTI-is-calculated.png\" alt=\"Explaining how TTI is calculated \u2013 Source: Webdev \u2013 TTI\" class=\"wp-image-3518475\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/Explaining-how-TTI-is-calculated.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/Explaining-how-TTI-is-calculated-310x185.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/Explaining-how-TTI-is-calculated-768x459.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><h3 class=\"wp-block-heading\">Which tools to measure TTI automatically?<\/h3><p>You can use two different tools to measure TTI and your performance using the Lighthouse technology.<\/p><ul class=\"wp-block-list\"><li>Using&nbsp;<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) to measure the TTI metric:<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"527\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TTI-metric-from-PSI.png\" alt=\"Time to Interactive \u2013 PSI\" class=\"wp-image-4155150\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TTI-metric-from-PSI.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TTI-metric-from-PSI-296x195.png 296w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TTI-metric-from-PSI-768x506.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TTI-metric-from-PSI-91x60.png 91w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/TTI-metric-from-PSI-137x90.png 137w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Time to Interactive \u2013 PSI<\/figcaption><\/figure><ul class=\"wp-block-list\"><li>Using&nbsp;<a href=\"https:\/\/gtmetrix.com\/reports\/wp-rocket.me\/M53lK5DA\/\">GTmetrix<\/a>&nbsp;to get the TTI grade:<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"524\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/performance-report-gt-metrix.png\" alt=\"Time to Interactive \u2013 GTmetrix\" class=\"wp-image-4155157\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/performance-report-gt-metrix.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/performance-report-gt-metrix-298x195.png 298w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/performance-report-gt-metrix-768x503.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/performance-report-gt-metrix-92x60.png 92w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/performance-report-gt-metrix-137x90.png 137w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Time to Interactive \u2013 GTmetrix<\/figcaption><\/figure><p>Both tools provide a TTI score, but as you can see, the numbers \u2014 in the green zone \u2014 are slightly different:<\/p><ul class=\"wp-block-list\"><li>TTI score (PSI): 0,8 s<\/li>\n\n<li>TTI score (GT Metrix): 1,2 s<\/li><\/ul><p>This is mainly due to various factors, including Lighthouse testing methodology, location of the tests, etc.&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td>\ud83d\ude80 Running a performance audit is not always easy. Check our complete guide about&nbsp;<a href=\"https:\/\/wp-rocket.me\/blog\/how-to-test-wordpress-site-performance-measure-speed-results\/\">testing WordPress site performance and measuring speed results<\/a>. It will help you identify the tools you need and what are the acceptable thresholds for each metric.&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"section-3\">What\u2019s a Good Time to Interactive (TTI) Score?<\/h2><p>You should always strive to have a Time to Interactive of less than 3,8 seconds to ensure a good user experience. Your TTI score is a comparison of the TTI time of your page and the TTI times of high-ranking sites when loaded on mobile or desktop.&nbsp;<\/p><p><strong>Time to Interactive Scoring is classified as the following:<\/strong><\/p><ul class=\"wp-block-list\"><li>Green: 0-3.8 (good)<\/li>\n\n<li>Orange: 3.8-7.3 (needs improvement)<\/li>\n\n<li>Red: 7.3 (Poor)<\/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\/2021\/06\/TTI-acceptable-score.png\" alt=\"TTI acceptable score \u2013 web.dev\" class=\"wp-image-3518502\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/TTI-acceptable-score.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/TTI-acceptable-score-310x78.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/TTI-acceptable-score-768x192.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>TTI acceptable score \u2013 web.dev<\/em><\/figcaption><\/figure><p><br>Time to Interactive is often compared to the&nbsp;<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-first-input-delay\/\">First Input Delay (FID)<\/a>&nbsp;metric. In the next part, we will explain why.<\/p><h2 class=\"wp-block-heading\" id=\"section-4\">Is First Input Delay (FID) the Same as Time to Interactive (TTI)?<\/h2><p>FID and TTI both measure the level of interactivity of your web page. However, besides this common ground, we also find a few differences:&nbsp;<\/p><ul class=\"wp-block-list\"><li>TTI measures how long it takes a page to be ready to respond to user input, while FID measures how responsive your page is when real users try to interact with it.<\/li>\n\n<li>TTI can be calculated with lab data (without real-world users), but the First Input Delay (FID) is a field-only metric that requires real-user data. The FID calculation cannot be done within a lab environment. This form of data can only be collected from actual users.<\/li>\n\n<li>First Input Delay tracks user input that&nbsp;<strong>happens before the page is fully interactive.<\/strong>&nbsp;First Input Delay allows you to capture those early, critical interactions:&nbsp;<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"369\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/FID-TTI-explained.png\" alt=\"FID-TTI explained\" class=\"wp-image-3518507\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/FID-TTI-explained.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/FID-TTI-explained-310x143.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/FID-TTI-explained-768x354.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>FID-TTI explained<\/em><\/figcaption><\/figure><ul class=\"wp-block-list\"><li>FID \u2013 that requires real-world users to be computed \u2013 is a Core Web Vitals metric that measures<strong>&nbsp;<\/strong>what<strong>&nbsp;happens when someone interacts with the page<\/strong>, as shown below:&nbsp;<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"417\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-from-user-input-to-browser-responding-time.png\" alt=\"FID metric: from user input to browser responding time\" class=\"wp-image-4155175\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-from-user-input-to-browser-responding-time.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-from-user-input-to-browser-responding-time-310x162.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-from-user-input-to-browser-responding-time-768x400.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-from-user-input-to-browser-responding-time-115x60.png 115w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/FID-from-user-input-to-browser-responding-time-173x90.png 173w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">FID metric: from user input to browser responding time<\/figcaption><\/figure><figure class=\"wp-block-table\"><table><tbody><tr><td><strong>To sum up:&nbsp;<\/strong>Both TTI and FID measure interactivity. The metrics capture the user\u2019s first impression of a site\u2019s interactivity and responsiveness. TTI can be calculated without real-world users, whereas FID can\u2019t.<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"section-5\">What\u2019s the Impact of Time to Interactive on Performance?<\/h2><p>As seen previously, a high TTI can create a frustrating user experience: the user thinks that the site is fully ready, but when he tries to click somewhere,&nbsp;nothing happens.&nbsp;<\/p><p>Let\u2019s see a real-life example for TTI<strong>&nbsp;<\/strong>(in orange below). As you can see, it marks a page as fully interactive if the main thread has been free of long tasks for about 4-5 seconds:<\/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\/2021\/06\/Explaining-Interactivity.png\" alt=\"Explaining Interactivity \u2013 Source: dev.to\" class=\"wp-image-3518524\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/Explaining-Interactivity.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/Explaining-Interactivity-260x195.png 260w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/Explaining-Interactivity-768x577.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Explaining Interactivity \u2013 Source:&nbsp;<\/em><a href=\"https:\/\/dev.to\/addyosmani\/web-page-usability-matters-3aok\"><em>dev.to<\/em><\/a><br><br><\/figcaption><\/figure><p>Tools like PageSpeed Insights don\u2019t really like this, and they will not hesitate to penalize your website by lowering your performance grade.&nbsp;<\/p><h3 class=\"wp-block-heading\">TTI weight on the Lighthouse score<\/h3><p>In the Lighthouse v8 Performance score, TTI\u2019s weight has been reduced from 15% to 10%.&nbsp;<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"441\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Lighthouse-Scoring-Calculator-v8-Including-TTI.png\" alt=\"Lighthouse Scoring Calculator v8 (Including TTI)  \u2013 Web.dev\n\" class=\"wp-image-4155184\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Lighthouse-Scoring-Calculator-v8-Including-TTI.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Lighthouse-Scoring-Calculator-v8-Including-TTI-310x171.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Lighthouse-Scoring-Calculator-v8-Including-TTI-768x423.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Lighthouse-Scoring-Calculator-v8-Including-TTI-109x60.png 109w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Lighthouse-Scoring-Calculator-v8-Including-TTI-163x90.png 163w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Lighthouse Scoring Calculator v8 (Including TTI)&nbsp; \u2013&nbsp;<a href=\"https:\/\/web.dev\/performance-scoring\/\">Web.dev<\/a><br><\/figcaption><\/figure><p><br>Why such a change? Web.dev explains that it directly responds to users\u2019 feedback and \u201cinconsistencies in metric optimizations leading to improvements in user experience\u201d.<\/p><p><a href=\"https:\/\/docs.google.com\/document\/d\/1xCERB_X7PiP5RAZDwyIkODnIXoBk-Oo7Mi9266aEdGg\/edit#heading=h.vkfjuiyx1s5l\">Web.dev<\/a> says: &#8220;TTI is still a useful signal for when a page is fully interactive, however with TBT as a complement\u2013variability is reduced. With this scoring change, we hope developers are more effectively encouraged to optimize for user interactivity.\u201d<\/p><p>TTI measures how long it takes your page to be ready for interaction: how long the main JS thread is blocked and how soon it would have the capacity to deal with a user\u2019s action.<\/p><p>It\u2019s an important lab metric because&nbsp;<strong>it defines if your page is usable or not.&nbsp;<\/strong><\/p><p>Before giving you actionable recommendations to keep your TTI under 3.8 s, we need to define what causes a bad TTI score.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"section-6\">What Affects Time to Interactive?&nbsp;<\/h2><p>Let\u2019s see what can cause a high Time to Interactive score with the help of the diagnostics section from Google PageSpeed Insights. We generally have four issues contributing to a bad TTI grade, namely:<\/p><ol class=\"wp-block-list\"><li>JavaScript code and unused JS<\/li>\n\n<li>JavaScript Execution time<\/li>\n\n<li>Main thread work<\/li>\n\n<li>Third-party code&nbsp;<\/li><\/ol><p>Thanks to the \u201copportunities\u201d and \u201cdiagnostics\u201d sections in your Lighthouse report, you can use some tips to improve your overall performance grade.&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\/Opportunity-and-Diagnostics-section-source-PSI.png\" alt=\"Opportunity and Diagnostics section \u2013 source PSI\n\" class=\"wp-image-4155200\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-source-PSI.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-source-PSI-203x195.png 203w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-source-PSI-768x736.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-source-PSI-63x60.png 63w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Opportunity-and-Diagnostics-section-source-PSI-94x90.png 94w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><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 TTI and user experience.&nbsp;<\/p><p>We\u2019ve listed a few recommendations from PSI in case you need to improve your TTI score:<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/eliminate-render-blocking-javascript-css\/\">Eliminate render-blocking resources<\/a><\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/minimize-main-thread-work\/\">Minimize main thread work<\/a><\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-javascript-execution-time\/\">Reduce JavaScript execution time<\/a><\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/remove-unused-javascript\/\">Remove unused JS<\/a><\/li>\n\n<li>Reduce the impact of third party code<\/li>\n\n<li>Avoid chaining critical requests<\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/preload-key-requests-wordpress\/\">Preload key requests<\/a><\/li>\n\n<li>Keep request counts low and transfer sizes small<\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-ttfb-server-response-times\/\">Reduce server response times<\/a><\/li><\/ul><figure class=\"wp-block-table\"><table><tbody><tr><td>\ud83d\udca1 Spoiler alert: you can optimize your&nbsp;<a href=\"https:\/\/wp-rocket.me\/features\/\">TTI score using the WP Rocket plugin<\/a>!<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"section-7\">How to Improve TTI on Your WordPress Site&nbsp;<\/h2><p>You can reduce your Time to Interactive score by optimizing your JS files (including third-party code.) Any sort of good measures going towards JS execution will most likely improve TTI. Always focus on the order and loading preferences of your resources and the number and size of requests.&nbsp;<\/p><p>There are eight performance optimizations we recommend you implement if you want to fix Time to Interactive and improve the overall speed of your WordPress site.<\/p><ol class=\"wp-block-list\"><li><a href=\"#defer-js\">Defer JS<\/a><\/li>\n\n<li><a href=\"#delay-js-remove-unused-js\">Delay JS and Reduce Unused JS<\/a><\/li>\n\n<li><a href=\"#minify-js-css\">Minify JS and CSS<\/a><\/li>\n\n<li><a href=\"#optimize-css-delivery\">Optimize CSS Delivery and Reduce Unused CSS<\/a><\/li>\n\n<li><a href=\"#reduce-ttfb\">Reduce TTFB<\/a><\/li>\n\n<li><a href=\"#prefetch-dns-requests\">Prefetch DNS Requests<\/a><\/li>\n\n<li><a href=\"#preload-fonts\">Preload Fonts<\/a><\/li>\n\n<li><a href=\"#time-to-interactive-mobile\">Improve TTI on Mobile<\/a><\/li><\/ol><h3 class=\"wp-block-heading\" id=\"defer-js\">1. Defer JS&nbsp;<\/h3><p>Deferring the JS files means that they will be loaded only&nbsp;<em>after&nbsp;<\/em>the browser has displayed the most important content. The goal is to make your page load faster by prioritizing the content you want to show first. You will reduce the amount of time spent in parsing, compiling, and running JS files, which will help in improving TTI.&nbsp;<\/p><p>Examples of non-essential JS that can generally be deferred: Social sharing, cookie consents, etc.<\/p><p><strong>\ud83d\udea8 Issues identified by Lighthouse:&nbsp;<\/strong>\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\/\">Reduce unused JavaScript<\/a>\u201d and \u201cAvoid chaining critical requests\u201d issues.<\/p><p><strong>\u2705&nbsp; A manual solution:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li><strong>Use of 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><\/li><\/ul><pre class=\"wp-block-code\"><code class=\"\">&lt;script src=\u201dlibrary.js\u201d defer&gt;&lt;\/script&gt;<\/code><\/pre><p><\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"222\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/How-the-defer-attribute-works.png\" alt=\"How the defer attribute works \u2013 source: javascript.plainenglish\" class=\"wp-image-3518733\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/How-the-defer-attribute-works.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/How-the-defer-attribute-works-310x86.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/06\/How-the-defer-attribute-works-768x213.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">How the defer attribute works \u2013 source:&nbsp;<a href=\"https:\/\/javascript.plainenglish.io\/\">javascript.plainenglish<\/a><\/figcaption><\/figure><p><strong>\u2705&nbsp; WordPress plugins solution:&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 in priority. All you have to do is select the CSS or JS code that should not be rendered first.<br><em>Note: the plugin author recommends using Asset CleanUp with a cache plugin like WP Rocket to get the best performance results<\/em><\/li>\n\n<li><a href=\"https:\/\/fr.wordpress.org\/plugins\/async-javascript\/\">Async JS<\/a>:&nbsp; Async JavaScript gives you full control of which scripts to add a \u2018defer\u2019 attribute to help increase the performance of your WordPress website.<\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/\">WP Rocket<\/a>&nbsp;has an option to defer parsing of JavaScript and defer the JS&nbsp; WordPress files as shown below:<\/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\/load-js-deferred-feature.png\" alt=\"Load JS deferred feature \u2013 Source: WP Rocket\u2019s dashboard\" class=\"wp-image-4155223\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-feature.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-feature-310x100.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-feature-768x249.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-feature-185x60.png 185w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-feature-278x90.png 278w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Load JS deferred feature \u2013 Source: WP Rocket\u2019s dashboard<\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"delay-js-remove-unused-js\">2. Delay JS and Reduce Unused JS<\/h3><p>By delaying JS execution and removing or reducing unused JS, you\u2019ll improve performance and your TTI score. The main idea is to delay the loading of all JS files until a user interaction happens, such as clicking on a button or scrolling to the end of the page. A good starting point is to check your GTmetrix Waterfall chart to see where JavaScript is being loaded. You can get the same diagnosis using PSI. Once you run the audit, you\u2019ll be able to determine if the \u201cbad\u201d JS is coming from your code or a third-party app.<\/p><p><strong>\ud83d\udea8 Issues identified by Lighthouse:&nbsp;<\/strong>\u201cAvoid chaining critical requests\u201d and \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/remove-unused-javascript\/\">Reduce unused JavaScript<\/a>\u201d.&nbsp;<\/p><p>\u2705&nbsp;<strong>Manual solutions:&nbsp;<\/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 use those&nbsp;<a href=\"https:\/\/www.w3schools.com\/js\/js_timing.asp\">very helpful code snippets<\/a>&nbsp;to delay any JS functions.<\/li>\n\n<li>Manually deleting unused JS can be dangerous for your website. If you remove one more space or one more bracket, things can become pretty ugly. If you are not an advanced developer, I would not recommend doing such a thing manually.<\/li><\/ul><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>&nbsp;a plugin to delay JS and give more resources to critical JS files. It helps to prioritize.&nbsp;<\/li>\n\n<li><a href=\"https:\/\/fr.wordpress.org\/plugins\/plugin-organizer\/\">Plugin Organizer:<\/a>&nbsp;changes the order that your plugins are loaded (it helps you prioritize the content to be rendered first.)<\/li>\n\n<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>\n\n<li><a href=\"https:\/\/gonzalesplugin.com\/\">Gonzales:<\/a>&nbsp;allows to conditionally disable CSS, JS, and even plugins depending on the page you visit.<\/li>\n\n<li><a href=\"https:\/\/fr.wordpress.org\/plugins\/wp-asset-clean-up\/\">Asset CleanUp<\/a>&nbsp;(please refer to the section above).<\/li>\n\n<li><a href=\"https:\/\/perfmatters.io\/\">Perfmatters<\/a>: it lets you disable plugins everywhere except on pages and posts.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"556\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Example-Removing-unused-Elementor-JS-with-Perfmatters.png\" alt=\"Example \u2013 Removing unused Elementor JS with Perfmatters\n\" class=\"wp-image-4155231\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Example-Removing-unused-Elementor-JS-with-Perfmatters.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Example-Removing-unused-Elementor-JS-with-Perfmatters-281x195.png 281w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Example-Removing-unused-Elementor-JS-with-Perfmatters-768x534.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Example-Removing-unused-Elementor-JS-with-Perfmatters-86x60.png 86w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Example-Removing-unused-Elementor-JS-with-Perfmatters-129x90.png 129w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Example \u2013 Removing unused Elementor JS with Perfmatters<\/figcaption><\/figure><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wp-rocket.me\/pricing\/\">WP Rocket cache plugin<\/a>: the all-in-one solution. You can easily delay JavaScript files and remove (or reduce) unused JS in one single click.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1587\" height=\"472\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-1.png\" alt=\"Delay JavaScript execution feature in WP Rocket 3.9\" class=\"wp-image-4155246\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-1.png 1587w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-1-310x92.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-1-768x228.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-1-190x57.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/delay-js-execution-3-9-1-303x90.png 303w\" sizes=\"(max-width: 1587px) 100vw, 1587px\" \/><figcaption class=\"wp-element-caption\"><em>Delay JavaScript execution feature in WP Rocket 3.9<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"minify-js-css\">3. Minify JS and CSS<\/h3><p>Minifying your code means removing any clutter and useless punctuation: new lines, spaces, etc. Those elements can help you or your developer reading the code, but they may also be responsible for slowing down your site.&nbsp;&nbsp;<\/p><p>Eliminating this \u201cuseless\u201d code from your script will free up time for the main thread to focus on many important tasks.&nbsp;<strong>Again, it\u2019s about making space and time for the most relevant content to be rendered first.&nbsp;<\/strong>The Coverage tab in Chrome DevTools can help you find unused JavaScript and CSS code:<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"667\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/coverage-tab-devtool.png\" alt=\"Analyzing code coverage \u2013 Source: dev tools\" class=\"wp-image-4155253\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/coverage-tab-devtool.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/coverage-tab-devtool-234x195.png 234w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/coverage-tab-devtool-768x640.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/coverage-tab-devtool-72x60.png 72w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/coverage-tab-devtool-108x90.png 108w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Analyzing code coverage \u2013<strong>&nbsp;<\/strong>Source:&nbsp;<a href=\"https:\/\/developer.chrome.com\/docs\/devtools\/coverage\/\">dev tools<\/a><\/figcaption><\/figure><p><strong>\ud83d\udea8 Issues identified by Lighthouse:&nbsp;<\/strong>\u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-javascript-execution-time\/\">Reduce JavaScript Execution Time<\/a>\u201d, \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/minimize-main-thread-work\/\">Minimize main thread work<\/a>\u201d, \u201dMinify JS\u201d, and \u201cMinify CSS\u201d.<\/p><p>\u2705&nbsp;&nbsp;<strong>Manual solutions:<\/strong><\/p><ul class=\"wp-block-list\"><li>Importance: do a backup of your site, or do not edit your JS or CSS files directly in a production server.&nbsp;<\/li>\n\n<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>\n\n<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>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\/JS minifier tab.<\/li>\n\n<li>Paste the CSS\/JS code into the input box and click the Minify CSS\/JS 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-4155260\" 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 class=\"wp-element-caption\">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 to minify your CSS and JS:&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/developers.google.com\/closure\/compiler\">Closure Compiler<\/a>&nbsp;by Google (JS)<\/li>\n\n<li><a href=\"https:\/\/github.com\/mishoo\/UglifyJS\">UglifyJs<\/a>&nbsp;(JS)<\/li>\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/autoptimize\/\">Autoptimize plugin<\/a>&nbsp;(CSS and JS)<\/li>\n\n<li><a href=\"https:\/\/yui.github.io\/yuicompressor\/\">YUI Compressor Tool<\/a>&nbsp;(CSS and JS)<\/li>\n\n<li><a href=\"https:\/\/fr.wordpress.org\/plugins\/wp-super-minify\/\">WP Super Minify<\/a>&nbsp;(CSS and JS)<\/li>\n\n<li><a href=\"https:\/\/github.com\/cssnano\/cssnano\">CSS Nano<\/a>&nbsp;(CSS)<\/li>\n\n<li><a href=\"https:\/\/github.com\/css\/csso\">CSSO<\/a>&nbsp;(CSS)<\/li>\n\n<li><a href=\"https:\/\/github.com\/uncss\/uncss\">UNCSS<\/a>&nbsp;(CSS)<\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket<\/a>&nbsp;allows you to minify both your JS and CSS files in a couple of clicks.&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-js-files-wp-rocket.png\" alt=\"Minify JavaScript files feature \u2013 WP Rocket dashboard. \" class=\"wp-image-4155268\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-js-files-wp-rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-js-files-wp-rocket-310x52.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-js-files-wp-rocket-768x128.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-js-files-wp-rocket-190x32.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-js-files-wp-rocket-541x90.png 541w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Minify JavaScript files feature \u2013 WP Rocket dashboard.&nbsp;<\/figcaption><\/figure><p><\/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\/minify-css-files.png\" alt=\"Minify CSS files feature \u2013 WP Rocket dashboard \" class=\"wp-image-4155275\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-css-files.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-css-files-310x86.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-css-files-768x212.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-css-files-190x52.png 190w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minify-css-files-326x90.png 326w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Minify CSS files feature \u2013 WP Rocket dashboard&nbsp;<\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"optimize-css-delivery\">4. Optimize CSS Delivery and Reduce Unused CSS<\/h3><p>Before the browser can render the content, it must process all the style and layout information for the current page. In other words, the browser must deliver the CSS, but this action could block the main thread from handling other important tasks and processes. Therefore, to maintain good performance, it\u2019s essential to perform two tasks:&nbsp;<\/p><ul class=\"wp-block-list\"><li>Optimize the way your CSS is delivered<\/li>\n\n<li>Remove all the unused CSS<\/li><\/ul><p><strong>\ud83d\udea8 Issues identified by Lighthouse:<\/strong>&nbsp;\u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/minimize-main-thread-work\/\">Minimize main thread work<\/a>\u201d, and \u201d<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/remove-unused-css\/\">Reduce unused CSS<\/a>\u201d.<\/p><p>\u2705&nbsp;&nbsp;<strong>Manual solutions to optimize CSS delivery:<\/strong><\/p><ul class=\"wp-block-list\"><li>Combine, compress and inline your CSS scripts.<\/li>\n\n<li>Prioritize the CSS rules: above-the-fold content comes first!<\/li>\n\n<li>Avoid using STYLE tags in the HTML body.<\/li><\/ul><p>\u2705&nbsp;&nbsp;<strong>Manual solutions to remove or reduce unused CSS:<\/strong><\/p><ul class=\"wp-block-list\"><li>You will need some technical knowledge to perform this action and be careful not to break your page. If you want to remove unused CSS completely, use a tool like&nbsp;<a href=\"https:\/\/purifycss.online\/\">PurifyCSS<\/a>&nbsp;to find out how much your CSS files can be reduced. The downside is that once the CSS to delete is identified, you have to remove it&nbsp;<strong>manually<\/strong>&nbsp;from the page.&nbsp;<\/li><\/ul><p>\u2705&nbsp;<strong>WordPress plugins to optimize CSS delivery and remove unused CSS<\/strong>:<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wordpress.org\/plugins\/speed-up-optimize-css-delivery\/\">Speed Up \u2013 Optimize CSS delivery<\/a>&nbsp;loads the stylesheet asynchronously, and improve your page load times.&nbsp;<\/li>\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/autoptimize\/\">Autoptimize<\/a>&nbsp;includes options to inline and defer CSS and optimize CSS<\/li>\n\n<li><a href=\"https:\/\/wordpress.org\/plugins\/wp-asset-clean-up\/\">Asset CleanUp<\/a>&nbsp;helps to reduce unused CSS<\/li>\n\n<li><a href=\"https:\/\/wp-rocket.me\/features\/\">The WP Rocket cache plugin<\/a>&nbsp;allows you to optimize your CSS delivery by removing (or reducing) the unused CSS in a few clicks directly from the \u201c<strong>File Optimization<\/strong>&nbsp;menu\u201d:<\/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 \u2013 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 class=\"wp-element-caption\"> Remove unused CSS \u2013 WP Rocket <\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"reduce-ttfb\">5. Reduce Server Response Time and Time to First Byte (TTFB)&nbsp;<\/h3><p>If you want your TTI score to remain low, your server needs to be fast. To reduce your server response time, you can use the methods below:&nbsp;<\/p><ul class=\"wp-block-list\"><li>Opt for a fast and efficient hosting provider<\/li>\n\n<li>Use a CDN Service (having a fast CDN around the world will provide a faster content delivery)<\/li>\n\n<li>Use advanced caching<\/li>\n\n<li>Use GZIP compression<\/li>\n\n<li>Optimize your database<\/li>\n\n<li>Use the latest version of PHP<\/li><\/ul><p><strong>\ud83d\udea8 Issue identified by Lighthouse:&nbsp;<\/strong>\u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-ttfb-server-response-times\/\">Reduce initial server response time<\/a>\u201d.<\/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>&nbsp;cache plugin and&nbsp;<a href=\"https:\/\/rocketcdn.me\/\">RocketCDN<\/a>&nbsp;will help you to reduce the TTI score.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"520\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/WP-Rocket-dashboard-.png\" alt=\"WP Rocket dashboard \" class=\"wp-image-4155287\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/WP-Rocket-dashboard-.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/WP-Rocket-dashboard--300x195.png 300w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/WP-Rocket-dashboard--768x499.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/WP-Rocket-dashboard--92x60.png 92w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/WP-Rocket-dashboard--138x90.png 138w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">WP Rocket dashboard&nbsp;<\/figcaption><\/figure><p>\u2705&nbsp;<strong>Enable GZIP compression&nbsp;<\/strong><\/p><ul class=\"wp-block-list\"><li>Use the&nbsp;<a href=\"https:\/\/wordpress.org\/plugins\/enable-gzip-compression\/\">GZIP Compression Plugin<\/a>.<\/li>\n\n<li>WP Rocket enables the&nbsp;<a href=\"https:\/\/wp-rocket.me\/features\/\">GZIP feature&nbsp;<\/a>automatically.<\/li><\/ul><p>\u2705<strong>&nbsp;Optimize your database<\/strong><\/p><ul class=\"wp-block-list\"><li>Use WP Rocket to clean up your database without breaking things.<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"643\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/optimizing-database-wp-rocket.png\" alt=\"Optimize database \u2013 WP Rocket dashboard \" class=\"wp-image-4155297\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/optimizing-database-wp-rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/optimizing-database-wp-rocket-243x195.png 243w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/optimizing-database-wp-rocket-768x617.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/optimizing-database-wp-rocket-75x60.png 75w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/optimizing-database-wp-rocket-112x90.png 112w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Optimize database \u2013 WP Rocket dashboard&nbsp;<\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"prefetch-dns-requests\">6. Prefetch DNS Requests&nbsp;<\/h3><p>If you have a third-party code on your site, like a video hosted on Vimeo or some Google Fonts, you should prefetch the DNS request. It will make your website faster, ss it minimizes the loading time and resources from another website. The main idea is to use Preconnect to make early connections to&nbsp;<a href=\"https:\/\/wp-rocket.me\/blog\/third-party-scripts\/\">third-party scripts<\/a>&nbsp;instead of waiting until they request it.<\/p><p><strong>\ud83d\udea8 Issues identified by Lighthouse:&nbsp;<\/strong>\u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/reduce-ttfb-server-response-times\/\">Reduce initial server response time<\/a>\u201d,<strong>&nbsp;<\/strong>\u201cMinify third-party usage\u201d and \u201cPreconnect to required origins\u201d.<\/p><p>\u2705&nbsp;<strong>Manual solution:<\/strong><\/p><ul class=\"wp-block-list\"><li>Use \u201crel=dns-prefetch\u201d in the header section. You can manually specify the domain for the browser to prefetch:<\/li><\/ul><p>&lt;link rel=\u201ddns-prefetch\u201d href=\u201d\/\/yourdomain.com\u201d&gt;<\/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 option:<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"622\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/DNS-prefetch-option-perfmatters.png\" alt=\"DNS prefetch option \u2013 Source perfmatters WordPress plugin\" class=\"wp-image-4155304\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/DNS-prefetch-option-perfmatters.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/DNS-prefetch-option-perfmatters-251x195.png 251w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/DNS-prefetch-option-perfmatters-768x597.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/DNS-prefetch-option-perfmatters-77x60.png 77w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/DNS-prefetch-option-perfmatters-116x90.png 116w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>DNS prefetch option<\/em>&nbsp;\u2013&nbsp;<em>Source&nbsp;<\/em><a href=\"https:\/\/perfmatters.io\/\"><em>perfmatters<\/em><\/a><em>&nbsp;WordPress plugin<\/em><\/figcaption><\/figure><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket plugin<\/a>&nbsp;also has a \u201cPrefetch DNS Requests\u201d section in its WordPress dashboard:<\/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-WP-Rocket-dashboard.png\" alt=\"Prefetch DNS Requests \u2013 WP Rocket dashboard\" class=\"wp-image-4155313\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-WP-Rocket-dashboard.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-WP-Rocket-dashboard-310x102.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-WP-Rocket-dashboard-768x253.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-WP-Rocket-dashboard-182x60.png 182w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Prefetch-DNS-Requests-WP-Rocket-dashboard-273x90.png 273w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Prefetch DNS Requests \u2013 WP Rocket dashboard<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"preload-fonts\">7. Preload Fonts<\/h3><p>Thanks to font preloading, you can \u201cforce\u201d a visitor\u2019s browser to load the important fonts early on.&nbsp;<\/p><p>A custom font is a crucial part of your branding, so it\u2019s very important to display it on your website. However,&nbsp;<a href=\"https:\/\/wp-rocket.me\/blog\/font-preloading-best-practices\/\">there are some best practices for web font preloading<\/a>&nbsp;to avoid performance issues.&nbsp; Here are three pieces of advice you may want to consider:&nbsp;<\/p><ul class=\"wp-block-list\"><li>Use the correct font format (woff and woff2).<\/li>\n\n<li>Preload fonts (as explained in the section below).<\/li>\n\n<li>Use the correct font-face declaration (the correct font family).<\/li><\/ul><p><strong>\ud83d\udea8 Issue identified by Lighthouse:&nbsp;<\/strong>\u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/preload-key-requests-wordpress\/\">Preload key requests<\/a>\u201d.<\/p><p>\u2705&nbsp;<strong>Manual solution<\/strong>:<\/p><ul class=\"wp-block-list\"><li>Tell the browser to preload the font using the appropriate rel=\u201dpreload\u201d tag and attributes:&nbsp;<br><br>Example:&nbsp;<br><br>&lt;link rel=\u201dpreload\u201d as=\u201dfont\u201d href=\u201d\/fonts\/custom-font.woff\u201d type=\u201dfont\/woff2\u2033 crossorigin=\u201danonymous\u201d&gt;<br><br>Where to put the tag?<br><br>You need to insert this link tag between the head tags on your HTML for each CSS, script, and font file loaded on the site.<\/li><\/ul><p>\u2705&nbsp;<strong>Using a WordPress plugin<\/strong>:<\/p><ul class=\"wp-block-list\"><li>Use&nbsp;<a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket<\/a>&nbsp;to preload fonts. Go to the \u201cPreload tab\u201d, scroll to the \u201cPreload Fonts\u201d and simply specify the URLs of the font files you want to preload:<\/li><\/ul><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"399\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/preload-fonts-wp-rocket.png\" alt=\"Preload Fonts \u2013 WP Rocket dashboard\" class=\"wp-image-4155320\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/preload-fonts-wp-rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/preload-fonts-wp-rocket-310x155.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/preload-fonts-wp-rocket-768x383.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/preload-fonts-wp-rocket-120x60.png 120w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/preload-fonts-wp-rocket-180x90.png 180w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Preload Fonts \u2013 WP Rocket dashboard<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\" id=\"time-to-interactive-mobile\">8. Focus on Time to Interactive on Mobile<\/h3><p>How to improve Time to Interactive on mobile? First, focus on tackling any JavaScript issue. Then, apply all the performance recommendations listed above. Just remember: the more scripts there are, the longer the TTI will be, and this can also vary from one device to another.&nbsp;<\/p><p>Let\u2019s take the example of a smartphone with a less powerful processor than a computer. A site being loaded on the latter will necessarily suffer the impact of the number of Javascript scripts.&nbsp;<\/p><p>Google\u2019s recommendations are to remove or postpone the scripts that are not necessary for the stability and rendering of the mobile website. So, check your JavaScript, keep the mobile version design simple, and avoid excessive use of heavy elements like a slider.&nbsp;<\/p><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 Reduce the TTI Score With WP Rocket<\/h2><p>As seen in the previous part,&nbsp;<strong>the execution of JavaScript is the most important factor that affects the TTI 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 improve the speed of your WordPress site.&nbsp;<\/p><p>Let\u2019s dig into the WP Rocket features that improve the TTI grade.&nbsp;<\/p><h3 class=\"wp-block-heading\">Analyzing the impact of WP Rocket on the TTI score using PSI<\/h3><p>To improve your TTI score, we recommend using WP Rocket,&nbsp;<a href=\"https:\/\/wp-rocket.me\/best-wordpress-caching-plugin\/\">the best caching plugin for WordPress<\/a>.<\/p><p>We\u2019ve performed a speed audit for a French caterer named \u201c<a href=\"https:\/\/lepointgourmand.com\/\">Le point Gourmand<\/a>\u2026\u201d using&nbsp;<a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/?hl=en&amp;url=https%3A%2F%2Flepointgourmand.com%2F&amp;tab=desktop\">Google PageSpeed Insights<\/a>. Let\u2019s have a look at our performance score before and after WP Rocket:&nbsp;<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/HQHPREOIZIzy-o0ESl_Px8CP2-ryvlG53HbSvNuox8awip_lyvjMkzgsp_v_y-kJ9LhMBehFQIXxsyElA-fcs1IiMDnLAgPMivE1qN724docHmqf9vMSEViKXMk05GEqcJUWLyfI\" alt=\"\"\/><\/figure><p><br><strong>Lighthouse score before WP Rocket: 51\/100<\/strong><\/p><ul class=\"wp-block-list\"><li><strong>In orange:&nbsp;&nbsp;<\/strong>TTI was 7,0 s, TBT was 480 ms<\/li>\n\n<li><strong>In red:&nbsp;&nbsp;<\/strong>Speed Index was 6,0 s and LCP 7,1 s<\/li><\/ul><p><strong>Lighthouse score after using WP Rocket: 95\/100<\/strong><\/p><ul class=\"wp-block-list\"><li><strong>In Green:&nbsp;&nbsp;<\/strong>Speed Index,<strong>&nbsp;<\/strong>FCP, TBT, CLS, and\u2026<strong>&nbsp;TTI!&nbsp;<\/strong><\/li><\/ul><p>Do you remember that the diagnostic and opportunities sections were full of red issues before activating WP Rocket? My website was not in very good health, and many JS related issues were found:&nbsp;<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"934\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-PSI.png\" alt=\"Issues identified by Lighthouse and areas of improvements \u2013 PSI\" class=\"wp-image-4155327\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-PSI.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-PSI-167x195.png 167w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Issues-identified-by-Lighthouse-and-areas-of-improvements-PSI-768x897.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Issues identified by Lighthouse and areas of improvements \u2013 PSI<\/em><\/figcaption><\/figure><h3 class=\"wp-block-heading\">Optimizing performance with WP Rocket<\/h3><p>After the activation of WP Rocket, I also enabled the following options as we recommended in the previous section:<\/p><ul class=\"wp-block-list\"><li><strong>Optimization of JS files<\/strong>&nbsp;(Load JS deferred and delay JS execution features)<\/li><\/ul><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\/load-js-deferred-wp-rocket.png\" alt=\"JS files optimization tab \u2013 WP Rocket\u2019s dashboard\" class=\"wp-image-4155333\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-wp-rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-wp-rocket-310x121.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-wp-rocket-768x300.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-wp-rocket-154x60.png 154w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/load-js-deferred-wp-rocket-231x90.png 231w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>JS files optimization tab \u2013 WP Rocket\u2019s dashboard<\/em><\/figcaption><\/figure><ul class=\"wp-block-list\"><li><strong>Optimization of CSS files<\/strong>, from minifying to optimizing the CSS delivery:<\/li><\/ul><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\/minifying-css-files-wp-rocket.png\" alt=\"CSS files optimization \u2013 WP Rocket\u2019s dashboard\" class=\"wp-image-4155339\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minifying-css-files-wp-rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minifying-css-files-wp-rocket-306x195.png 306w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minifying-css-files-wp-rocket-768x489.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minifying-css-files-wp-rocket-94x60.png 94w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/minifying-css-files-wp-rocket-141x90.png 141w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">CSS<em>&nbsp;files optimization \u2013 WP Rocket\u2019s dashboard<\/em><\/figcaption><\/figure><ul class=\"wp-block-list\"><li>I\u2019ve also added<strong>&nbsp;some URLs to prefetch<\/strong>, and it increased my score again:&nbsp;<\/li><\/ul><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-wp-rocket.png\" alt=\"Prefetch option by WP Rocket\" class=\"wp-image-4155346\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-wp-rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-wp-rocket-310x104.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-wp-rocket-768x257.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-wp-rocket-179x60.png 179w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/prefetch-dns-request-wp-rocket-269x90.png 269w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Prefetch option by WP Rocket<\/em><\/figcaption><\/figure><ul class=\"wp-block-list\"><li>I also used the WP Rocket&nbsp;<strong>\u201cPreload fonts\u201d feature<\/strong>:<\/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-PSI-recommendations.png\" alt=\"Adding the fonts to preload in WP Rocket dashboard according to PSI recommendations\" class=\"wp-image-4155353\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSI-recommendations.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSI-recommendations-310x117.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSI-recommendations-768x291.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSI-recommendations-158x60.png 158w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Adding-the-fonts-to-preload-in-WP-Rocket-dashboard-according-to-PSI-recommendations-238x90.png 238w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><em>Adding the fonts to preload in WP Rocket dashboard according to PSI recommendations<\/em><\/figcaption><\/figure><p>In conclusion, 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 the WP Rocket plugin.&nbsp;<br><\/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\/The-passed-audits-list-after-using-WP-Rocket-PSI-.png\" alt=\"\u201dThe passed audits\u201d list after using WP Rocket \u2013 PSI\" class=\"wp-image-4155360\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-passed-audits-list-after-using-WP-Rocket-PSI-.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-passed-audits-list-after-using-WP-Rocket-PSI--129x195.png 129w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-passed-audits-list-after-using-WP-Rocket-PSI--768x1163.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-passed-audits-list-after-using-WP-Rocket-PSI--40x60.png 40w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/The-passed-audits-list-after-using-WP-Rocket-PSI--59x90.png 59w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">\u201dThe passed audits\u201d list after using WP Rocket \u2013 PSI<\/figcaption><\/figure><h2 class=\"wp-block-heading\" id=\"section-9\">Wrapping Up&nbsp;<\/h2><p>Hopefully, this technical guide has helped you to understand how to optimize your TTI score for your WordPress site.&nbsp;<\/p><p>TTI is an important user-centric performance metric as it counts for 10% of the Lighthouse performance grade. Optimizing this metric can help your visitors perceive a noticeable improvement in&nbsp;<strong>how fast they can fully interact<\/strong>&nbsp;with the content on your page.<\/p><p><a href=\"https:\/\/wp-rocket.me\/features\/\">The easiest and most convenient way to get a great TTI score is by installing WP Rocket<\/a>&nbsp;which applies 80% of web performance best practices automatically after its activation.&nbsp;<\/p><p>Another benefit to using WP Rocket is that it\u2019s an all-in-one solution: you don\u2019t need to have several performance plugins activated for every single recommendation.&nbsp;<\/p><p><strong>Remember that you can always count on our 100% money-back guarantee<\/strong>&nbsp;within 14 days of purchase if you feel like WP Rocket is not for you.&nbsp;<\/p><p>\ud83d\ude80 Make your visitors&nbsp;<strong>stay<\/strong>&nbsp;on your website right now!<\/p>","protected":false},"excerpt":{"rendered":"<p>Wondering what\u2019s Time to Interactive and how you can improve it and boost your site performance? Keep reading and you&#8217;ll get all the answers you need<\/p>\n","protected":false},"template":"","lighthouse_performance":[],"class_list":["post-4155129","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 Improve Time to Interactive (TTI) on WordPress<\/title>\n<meta name=\"description\" content=\"Wondering what\u2019s Time to Interactive and how you can improve it and boost your site performance? Keep reading and you&#039;ll get all the answers you need\" \/>\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\/improve-time-to-interactive\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Improve Time to Interactive (TTI) on WordPress\" \/>\n<meta property=\"og:description\" content=\"Wondering what\u2019s Time to Interactive and how you can improve it and boost your site performance? Keep reading and you&#039;ll get all the answers you need\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/\" \/>\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=\"2023-05-05T13:28:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.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=\"24 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\/improve-time-to-interactive\/\",\"url\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/\",\"name\":\"How to Improve Time to Interactive (TTI) on WordPress\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png\",\"datePublished\":\"2022-03-10T08:25:36+00:00\",\"dateModified\":\"2023-05-05T13:28:26+00:00\",\"description\":\"Wondering what\u2019s Time to Interactive and how you can improve it and boost your site performance? Keep reading and you'll get all the answers you need\",\"breadcrumb\":{\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#primaryimage\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png\",\"width\":800,\"height\":844},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#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 Improve Time to Interactive (TTI) on WordPress\"}]},{\"@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 Improve Time to Interactive (TTI) on WordPress","description":"Wondering what\u2019s Time to Interactive and how you can improve it and boost your site performance? Keep reading and you'll get all the answers you need","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\/improve-time-to-interactive\/","og_locale":"en_US","og_type":"article","og_title":"How to Improve Time to Interactive (TTI) on WordPress","og_description":"Wondering what\u2019s Time to Interactive and how you can improve it and boost your site performance? Keep reading and you'll get all the answers you need","og_url":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/","og_site_name":"WP Rocket","article_publisher":"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","article_modified_time":"2023-05-05T13:28:26+00:00","og_image":[{"url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png"}],"twitter_card":"summary_large_image","twitter_site":"@wp_rocket","twitter_misc":{"Est. reading time":"24 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/","url":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/","name":"How to Improve Time to Interactive (TTI) on WordPress","isPartOf":{"@id":"https:\/\/wp-rocket.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#primaryimage"},"image":{"@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png","datePublished":"2022-03-10T08:25:36+00:00","dateModified":"2023-05-05T13:28:26+00:00","description":"Wondering what\u2019s Time to Interactive and how you can improve it and boost your site performance? Keep reading and you'll get all the answers you need","breadcrumb":{"@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#primaryimage","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/03\/Performance-score-performed-by-Lighthouse-including-TTI.png","width":800,"height":844},{"@type":"BreadcrumbList","@id":"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/#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 Improve Time to Interactive (TTI) on WordPress"}]},{"@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\/4155129"}],"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=4155129"}],"wp:term":[{"taxonomy":"lighthouse_performance","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/lighthouse_performance?post=4155129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}