Last updated on

There are two major things that must load before your website can be “rendered,” the Document Object Model (DOM) and the CSSOM (Cascading Style Sheet Object Model).

The DOM contains all of the markups for your website, and the CSSOM contains all of the styling to display it correctly.

In WordPress, most CSS files, or stylesheets, are loaded as separate files as enqueued by your theme, plugins, and other site assets, and this leads to numerous network requests that are considered “render-blocking.” In this guide, you’ll learn how to eliminate render-blocking CSS by moving it to the HTML body with W3 Total Cache Pro.

Speed Up Your WordPress Website.

A Difference of Just 100ms in Page Load Speeds Can Cause a Visitor to Prefer Your Competitor’s Website.

Why Do I Need to Eliminate Render-Blocking CSS?

If a site’s markup is loaded without CSS, it can cause a “Flash of Unstyled Content,” (FOUC) which will contribute to the Cumulative Layout Shift (CLS) Core Web Vital metric. It may also lead to longer First Contentful Paint (FCP) metrics, and overall cause a poorer user experience and Core Web Vitals score.

Let’s take a look at what render-blocking CSS may cause your website to look like on a slow web connection. Here are two images of the WordPress Dashboard, one without CSS, and one with CSS:
wordpress dashboard loaded without css styles appliedwordpress dashboard with css styles loaded correctly.

On a slower connection, a user might briefly see the first image, and only see the styled content after the stylesheets load.

What is “Moving to the HTTP Body?”

When you use W3 Total Cache Pro to eliminate render-blocking CSS, your stylesheets are first minified, then combined, and finally inserted into the top of the DOM as an inline style, rather than a separate network request.

This means that your visitors will receive all of the necessary styles at the same time that they receive the rest of your site’s markup, and therefore eliminate any Layout Shift caused by CSS and further delays in rendering the First Contentful Paint.

How do I Eliminate Render-Blocking CSS with W3 Total Cache Pro?

  1. Navigate to the Performance — General Settings menu and enable Minify. Try Automatic mode first.
    minify control enabled in the w3 total cache general settings
  2. Navigate to the Minify settings menu, and scroll down to the CSS section. Ensure that minify is enabled, and select Eliminate render-blocking CSS by moving it to HTTP body
    css minification enabled along with the eliminate render blocking css control under the minify controls section.

That’s it! Your CSS stylesheets will now be automatically minified and moved to the top of your main DOM (HTTP Body).

How Do I Tell If It’s Working?

Most of the time, you’ll be able to tell simply by running Google’s PageSpeed Insights tool, or by running the Lighthouse tool in your browser’s developer tools. However, if you’d like to check out how it works under the hood, follow these steps.

  1. First, disable the setting and purge all caches
    eliminate render-blocking css control disabled. save settings and purge cache button highlighted.
  2. Load your site in an Incognito, or Private Browsing Window and open your browser’s developer tools, and check out the Network tab. In Chrome, the shortcut for this is Ctrl-Shift-i. In Firefox, use Ctrl-Shift-e. For simplification, use the CSS filter to show only the relevant requests. Take note of the various minified CSS files you can see.
    css filter selected under the network tab in the browser developer tools. only css files are listed.
  3. Go back to your Dashboard, and re-enable the option to eliminate render-blocking css in the Minify settings menu, then reload your site in the private browsing window. (Hint: delete the network requests history with the Clear button). Note that there are no longer any separate network requests for stylesheets.
    css filter selected in the developer network tab. no css files are shown in the list.
  4. Switch over to the Elements tab of your developer tools, and note that all of your stylesheets have been minified and added to the <head> element of your DOM.
    page source html view showing all of the css style files loaded in the website head section.

How Do I Make It Even Faster?

Eliminating render-blocking CSS via the automatic method will almost always improve your PageSpeed Insights score, but you may choose to optimize even further. The following steps will take some development skills, but you should feel encouraged to dive deeper to get even better results.

What Types of Stylesheets Are Actually Render-Blocking?

Stylesheets are only considered Render-Blocking if they apply to All Media Types. By using Auto-Minify, you’ll be minifying and combining all of your stylesheets into the HTTP Body. This may have a negative impact on sites with a lot of plugins, or complicated themes, because the DOM request filesize may become larger than ideal.

Instead, you may choose to use Manual Minify mode to further optimize your CSS. Using manual, you can select the specific files to combine, minify, and move to the HTTP body. 

  1. Examine your site’s source HTML, and perform a CTRL-F search for all instances of the string rel=“stylesheet”.
  2. Using this search, locate any stylesheets that do not specify a media type, or use media=“all” . These are the stylesheets that are considered render-blocking.
  3. Navigate to the Minify settings menu, and add each stylesheet that applies to all media to the list of minified files.
  4. Save your settings, check that your site renders correctly, and perform a new PageSpeed Insights report to ensure that you didn’t miss any render-blocking stylesheets.

Conclusion

All modern websites rely on CSS to properly present their content in the right layout and style, but this comes at a performance cost. In this guide, you’ve learned how to eliminate the most detrimental effects of stylesheets and improve your Core Web Vitals scores with W3 Total Cache Pro.

W3 Total Cache

You haven't seen fast until you've tried PRO

   Full Site CDN + Additional Caching Options
   Advanced Caching Statistics, Purge Logs and More

Everything you need to scale your WordPress Website and improve your PageSpeed.

Leave a Reply

Your email address will not be published. Required fields are marked *