{"id":1898398,"date":"2021-10-19T09:58:00","date_gmt":"2021-10-19T07:58:00","guid":{"rendered":"https:\/\/wp-rocket.me\/?p=1898398"},"modified":"2023-07-26T14:20:11","modified_gmt":"2023-07-26T12:20:11","slug":"critical-css","status":"publish","type":"post","link":"https:\/\/wp-rocket.me\/blog\/critical-css\/","title":{"rendered":"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery"},"content":{"rendered":"<p>When running a performance audit on Google PageSpeed Insights, you\u2019ll find that Google recommends you to \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/eliminate-render-blocking-javascript-css\/\">eliminate render-blocking resources<\/a>\u201d almost every time. Meaning that you should always load your critical CSS and JavaScript in priority.<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"500\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-css-psi-warning.png\" alt=\"Critical CSS warning\" class=\"wp-image-3800262\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-css-psi-warning.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-css-psi-warning-310x195.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-css-psi-warning-768x480.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><p>But how to decide which CSS is critical and which one is not? Which part of your website should you \u201cdelay\u201d to speed up another? It\u2019s all about priorities and finding which CSS resources are essential and how to optimize their delivery.&nbsp;<\/p><p>Let\u2019s dive in.&nbsp;<\/p><h2 class=\"wp-block-heading\">What is Critical CSS and Why it Matters for Performance?<\/h2><p>Critical CSS is a technique that extracts the CSS above the fold to display the page as quickly as possible. It\u2019s like taking the bare minimum CSS to display the content being viewed by a visitor.&nbsp;&nbsp;<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-CSS-located-above-the-fold-.png\" alt=\"Critical CSS located above-the-fold \" class=\"wp-image-3800271\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-CSS-located-above-the-fold-.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-CSS-located-above-the-fold--195x195.png 195w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Critical-CSS-located-above-the-fold--768x768.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Critical CSS located above-the-fold&nbsp;<br><\/figcaption><\/figure><figure class=\"wp-block-table\"><table><tbody><tr><td>\ud83d\udca1 Critical CSS makes you rethink how the browser loads CSS: you need to prioritize the CSS for above-the-fold content.<\/td><\/tr><\/tbody><\/table><\/figure><p>In other words, critical CSS is key to optimizing performance. Before rendering the page, your browser needs to download and parse the CSS files, making those files a render-blocking resource. The bigger your CSS files are, the longer it will take for the browser to process them. All those requests created by heavy CSS files will increase the time for a web page to load, upsetting visitors<strong> <\/strong>and Google.&nbsp;<\/p><p>The page speed may also affect your SEO performance because of the new ranking factor, including the Core Web Vitals. They are a set of factors implemented by Google to measure the user experience \u2014 including how fast a page is. The better the experience is, the better will be your ranking.&nbsp;<\/p><p>Are you familiar with the six <a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/\">Lighthouse metrics that measure performance<\/a>? Two of them &#8211; <a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/improve-first-contentful-paint\/\">First Contentful Paint (FCP)<\/a> and <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-first-input-delay\/\">First Input Delay (FID)<\/a> &#8211; measure the perceived speed of your website. If those metrics are in good shape, so will be your <a href=\"https:\/\/wp-rocket.me\/blog\/google-page-experience-update-2021\/\">user experience measured by Google<\/a>. However,&nbsp; if both KPIs are in the red, you better optimize your critical CSS.<\/p><h3 class=\"wp-block-heading\">Critical CSS Explained in Plain English<\/h3><p>In plain English, critical CSS is an optimization task. It\u2019s like telling your browser to load only the CSS being viewed by the visitor. This helps to improve the perceived speed, meaning how fast the website seems to a visitor.<\/p><p>Let\u2019s do a quick exercise with the image below. Imagine you are a mobile user accessing a website.&nbsp;<\/p><p><strong>Scenario #1 <\/strong>&#8211; On top, there is a page with render-blocking CSS. You see a blank page until the entire CSS file has loaded.&nbsp;<\/p><p><strong>Scenario #2 <\/strong>&#8211; On the bottom, the critical CSS is rendered first. You start to see the page way earlier since the browser has already started to load the most important stylesheet.&nbsp;<\/p><p><strong>Question: Which scenario \u201cfeels\u201d faster to you?<\/strong><\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"363\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Top-loading-a-page-with-render-blocking-CSS-Bottom-inlined-critical-CSS-above-the-fold-content-.png\" alt=\"Top: loading a page with render-blocking CSS\nBottom: inlined critical CSS (above-the-fold-content)\" class=\"wp-image-3800349\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Top-loading-a-page-with-render-blocking-CSS-Bottom-inlined-critical-CSS-above-the-fold-content-.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Top-loading-a-page-with-render-blocking-CSS-Bottom-inlined-critical-CSS-above-the-fold-content--310x141.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Top-loading-a-page-with-render-blocking-CSS-Bottom-inlined-critical-CSS-above-the-fold-content--768x348.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Top:&nbsp;loading a page with render-blocking CSS<br>Bottom: inlined critical CSS (above-the-fold-content)<br><\/figcaption><\/figure><p><br><em>Answer: We all agree that the perceived speed of the bottom line is better.&nbsp;<\/em><\/p><p>Your visitor will sense a perceived decrease in page-load time due to faster page rendering when done properly.<\/p><h3 class=\"wp-block-heading\">Why is Critical CSS Necessary?<\/h3><p>Loading a CSS stylesheet is typically how you style your WordPress site. CSS is the language used to describe a web page, such as the colors, the layout, and the fonts. Without CSS, the web would look like our left column below:&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td>WP Rocket\u2019s site without CSS<\/td><td>WP Rocket\u2019s site with CSS<\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/gkYgt4ioojloMEunoM0-gKfxE9AxxHO2h-0khUPRPGNTqJXrR6Y491lLPDtkbgwA9fwsnNjH9luIPZEfu4895Mh4UPSoAIcCiCy4__Zk-J3vJ_lG5MQROkqXfqASR31aXGlWzaSY=s1600\" width=\"286\" height=\"140\"><\/td><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/c-cedoOo7aZixEe-OndB32yA2w_Sk2yHyc0zG3PU7aWtF0yJ9WaL8u_fV_4DaRiMVuVEtZqE0d_IorGYjgBkBPrnw24CVeuTXuwKnQrzaU1orOKPFYOj4EPKX-9Qvkb1RA8JUKgp=s1600\" width=\"286\" height=\"141\"><\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\">What Does Critical CSS Rendering Path Mean?<\/h2><p>The Critical Rendering Path is the series of tasks the browser needs to perform to render a page on the visitor screen. For example, those tasks include downloading photos, the fonts, and the text to display on the web page.&nbsp;<\/p><p>As seen previously, the browser also needs to download your CSS files to render the proper layout of the page. If your files are really large, visitors will end up waiting until the whole file has been downloaded.&nbsp;<\/p><p>But what if the browser could start to render the CSS as the download progresses?&nbsp;<\/p><p>Imagine a way to mitigate the blocking and start the CSS delivery as soon as possible. This technique is precisely known as the optimization of the <strong>critical rendering path.&nbsp;<\/strong><\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"909\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/The-critical-rendering-path.png\" alt=\"The critical rendering path\n\" class=\"wp-image-3800355\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/The-critical-rendering-path.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/The-critical-rendering-path-172x195.png 172w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/The-critical-rendering-path-768x873.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">The critical rendering path<br><\/figcaption><\/figure><p><br>The browser follows <strong>five steps <\/strong>until it renders the page to the visitors. A lot can happen during this process. That\u2019s why we should make sure that each step is completed as quickly as possible.&nbsp;<\/p><p>Two questions are now coming up: how to optimize each step? How to make sure that we have the most efficient CSS delivery?&nbsp;<\/p><p>These questions take us to the next section. You\u2019ll learn how to improve rendering times with the critical CSS technique (optimize CSS delivery) and eliminate the render-blocking CSS errors.&nbsp;<\/p><h2 class=\"wp-block-heading\">The 3 Steps to Optimize CSS Delivery\u00a0on WordPress<\/h2><p>CSS controls your WordPress site\u2019s visual formatting and style, but if the CSS file isn&#8217;t delivered optimally, you may end up with a slow web page.&nbsp;<\/p><p>So one of the best ways to improve your WordPress site\u2019s performance is by optimizing <em>how <\/em>and <em>when<\/em> the CSS code is delivered. There are three main steps to optimize CSS delivery for your WordPress site, namely:&nbsp;<\/p><p>Step 1: <strong>Find and generate the critical CSS<\/strong> \u2014 that&#8217;s identifying the minimum CSS code you need to display the above-the-fold content. You need to find out what the user can see in the viewport when they first load the page. Determining the right critical CSS for a page can be complex because visitors use many different screen sizes, such as desktop, tablet, and mobile.&nbsp;<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"604\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Different-above-the-fold-content-for-Desktop-Tablet-and-Smartphone-Source-Kinsta.png\" alt=\"\" class=\"wp-image-3800365\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Different-above-the-fold-content-for-Desktop-Tablet-and-Smartphone-Source-Kinsta.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Different-above-the-fold-content-for-Desktop-Tablet-and-Smartphone-Source-Kinsta-258x195.png 258w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Different-above-the-fold-content-for-Desktop-Tablet-and-Smartphone-Source-Kinsta-768x580.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Different above-the-fold content for Desktop, Tablet, and Smartphone &#8211;&nbsp;<br>Source:&nbsp; <a href=\"https:\/\/kinsta.com\/blog\/responsive-web-design\/\">Kinsta<\/a><\/figcaption><\/figure><p><strong>How to find critical CSS&nbsp;<\/strong><\/p><p><a href=\"https:\/\/web.dev\/extract-critical-css\/\">WebDev<\/a> gives you three tools you can use to identify critical CSS:<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/addyosmani\/critical\">Critical<\/a> &#8211; extracts above-the-fold CSS (and also inlines and minifies it)<\/li>\n\n<li><a href=\"https:\/\/github.com\/filamentgroup\/criticalCSS\">CriticalCSS<\/a> &#8211; another module that extracts the critical CSS<\/li>\n\n<li><a href=\"https:\/\/github.com\/pocketjoso\/penthouse\">Penthouse<\/a> &#8211; a good choice if your site has a lot of CSS&nbsp;<\/li><\/ul><p>Step 2: <strong>Inline this critical CSS<\/strong> \u2014 that&#8217;s adding the critical CSS in the &lt;head&gt; of the HTML document to eliminate all the additional requests to fetch these styles.<br><br>In the <a href=\"https:\/\/web.dev\/extract-critical-css\/\">WebDev<\/a> example below, they have inlined the critical CSS in the &lt;head&gt; file so the browser can deliver it faster and render something to users as soon as possible.<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"270\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlined-critical-CSS-in-my-HTML-source-WebDev.png\" alt=\"\" class=\"wp-image-3800373\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlined-critical-CSS-in-my-HTML-source-WebDev.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlined-critical-CSS-in-my-HTML-source-WebDev-310x105.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlined-critical-CSS-in-my-HTML-source-WebDev-768x259.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Inlined critical CSS in my HTML &#8211; source: <a href=\"https:\/\/web.dev\/extract-critical-css\/\">WebDev<\/a><br><\/figcaption><\/figure><p><br>Step 3: <strong>Load the rest of the CSS asynchronously <\/strong>\u2014 that&#8217;s delaying the non-critical CSS so it can be loaded <em>after <\/em>your visitors can see your web page content.&nbsp; This technique is also known as \u201cdeferred loading\u201d. <a href=\"https:\/\/web.dev\/defer-non-critical-css\/\">WebDev<\/a> explains the whole manual process very well.<\/p><p>By following those three manual steps, you\u2019ll optimize your CSS delivery and your critical rendering path. However, there are more straightforward methods to optimize WordPress CSS delivery: by using a WordPress plugin!&nbsp;<\/p><h2 class=\"wp-block-heading\">How to Generate Critical CSS and Optimize Critical Rendering Path With a Plugin&nbsp;<\/h2><p>Luckily, you can optimize the delivery of your critical CSS and defer less important resources using a WordPress plugin. That will save you some time and avoid modifying your code files manually. We\u2019ve put together a list so you can test out which tool is the best for you.&nbsp;<\/p><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket<\/a> &#8211;&nbsp;The most <a href=\"https:\/\/wp-rocket.me\/best-wordpress-caching-plugin\/\">complete cache plugin<\/a> that detects your critical CSS to inline and defers it in the simplest way. You&#8217;ll go over a practical example in the <a href=\"#css-delivery-wp-rocket\">next section.<\/a><\/li><\/ul><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"417\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket.png\" alt=\"Optimizing CSS in two clicks with WP Rocket\n\" class=\"wp-image-3800381\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket-310x162.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket-768x400.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Optimizing CSS in two clicks with WP Rocket<br><\/figcaption><\/figure><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wordpress.org\/plugins\/autoptimize\">Autoptimize<\/a> &#8211; Injects CSS in the page head by default and can also inline and defer critical CSS.&nbsp;<\/li><\/ul><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"568\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Optimizing-CSS-with-the-Autoptimize-plugin.png\" alt=\"Optimizing CSS with the Autoptimize plugin\" class=\"wp-image-3800388\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Optimizing-CSS-with-the-Autoptimize-plugin.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Optimizing-CSS-with-the-Autoptimize-plugin-275x195.png 275w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Optimizing-CSS-with-the-Autoptimize-plugin-768x545.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Optimizing CSS with the Autoptimize plugin<\/figcaption><\/figure><ul class=\"wp-block-list\"><li><a href=\"https:\/\/wordpress.org\/plugins\/wp-asset-clean-up\/\">Asset Clean-up<\/a> &#8211; Inlines CSS Files (automatically &amp; by specifying the path to the stylesheets).<\/li><\/ul><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"142\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlining-CSS-file-with-Asset-Clean-Up.png\" alt=\"Inlining CSS file with Asset Clean-Up\n\" class=\"wp-image-3800396\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlining-CSS-file-with-Asset-Clean-Up.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlining-CSS-file-with-Asset-Clean-Up-310x55.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Inlining-CSS-file-with-Asset-Clean-Up-768x136.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Inlining CSS file with Asset Clean-Up<br><\/figcaption><\/figure><h2 class=\"wp-block-heading\" id=\"css-delivery-wp-rocket\">How to Optimize CSS Delivery with WP Rocket<\/h2><p>In WP Rocket 3.10, the <a href=\"https:\/\/docs.wp-rocket.me\/article\/1266-load-css-asynchronously\">Load CSS Asynchronously option<\/a> addresses the page speed recommendation we saw earlier: \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/eliminate-render-blocking-javascript-css\/\">Eliminate render-blocking resources<\/a>\u201d. WP Rocket covers two main CSS optimizations:&nbsp;<\/p><ol class=\"wp-block-list\"><li>It generates the critical CSS needed to render the visible part of your website (the above-the-fold content).&nbsp;<\/li>\n\n<li>It loads all the other CSS files asynchronously (prioritizing which one should be loaded first).&nbsp;<\/li><\/ol><p>To optimize the CSS delivery, simply follow those steps in the WP Rocket\u2019s dashboard:<\/p><ul class=\"wp-block-list\"><li>Go to <strong>Settings<\/strong> &gt; <strong>WP Rocket<\/strong><\/li>\n\n<li>Click on the <strong>File Optimization <\/strong>tab.<\/li>\n\n<li>Scroll down to the CSS Files section and click the box labeled <strong>Optimize CSS delivery<\/strong>.<\/li>\n\n<li>Select the <strong>Remove Unused CSS<\/strong> option (<em>recommended option<\/em>). This will extract only the CSS needed on-page, and it will also inline it.<\/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 or load CSS asynchronously - Source: 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 or load CSS asynchronously &#8211; Source: WP Rocket&nbsp;<\/figcaption><\/figure><p>WP Rocket also addresses the \u201c<a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/remove-unused-css\/\">Reduce unused CSS<\/a>\u201d recommendations from PageSpeed Insights.&nbsp;<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"124\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Reduce-Unused-CSS-1.png\" alt=\"Reduce unused CSS - PageSpeed Inisghts audit\n\" class=\"wp-image-3800431\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Reduce-Unused-CSS-1.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Reduce-Unused-CSS-1-310x48.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Reduce-Unused-CSS-1-768x119.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Reduce unused CSS &#8211; PageSpeed Inisghts audit<\/figcaption><\/figure><p><br>Unused CSS affects the page\u2019s loading time because the browser still has to load them. Google performance metrics such as the <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/improve-largest-contentful-paint\/\"><strong>Largest Contentful Paint (LCP)<\/strong><\/a> and the <strong><a href=\"https:\/\/wp-rocket.me\/lighthouse-performance-score-wordpress\/reduce-total-blocking-time\/\">Total Blocking Time (TBT<\/a>)<\/strong> will also be impacted. LCP and TBT have a total of 55% weight on the <a href=\"https:\/\/wp-rocket.me\/google-core-web-vitals-wordpress\/\">Google PageSpeed and Core Web Vitals grade<\/a>, so it\u2019s crucial to keep those metrics healthy.&nbsp;&nbsp;<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"423\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Lighthouse-Scoring-Calculator-Source-Lighthouse.png\" alt=\"Lighthouse Scoring Calculator - Source: Lighthouse\n\" class=\"wp-image-3800443\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Lighthouse-Scoring-Calculator-Source-Lighthouse.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Lighthouse-Scoring-Calculator-Source-Lighthouse-310x164.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Lighthouse-Scoring-Calculator-Source-Lighthouse-768x406.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Lighthouse Scoring Calculator &#8211; Source: <a href=\"https:\/\/googlechrome.github.io\/lighthouse\/scorecalc\/#FCP=3219&amp;SI=5800&amp;FMP=4000&amp;TTI=7300&amp;FCI=6500&amp;LCP=4000&amp;TBT=600&amp;CLS=0.25&amp;device=mobile&amp;version=6&amp;version=8\">Lighthouse<\/a><br><\/figcaption><\/figure><p><br>Let\u2019s test those WP Rocket options on a WordPress site with a bad grade on PSI (mobile). You\u2019ll see how WP Rocket will help us in our <a href=\"https:\/\/wp-rocket.me\/blog\/guide-to-page-speed-optimization-for-wordpress\/\">page speed optimization<\/a> process.&nbsp;<\/p><p>Before optimizing my critical CSS, my performance grade was only of 43\/100, which put my mobile site in the red:&nbsp;<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"994\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/My-WordPress-site-score-on-mobile-no-WP-Rocket-Source-PSI.png\" alt=\"My WordPress site score on mobile (no WP Rocket) - Source: PSI\n\" class=\"wp-image-3800451\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/My-WordPress-site-score-on-mobile-no-WP-Rocket-Source-PSI.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/My-WordPress-site-score-on-mobile-no-WP-Rocket-Source-PSI-157x195.png 157w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/My-WordPress-site-score-on-mobile-no-WP-Rocket-Source-PSI-768x954.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">My WordPress site score on mobile (no WP Rocket) &#8211; Source: PSI<\/figcaption><\/figure><p><br>I\u2019m also getting two warnings: \u201cReduce unused CSS\u201d and \u201cEliminate render-blocking resources\u201d.<\/p><p>Now, let\u2019s install WP Rocket and activate the \u201c<strong>Remove Unused CSS\u201d <\/strong>option.<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"417\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket-1.png\" alt=\"Remove Unused CSS option - Source: WP Rocket\n\" class=\"wp-image-3800459\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket-1.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket-1-310x162.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Remove-Unused-CSS-option-Source-WP-Rocket-1-768x400.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Remove Unused CSS option &#8211; Source: WP Rocket<br><\/figcaption><\/figure><p><br><strong>The performance results are now great on mobile<\/strong>. We have reached 94\/100 just in a couple of clicks. WP Rocket has optimized my rendering path and also took care of my critical CSS.&nbsp;<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"567\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Performance-results-with-WP-Rocket.png\" alt=\"Performance results with WP Rocket\n\" class=\"wp-image-3800465\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Performance-results-with-WP-Rocket.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Performance-results-with-WP-Rocket-275x195.png 275w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Performance-results-with-WP-Rocket-768x544.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Performance results with WP Rocket<br><\/figcaption><\/figure><p><br>The \u201cEliminate render-blocking resources\u201d and the \u201cReduce unused CSS\u201d warnings are now in the \u201cpassed audits\u201d section.&nbsp;<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"381\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Passed-audits-with-WP-Rocket-Source-PSI-.png\" alt=\"Passed audits with WP Rocket - Source: PSI \n\" class=\"wp-image-3800472\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Passed-audits-with-WP-Rocket-Source-PSI-.png 800w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Passed-audits-with-WP-Rocket-Source-PSI--310x148.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/10\/Passed-audits-with-WP-Rocket-Source-PSI--768x366.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Passed audits with WP Rocket &#8211; Source: PSI&nbsp;<br><\/figcaption><\/figure><p><br>Just like me, you can use WP Rocket to optimize the delivery of our critical CSS. It\u2019s a reliable and efficient plugin that helped me reach amazing performance goals in a few clicks.&nbsp;<\/p><figure class=\"wp-block-table\"><table><tbody><tr><td><strong>KPIs and audit section from PSI<\/strong><strong><br><\/strong><strong>(mobile)<\/strong><\/td><td><strong>No WP Rocket&nbsp;<\/strong><\/td><td><strong>\ud83d\ude80&nbsp;With WP Rocket&nbsp;<\/strong><\/td><\/tr><tr><td>Overall grade&nbsp;<\/td><td>43\/100<\/td><td>94\/100<\/td><\/tr><tr><td>Largest Contentful Paint<\/td><td>10.2 s<\/td><td>0.7 s<\/td><\/tr><tr><td>Total Blocking Time&nbsp;<\/td><td>540 ms<\/td><td>&nbsp; &nbsp; 0 ms&nbsp;<\/td><\/tr><tr><td>\u201cReduce Unused CSS\u201d<\/td><td>\ud83d\udd3a Issue<\/td><td>\u2705&nbsp; &nbsp;Passed audit&nbsp;<\/td><\/tr><tr><td>\u201cRemove render-blocking resources\u201d<\/td><td>\ud83d\udd3a Issue<\/td><td>\u2705&nbsp; &nbsp;Passed audit&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\">Wrapping Up<\/h2><p>Optimizing your critical CSS seems daunting, but it doesn\u2019t need to be this way, thanks to plugins like <a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket<\/a>.  We saw that WP Rocket helped eliminate the red warnings related to render-blocking resources on Google PageSpeed Insights. <br><br><strong>You\u2019ll save some precious time <\/strong>because <a href=\"https:\/\/wp-rocket.me\/features\/\">WP Rocket<\/a> automatically applies 80% of web performance best practices \u2014 and <strong>you\u2019ll see an instant speed improvement upon activation<\/strong>. <br><br><strong>What&#8217;s more, you can always count on our 100% money-back guarantee.&nbsp;<\/strong>Although we don\u2019t think you\u2019ll ever want one, we\u2019ll gladly provide a refund if you request it within 14 days of purchase.<\/p>","protected":false},"excerpt":{"rendered":"<p>Seeing \u201celiminate render-blocking JavaScript and CSS\u201d when benchmarking WordPress or \u201celiminate render-blocking resources?\u201d WP&nbsp;Rocket can fix it. Here\u2019s how.<\/p>\n","protected":false},"author":188114,"featured_media":1898508,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"kia_subtitle":"","footnotes":""},"categories":[63],"tags":[],"class_list":["post-1898398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-cache"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery<\/title>\n<meta name=\"description\" content=\"Seeing \u201celiminate render-blocking JavaScript and CSS\u201d when benchmarking WordPress or \u201celiminate render-blocking resources?\u201d WP Rocket can fix it. Here\u2019s how.\" \/>\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\/critical-css\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery\" \/>\n<meta property=\"og:description\" content=\"Seeing \u201celiminate render-blocking JavaScript and CSS\u201d when benchmarking WordPress or \u201celiminate render-blocking resources?\u201d WP Rocket can fix it. Here\u2019s how.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wp-rocket.me\/blog\/critical-css\/\" \/>\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=\"2021-10-19T07:58:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-26T12:20:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"460\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Marine Larmier\" \/>\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=\"Marine Larmier\" \/>\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\/critical-css\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/\"},\"author\":{\"name\":\"Marine Larmier\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/ad9f21665968e3071cede8110604959a\"},\"headline\":\"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery\",\"datePublished\":\"2021-10-19T07:58:00+00:00\",\"dateModified\":\"2023-07-26T12:20:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/\"},\"wordCount\":1913,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/wp-rocket.me\/#organization\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png\",\"articleSection\":[\"Page speed and caching\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/wp-rocket.me\/blog\/critical-css\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/\",\"url\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/\",\"name\":\"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png\",\"datePublished\":\"2021-10-19T07:58:00+00:00\",\"dateModified\":\"2023-07-26T12:20:11+00:00\",\"description\":\"Seeing \u201celiminate render-blocking JavaScript and CSS\u201d when benchmarking WordPress or \u201celiminate render-blocking resources?\u201d WP Rocket can fix it. Here\u2019s how.\",\"breadcrumb\":{\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wp-rocket.me\/blog\/critical-css\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png\",\"width\":1100,\"height\":460,\"caption\":\"Critical CSS How Does It Work\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wp-rocket.me\/blog\/critical-css\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wp-rocket.me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Page speed and caching\",\"item\":\"https:\/\/wp-rocket.me\/blog\/wordpress-cache\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery\"}]},{\"@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\/ad9f21665968e3071cede8110604959a\",\"name\":\"Marine Larmier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0a77fe97a09a2f3875dbeb05e59c757f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0a77fe97a09a2f3875dbeb05e59c757f?s=96&d=mm&r=g\",\"caption\":\"Marine Larmier\"},\"description\":\"I have six years of experience writing and producing rich SEO content in the WordPress ecosystem. I worked remotely for four years at WPML while traveling the world. Based between France and New Zealand, I love traveling, yoga, sunsets, and world cuisine.\",\"sameAs\":[\"https:\/\/wp-rocket.me\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery","description":"Seeing \u201celiminate render-blocking JavaScript and CSS\u201d when benchmarking WordPress or \u201celiminate render-blocking resources?\u201d WP Rocket can fix it. Here\u2019s how.","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\/critical-css\/","og_locale":"en_US","og_type":"article","og_title":"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery","og_description":"Seeing \u201celiminate render-blocking JavaScript and CSS\u201d when benchmarking WordPress or \u201celiminate render-blocking resources?\u201d WP Rocket can fix it. Here\u2019s how.","og_url":"https:\/\/wp-rocket.me\/blog\/critical-css\/","og_site_name":"WP Rocket","article_publisher":"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","article_published_time":"2021-10-19T07:58:00+00:00","article_modified_time":"2023-07-26T12:20:11+00:00","og_image":[{"width":1100,"height":460,"url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png","type":"image\/png"}],"author":"Marine Larmier","twitter_card":"summary_large_image","twitter_creator":"@wp_rocket","twitter_site":"@wp_rocket","twitter_misc":{"Written by":"Marine Larmier","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/#article","isPartOf":{"@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/"},"author":{"name":"Marine Larmier","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/ad9f21665968e3071cede8110604959a"},"headline":"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery","datePublished":"2021-10-19T07:58:00+00:00","dateModified":"2023-07-26T12:20:11+00:00","mainEntityOfPage":{"@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/"},"wordCount":1913,"commentCount":3,"publisher":{"@id":"https:\/\/wp-rocket.me\/#organization"},"image":{"@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png","articleSection":["Page speed and caching"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wp-rocket.me\/blog\/critical-css\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/","url":"https:\/\/wp-rocket.me\/blog\/critical-css\/","name":"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery","isPartOf":{"@id":"https:\/\/wp-rocket.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage"},"image":{"@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png","datePublished":"2021-10-19T07:58:00+00:00","dateModified":"2023-07-26T12:20:11+00:00","description":"Seeing \u201celiminate render-blocking JavaScript and CSS\u201d when benchmarking WordPress or \u201celiminate render-blocking resources?\u201d WP Rocket can fix it. Here\u2019s how.","breadcrumb":{"@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wp-rocket.me\/blog\/critical-css\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/#primaryimage","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/wp-rocket-critical-css-what-is-it.png","width":1100,"height":460,"caption":"Critical CSS How Does It Work"},{"@type":"BreadcrumbList","@id":"https:\/\/wp-rocket.me\/blog\/critical-css\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wp-rocket.me"},{"@type":"ListItem","position":2,"name":"Page speed and caching","item":"https:\/\/wp-rocket.me\/blog\/wordpress-cache\/"},{"@type":"ListItem","position":3,"name":"Critical CSS in WordPress: What It Is and How to Optimize CSS Delivery"}]},{"@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\/ad9f21665968e3071cede8110604959a","name":"Marine Larmier","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0a77fe97a09a2f3875dbeb05e59c757f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0a77fe97a09a2f3875dbeb05e59c757f?s=96&d=mm&r=g","caption":"Marine Larmier"},"description":"I have six years of experience writing and producing rich SEO content in the WordPress ecosystem. I worked remotely for four years at WPML while traveling the world. Based between France and New Zealand, I love traveling, yoga, sunsets, and world cuisine.","sameAs":["https:\/\/wp-rocket.me\/"]}]}},"_links":{"self":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts\/1898398"}],"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\/188114"}],"replies":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/comments?post=1898398"}],"version-history":[{"count":0,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/posts\/1898398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/media\/1898508"}],"wp:attachment":[{"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/media?parent=1898398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/categories?post=1898398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp-rocket.me\/wp-json\/wp\/v2\/tags?post=1898398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}