{"id":3046569,"date":"2020-12-17T10:29:27","date_gmt":"2020-12-17T09:29:27","guid":{"rendered":"https:\/\/wp-rocket.me\/?p=3046569"},"modified":"2024-07-05T11:05:31","modified_gmt":"2024-07-05T09:05:31","slug":"wp-rocket-3-8","status":"publish","type":"post","link":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/","title":{"rendered":"WP&nbsp;Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes"},"content":{"rendered":"<p>At the beginning of 2020, we shared <a href=\"https:\/\/wp-rocket.me\/blog\/wp-rocket-year-review-2019\/\">our goals<\/a> for the upcoming year. Among them, we wanted to increase the number of major releases.&nbsp;<\/p><p>That\u2019s why we are proud and excited to celebrate the <strong>4th major version<\/strong> of this year.&nbsp;<\/p><p><strong>Welcome, WP Rocket 3.8!<\/strong><\/p><p>Over this challenging year, we did our best to provide you with new stellar features. We wanted to help you improve your website performance on a periodic basis, and we made it. ?<\/p><p>This new version comes with two improvements that you will love. Hint: they can help you improve one of the Core Web Vitals metrics and your overall SEO performance. ?<\/p><p>There are also some great enhancements in the user experience and interface.<\/p><p>Curious to know more? Keep reading!<\/p><h2 class=\"wp-block-heading\">What\u2019s new in WP Rocket 3.8<\/h2><p>This major release tackles the <strong><a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-cumulative-layout-shift\/\">Cumulative Layout Shift<\/a><\/strong> and <strong><a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/\">Time to Interactive<\/a><\/strong> metrics and allows you to improve their scores.\u00a0<\/p><p>Also, our interface is clearer than ever. The plugin configuration is faster and easier thanks to some default options that make WP Rocket even simpler to use. We listened carefully to your requests. ?<\/p><p>The post will first focus on the improvements that have the highest impact on performance optimization. We will then explain the minor changes we made to give you a full overview of WP Rocket 3.8.<\/p><p>Here are the most relevant enhancements included in this version:<\/p><ul class=\"wp-block-list\"><li>Improvements to Load JavaScript Deferred<\/li>\n\n<li>Adding Missing Width And Height Attributes On Images<\/li>\n\n<li>Excluding images from LazyLoad.&nbsp;<\/li><\/ul><p>Let\u2019s dive in!<\/p><h2 class=\"wp-block-heading\">Improvements to Load JavaScript Deferred<\/h2><p>We made some changes to Defer JS and how WP Rocket handles jQuery compatibility when deferred.&nbsp;<\/p><p>In detail, we improved the handling of scripts relying on jQuery so that we could remove the &#8220;Safe Mode for jQuery&#8221; option.<\/p><p>These two improvements go hand in hand so that we will explain both of them together. The Removing \u201cSafe Mode for jQuery\u201d option is the most relevant improvement for performance. To give you a better overview, though, we will take a step back and start from Defer JS.<\/p><p>As you may already know, deferring JavaScript files is essential for eliminating render-blocking resources and allowing pages to load faster.<\/p><p>That\u2019s why WP Rocket offers the Load JavaScript deferred feature, which prevents JavaScript files from being render-blocking and improves load time.&nbsp;<\/p><p>WP Rocket defers all JavaScript files for maximum performance. However, if any file had to be excluded from deferring, previously, you had to rely on a helper plugin. With WP Rocket 3.8, we have included a text area in the UI to easily exclude any JavaScript files from deferring.<\/p><p>In the File optimization tab, you can now enable the Load JavaScript deferred option and specify <strong>which JavaScript files you want to exclude from deferring<\/strong>:&nbsp;&nbsp;<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/OqO4fj3JtfNYYp-FLt0whDcTr8hDx2KGlcblRwDdMBl4oDJaA2QHKSjvsOJHEursNQlLGNAXBz16Pc4XSPInoFt6CxI3iQKrkTUqzb13CulqxfUV4vCBOGp-aRFRnHv34rdxUS30\" alt=\"The &quot;Excluded JavaScript Files&quot; tab\"\/><figcaption class=\"wp-element-caption\">The &#8220;Excluded JavaScript Files&#8221; tab<\/figcaption><\/figure><p>But there&#8217;s something more. If you\u2019re wondering if in the new interface anything is missing, you&#8217;re right.<\/p><p>To make WP Rocket even simpler and easier to configure and use, <strong>we removed the \u201cSafe Mode for jQuery\u201d sub-option<\/strong>, which excluded jQuery from being deferred. &nbsp;<\/p><p>This sub-option is no longer needed because inline JS related to jQuery will be delayed, and therefore the jQuery file itself can be deferred.<\/p><p>If you already have WP Rocket installed with Safe Mode for jQuery enabled, you will find jQuery excluded from deferred when you update the plugin.&nbsp;<\/p><p>This is an excellent opportunity to remove the jQuery exclusion to see how it impacts your website\u2019s performance. Please refer to <a href=\"https:\/\/docs.wp-rocket.me\/article\/1265-load-javascript-deferred#update\">our technical documentation<\/a> to perform the test.<\/p><p><strong>From a performance perspective<\/strong>, this change can <a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-time-to-interactive\/\">improve the Time to Interactive metric<\/a>. That\u2019s why we encourage you to run your tests.<\/p><h3 class=\"wp-block-heading\">What Can You Achieve with This Feature?&nbsp;<\/h3><p>As more JavaScript files will be delayed, users will be able to interact with your website faster and have a better user experience.<\/p><p>As mentioned, it means that <strong>Time to Interactive can improve<\/strong>. Time to Interactive is one of the six metrics tracked in the Lighthouse report, so you could also get a <strong>better score on PageSpeed Insights and GTmetrix<\/strong>.<\/p><p>Of course, we ran our tests.&nbsp;<\/p><p>In the first one, we had Combine JS always enabled. We first enabled Safe Mode for jQuery. Then, we disabled it. After three times, we calculated the average PageSpeed score:<\/p><ul class=\"wp-block-list\"><li>With Safe Mode for jQuery enabled, the score was<strong> 68<\/strong>.&nbsp;<\/li>\n\n<li>After disabling this option, the score was <strong>78<\/strong>.<\/li><\/ul><p>We also ran a test where we analyzed two other configurations. We first enabled both Load JS deferring and Safe Mode for jQuery. Then, we kept Load JS deferring enabled and didn\u2019t enable Safe Mode for jQuery.<\/p><p>Besides some improvement in the PageSpeed score, we noticed that after disabling the Safe Mode for the jQuery option, <strong>the jQuery file was no longer a render-blocking resource<\/strong>.<\/p><p>As you can see on the right, this configuration passed the render-blocking resource audit. ?<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/L9vC0OPs0lrSf3zs-QXtyLnt6l0YLf_QriJJdBNQoU8dPCLbFOT_1vumd1eSWXLpymSzDGnHGvaTtTFKwnYkGcGxxNc84pm8npcRU4GWY9zh_HSFqUDeCpfMyZIeQ8jJO3T1jVLr\" alt=\"PageSpeed Insights audit\"\/><figcaption class=\"wp-element-caption\">PageSpeed Insights audit<\/figcaption><\/figure><p>Pretty amazing improvements, right? Now it\u2019s your turn. ?<\/p><p><a href=\"https:\/\/docs.wp-rocket.me\/article\/1265-load-javascript-deferred\">Learn more about this new feature with our documentation.<\/a><\/p><div id=\"om-vhommyfcghnxb3ebtozu-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, 'vhommyfcghnxb3ebtozu')<\/script><h2 class=\"wp-block-heading\">Add Missing Width And Height Attributes On Images<\/h2><p>Did you know that adding the missing width and height attributes on images is the way to go to<strong> improve the Cumulative Layout Shift metric<\/strong>?&nbsp;<\/p><p>The Cumulative Layout Shift metric is one of the <a href=\"https:\/\/wp-rocket.me\/blog\/google-core-web-vitals-wordpress\/\">Core Web Vitals<\/a> that will roll out as a ranking factor in May 2021, alongside the other page experience signals. Of course, the <strong>Cumulative Layout Shift grade affects the PageSpeed Insights Score and the GTmetrix grade<\/strong>.&nbsp;<\/p><p>The Cumulative Layout Shift metric shows how much content \u201cshifts\u201d as the page loads.&nbsp;<\/p><p>Images without specified width and height values are one of the common reasons for the content shift.<\/p><p>When loading a new page, browsers use width and height values to reserve the space needed for the images on the page. When space for an image is not reserved, the browser will move content around to accommodate the image once it has been downloaded. This layout shift leads to a poor user experience.<\/p><p>Thanks to the 3.8 release, WP Rocket will add any missing \u201cwidth\u201d and \u201cheight\u201d values to images used on your website. This feature exists from the start, and it&#8217;s now directly available in the UI. You can find more details below.<\/p><h3 class=\"wp-block-heading\">What Can You Achieve with This Feature?&nbsp;<\/h3><p>The overall Page Speed score depends on several factors, and your results for Cumulative Layout Shift will vary depending on how many images are on your page.&nbsp;<\/p><p>We ran some tests, compared each Performance, and calculated the average score every time.<\/p><p>This is what we got. ?<br><br><strong>Before<\/strong><\/p><p>Before adding any \u201cwidth\u201d and \u201cheight\u201d attributes, the Average CLS on the desktop was <strong>1.98<\/strong>.<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/mssLT6NdsXal0jfIvoFl9iTOCeEOjoar6Wui3d6CEnmK3QxCrVpq4Bud02WvQsHyi8rPYlwdCPUmDGy9sfAeyA27KzUd7Q-unME7lQjpYdNZ2PN9VnBiWZNIKtzK5bSDxs-Htq2p\" alt=\"PageSpeed Insights scores before adding the image attributes\"\/><figcaption class=\"wp-element-caption\">PageSpeed Insights scores before adding the image attributes<\/figcaption><\/figure><p><strong>After<br><\/strong><br>After adding the \u201cwidth\u201d and \u201cheight\u201d attributes to all the images, the Average CLS on the desktop was <strong>1.015<\/strong>. That\u2019s a <strong>45%<\/strong> amazing improvement! ?<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/vXufbWf_p2bE8mpZZbA5G_lLd1EOaU500pY2Ey7fSUgNwnEUxZPMOeg0lGy_s8qyomqROcKljqTJ2v_td92WgRqvFHNSwWZwJqVRjE9VNHWEWnZ9YgVFMTQhJ-9aBJOwY5cThl3A\" alt=\"PageSpeed Insights scores after adding the image attributes\"\/><figcaption class=\"wp-element-caption\">PageSpeed Insights scores after adding the image attributes<\/figcaption><\/figure><h3 class=\"wp-block-heading\">How Does It Work?<\/h3><p>You will find the option to add all the image attributes in the Media tab. In the Image dimensions section, you only have to select the \u201cAdd missing image dimensions\u201d option. Simple as that!&nbsp;<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/w5WOdhXeZaKRCAG-c58k1__gYLxKwt-c1Bb0PNj0GIg_Xkz3cVEvwyZBoAVdrXHLqiyKhL0wWVBf4EsgrwGLTQG03fYGR0OVQB7R3AzsLuEoehFzhfhGWn1s394mEFTX5a189hfj\" alt=\"\"\/><figcaption class=\"wp-element-caption\">The new \u201cAdd missing image dimensions\u201d option<\/figcaption><\/figure><p><a href=\"https:\/\/docs.wp-rocket.me\/article\/1366-add-missing-image-dimensions\">Learn more about this new feature with our documentation.<\/a><\/p><h2 class=\"wp-block-heading\">Excluding images from LazyLoad<\/h2><p>Lazy-loading allows you to load images and iframes only when you need them.&nbsp;<\/p><p>When users land on a new page, only images above the fold will be displayed at first. As a result, users can start interacting with the page sooner, and images below the fold will be loaded when scrolling the page.&nbsp;<\/p><p>Given the great benefits of loading times, lazy-loading is one feature you can enable in WP Rocket.<\/p><p>With the new release, you can easily <strong>exclude specific images and iframes from LazyLoad<\/strong> directly through the plugin interface, instead of using a helper plugin or relying on our technical documentation.<\/p><p>For instance, if you need to exclude some images above the fold from lazy-loading, you can do it very easily now. By doing so, you can measure the impact on the Largest Contentful Paint. The chances are that you will see an improvement in their scores.<\/p><p>The same goes if you\u2019re using an image slider plugin that already uses lazy-loading, and you need to exclude lazy-loading from them to ensure compatibility.<\/p><h3 class=\"wp-block-heading\">How Does It Work?<\/h3><p>In the Media tab, under LazyLoad, you will find a text area that allows you to exclude images and iframes from LazyLoad by entering the class name, filename, or domain src.&nbsp;<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/0AFv8GhkmhVkNQNP4KbrKAv20SzviQkxEmmYscR0WhscjVYC-SDYTJ_x1x7VdiXiv9mKatg5MkufeSZzWGznhFVyV73UELBkqmyqReHSv0YU4vKJLvoKAQ8SpbjcsQ42PzmSLoFV\" alt=\"The &quot;Excluded images or iframes&quot; tab\"\/><figcaption class=\"wp-element-caption\">The &#8220;Excluded images or iframes&#8221; tab<\/figcaption><\/figure><p><a href=\"https:\/\/docs.wp-rocket.me\/article\/15-disabling-lazy-load-on-specific-images\">Learn more about this new feature with our documentation.<\/a><\/p><h2 class=\"wp-block-heading\">A Cleaner Interface: Emojis, Cache Lifespan, and Beta Tester Option<\/h2><p>With WP Rocket 3.8, we followed our philosophy: \u201cDecisions, not options.\u201d We don\u2019t want you to feel overwhelmed when making choices during the setup. It\u2019s essential to keep a balance between all the available options.&nbsp;<\/p><p>Sometimes, we decide what\u2019s best for you: we clean the interface and remove options that could confuse you without providing any value from a performance standpoint.<\/p><p>This time, we tackled the following features:&nbsp;<\/p><ul class=\"wp-block-list\"><li>The WordPress Emoji Option<\/li>\n\n<li>The Cache Lifespan \u201cMinutes\u201d Frequency.<\/li><\/ul><p>We also decided to remove the Beta Tester Option.<\/p><h3 class=\"wp-block-heading\">Enabling the WordPress Emoji Option<\/h3><p><strong>The specific WordPress emoji option will be automatically enabled and removed<\/strong> from the Media tab.&nbsp;<\/p><p>So, it\u2019s completely fine if you don\u2019t see this feature any longer:<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"814\" height=\"349\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/emoj.png\" alt=\"The WordPress emoji option will be automatically enabled and removed\" class=\"wp-image-3046770\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/emoj.png 814w, https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/emoj-300x129.png 300w, https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/emoj-768x329.png 768w\" sizes=\"(max-width: 814px) 100vw, 814px\" \/><figcaption class=\"wp-element-caption\">The WordPress emoji option will be automatically enabled and removed<\/figcaption><\/figure><h3 class=\"wp-block-heading\">Removing The Cache Lifespan \u201cMinutes\u201d Frequency<\/h3><p>With the latest release, <strong>we removed the \u201cminutes\u201d option as a frequency from the Cache Lifespan choices<\/strong>. We made this decision because generating new cache files every few minutes could hurt performance and cause high CPU issues.<br><\/p><p>The vast majority of you will not be affected by this change.<\/p><p>For the remaining ones, we recommend setting any cache lifespan less than 60 minutes to 1 hour and any cache lifespan greater than 60 minutes to the closest hour.<\/p><p>According to these changes, you will not find the \u201cMinutes\u201d option any longer:<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/rYMf50UfY0LMnI9KKmR-XFu26cjDOC_jAzueLCwgZqnhNhldw4ARGYJxWbUzX070KwzKxsLwPc_cp8AVIBxVqV6pUcVA1LrBS95EY9WRzQbiL4EFenhw_g3dDESYzkJHNVmntY4P\" alt=\"The cache lifespan \u201cminutes\u201d option is no longer available\"\/><figcaption class=\"wp-element-caption\">The cache lifespan \u201cminutes\u201d option is no longer available<\/figcaption><\/figure><h3 class=\"wp-block-heading\">Removing the Beta Tester Option<\/h3><p>With WP Rocket 3.8, we also decided to remove the Rocket Tester option from the dashboard and end the Beta program.&nbsp;<\/p><p>For more than a year now, we have introduced and tested a staggered release process.&nbsp;<\/p><p>This means that we make a new version available to a small percentage of randomly selected customers before it is fully released for all customers. We do this to get feedback on the release and ensure there are no unforeseen issues that we did not find in our testing process.&nbsp;<\/p><p>As a result, the Beta Tester initiative is not needed any longer.<\/p><p>In the future, we might involve early adopters in new feedback initiatives.<\/p><h2 class=\"wp-block-heading\"><a href=\"#remove-jquery-migrate-option\">WP Rocket 3.8.1: Eliminating the \u201cRemove jQuery Migrate\u201d Option<\/a><\/h2><p id=\"remove-jquery-migrate-option\"><strong>Update<\/strong>: With the WP Rocket 3.8.1 version, we decided to eliminate the \u201cRemove jQuery Migrate\u201d option for two reasons.&nbsp;<\/p><p>With WordPress 5.6, WordPress updated the jQuery library and the associated jQuery migrate plugin. Because of some compatibility issues with the new version of the jQuery library, the \u201cRemove jQuery Migrate\u201d option could break some websites unless the option is disabled. However, it won\u2019t be a long-term solution.&nbsp;<\/p><p>The \u201cRemove jQuery Migrate\u201d option will become obsolete with WordPress 5.7, as WordPress will no longer be shipping with jQuery migrate.<\/p><p>As always, we want to provide you with the best user experience and avoid any frustration.<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/2qA95OLmp37vRWd50mhebhab3wSvjLpDR4-LkXcUa0UchHrlqOxogXIUQudR1yhvb1pg2Z_py1-YqwlaauCqdQ9cyldZV_RoO0eWPZxL5Kajff3ZwpTYpaUGsm-h0eenkV1iQuWz\" alt=\"\"\/><figcaption class=\"wp-element-caption\">The Remove jQuery Migrate option is no longer available<br><\/figcaption><\/figure><h2 class=\"wp-block-heading\">What About Removing Unused CSS?<\/h2><p>The Removing Unused CSS feature hasn\u2019t been included in this release. Reasons come down to the high quality of the upcoming feature and the related effort required.<\/p><p>We\u2019re happy to share some details so that you can understand why we made this decision. You will also see the hard work behind the scenes.<\/p><p><strong>It\u2019s being built from scratch. <\/strong>We are not using a library as we want to remain independent and responsive, and it takes more time.<\/p><p><strong>It will be available on every page of every website<\/strong>. Each page is different, and this is how we can provide the best user experience.&nbsp;<\/p><p><strong>It will be available for every user without additional cost<\/strong>, regardless of any extra fee for us. Since we deal with many websites, we need an excellent server architecture to provide a first-class service to our users.<\/p><p>In short, we want this feature to be the best on the market.<\/p><p>Even if it\u2019s frustrating to wait for it, it will be a game changer very soon. Spoiler alert: we will take advantage of this new feature to add automatic optimizations that will do more than just removing unused CSS. Stay tuned!&nbsp;<\/p><h2 class=\"wp-block-heading\">Wrapping up<\/h2><p>WP Rocket 3.8 focuses on<strong> improving some PageSpeed Insights metrics and your user experience<\/strong> when configuring and using the plugin.<\/p><p>The main enhancements are Removing Safe Mode for jQuery and Add Missing Width And Height Attributes On Images. The first one allows you to improve the <strong>Time to Interactive metric<\/strong>; the second one improves the <strong>Cumulative Layout Shifts score<\/strong>. Given the relevance of speed performance and Core Web Vitals as ranking factors, you can take advantage of these features and stay ahead of your competitors.<\/p><p>We also worked on improving the user experience and removed some options from the user interface. Now using the plugin is easier than ever!<\/p><p>If you want to deep dive into all the improvements details, here is <a href=\"https:\/\/wp-rocket.me\/changelog\/\">our changelog<\/a>.<\/p><p><em>Update to v3.8 and leave your opinion in the comments section below!&nbsp;<\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>WP&nbsp;Rocket 3.8 focuses on the Cumulative Layout Shift and Time to Interactive metrics and helps you improve your PageSpeed Insights score. Update now!<\/p>\n","protected":false},"author":160328,"featured_media":3047815,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"kia_subtitle":"","footnotes":""},"categories":[62,76],"tags":[],"class_list":["post-3046569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-inside-wp-rocket","category-coulisses-wp-rocket"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes<\/title>\n<meta name=\"description\" content=\"WP Rocket 3.8 focuses on the Cumulative Layout Shift and Time to Interactive metrics and helps you improve your PageSpeed Insights score. Read more on our blog!\" \/>\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\/blog\/wp-rocket-3-8\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes\" \/>\n<meta property=\"og:description\" content=\"WP Rocket 3.8 focuses on the Cumulative Layout Shift and Time to Interactive metrics and helps you improve your PageSpeed Insights score. Read more on our blog!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/\" \/>\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:published_time\" content=\"2020-12-17T09:29:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-05T09:05:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1900\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Valentina Orlandi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wp_rocket\" \/>\n<meta name=\"twitter:site\" content=\"@wp_rocket\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Valentina Orlandi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/\"},\"author\":{\"name\":\"Valentina Orlandi\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762\"},\"headline\":\"WP&nbsp;Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes\",\"datePublished\":\"2020-12-17T09:29:27+00:00\",\"dateModified\":\"2024-07-05T09:05:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/\"},\"wordCount\":2277,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/wp-rocket.me\/#organization\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png\",\"articleSection\":[\"Inside WP Rocket\",\"Les coulisses de WP Rocket\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/\",\"url\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/\",\"name\":\"WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png\",\"datePublished\":\"2020-12-17T09:29:27+00:00\",\"dateModified\":\"2024-07-05T09:05:31+00:00\",\"description\":\"WP Rocket 3.8 focuses on the Cumulative Layout Shift and Time to Interactive metrics and helps you improve your PageSpeed Insights score. Read more on our blog!\",\"breadcrumb\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png\",\"width\":1900,\"height\":800,\"caption\":\"WP Rocket 3.8\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wp-rocket.me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Inside WP Rocket\",\"item\":\"https:\/\/wp-rocket.me\/blog\/inside-wp-rocket\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes\"}]},{\"@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\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762\",\"name\":\"Valentina Orlandi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g\",\"caption\":\"Valentina Orlandi\"},\"description\":\"Valentina is the Product &amp; Content Marketing Manager at WP\u00a0Rocket. She loves marketing, psychology, and understanding the why behind human behaviors. She's a passionate reader and always eager to work with words.\",\"sameAs\":[\"https:\/\/wp-rocket.me\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes","description":"WP Rocket 3.8 focuses on the Cumulative Layout Shift and Time to Interactive metrics and helps you improve your PageSpeed Insights score. Read more on our blog!","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\/blog\/wp-rocket-3-8\/","og_locale":"en_US","og_type":"article","og_title":"WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes","og_description":"WP Rocket 3.8 focuses on the Cumulative Layout Shift and Time to Interactive metrics and helps you improve your PageSpeed Insights score. Read more on our blog!","og_url":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/","og_site_name":"WP Rocket","article_publisher":"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","article_published_time":"2020-12-17T09:29:27+00:00","article_modified_time":"2024-07-05T09:05:31+00:00","og_image":[{"width":1900,"height":800,"url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png","type":"image\/png"}],"author":"Valentina Orlandi","twitter_card":"summary_large_image","twitter_creator":"@wp_rocket","twitter_site":"@wp_rocket","twitter_misc":{"Written by":"Valentina Orlandi","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#article","isPartOf":{"@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/"},"author":{"name":"Valentina Orlandi","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762"},"headline":"WP&nbsp;Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes","datePublished":"2020-12-17T09:29:27+00:00","dateModified":"2024-07-05T09:05:31+00:00","mainEntityOfPage":{"@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/"},"wordCount":2277,"commentCount":1,"publisher":{"@id":"https:\/\/wp-rocket.me\/#organization"},"image":{"@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png","articleSection":["Inside WP Rocket","Les coulisses de WP Rocket"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/","url":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/","name":"WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes","isPartOf":{"@id":"https:\/\/wp-rocket.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage"},"image":{"@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png","datePublished":"2020-12-17T09:29:27+00:00","dateModified":"2024-07-05T09:05:31+00:00","description":"WP Rocket 3.8 focuses on the Cumulative Layout Shift and Time to Interactive metrics and helps you improve your PageSpeed Insights score. Read more on our blog!","breadcrumb":{"@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#primaryimage","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/1900x800-Blog-Post.png","width":1900,"height":800,"caption":"WP Rocket 3.8"},{"@type":"BreadcrumbList","@id":"https:\/\/wp-rocket.me\/blog\/wp-rocket-3-8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wp-rocket.me"},{"@type":"ListItem","position":2,"name":"Inside WP Rocket","item":"https:\/\/wp-rocket.me\/blog\/inside-wp-rocket\/"},{"@type":"ListItem","position":3,"name":"WP Rocket 3.8: Improving Load JavaScript Deferred And Adding Missing Image Attributes"}]},{"@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"]},{"@type":"Person","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/90d59985e76c7851e90e680fb4b26762","name":"Valentina Orlandi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3032c55afa21c3b19334f7da6fb4b372?s=96&d=mm&r=g","caption":"Valentina Orlandi"},"description":"Valentina is the Product &amp; Content Marketing Manager at WP\u00a0Rocket. She loves marketing, psychology, and understanding the why behind human behaviors. She's a passionate reader and always eager to work with words.","sameAs":["https:\/\/wp-rocket.me\/"]}]}},"_links":{"self":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts\/3046569"}],"collection":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/users\/160328"}],"replies":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/comments?post=3046569"}],"version-history":[{"count":0,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts\/3046569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/media\/3047815"}],"wp:attachment":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/media?parent=3046569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/categories?post=3046569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/tags?post=3046569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}