February 4, 2019
6 min Read
February 4, 2019
6 min Read
Website speed is one of the most important factors in attracting and retaining visitors. All other things being equal, a faster website is much more likely to land users. This is because search engines take site speed into consideration when ranking results. So, if you want to leave your competition biting the dust in SEO, make site speed a priority.
To understand this suggestion, we must look at Google’s criteria for scoring sites on PageSpeed Insights. There are ten speed rules defined by Google, and failure in any one of these results in a reduction of points.
Render-blocking JS and CSS in above-the-fold content is one of these rules. Typically, JS and CSS scripts force the web browser to delay loading the HTML page. Of course, this is not an issue. In fact, that is precisely what you would want; no one desires to look at content that hasn’t been styled.
Render-blocking JS and CSS, however, refers to those scripts, that introduce load latency but are not used in above-the-fold (ATF) content. ATF content refers to that part of the web page that is visible when the page loads; any part of the page that you have to scroll down to reach is non-ATF. So, with this suggestion, Google is letting you know that there are JS and CSS scripts on this web page that are slowing it down needlessly, as the part of the page they affect isn’t even observable to the user yet.
In this WordPress tutorial, we will use Google PageSpeed Insights to identify render-blocking scripts. Then, we will show you how to fix this issue for your WordPress site, using 3 different methods. In addition to this guide, you should also look at other ways of speeding up your WordPress site for an optimal user experience.
Before starting this tutorial, you’ll need the following
The first step in fixing render-blocking is testing your site’s speed using Google PageSpeed Insights. Simply visit the page, and in the input field, paste your site’s URL. Click Analyze to get a report of your site. Most sites score between 50-70; this should serve as a benchmark for your score. Along with the score, Google will also list suggestions to improve the performance of your site.
In order to show how to fix render blocking error, we will use a real website. In the above screenshot, you can see that it currently contains quite a few blocking JS and CSS resources.
An important thing to keep in mind – your goal here should not be to score a perfect 100 on PageSpeed Insights. Rather, it should be to try your best to get a good score, without sacrificing user experience. If there are scripts on your WordPress site essential for a robust UX, you shouldn’t remove them just to get a slightly higher score on PageSpeed Insights. The rules on which Google scores your sites are merely guidelines, and should be taken as such.
Now that you are aware of render-blocking code on your website, you have a few options on how to fix it. We recommend downloading a plugin that makes your life easy in taking care of this problem. One of our favorites is the W3 Total Cache plugin. Install and activate it. Once you have it setup, follow these steps:
If you want even more control over your above-the-fold content, do check out Above The Fold Optimization. This plugin is designed specifically for ATF content and works with other popular plugins like W3 Total Cache and Autoptimize.
In most cases, this is enough to fix render-blocking (it depends on your theme and active plugins). To find out if you’re one of these people, run your site through PageSpeed Insights again.
As you can see from the above screenshot, Autoptimize left 1 blocking JS resources and 1 blocking CSS resources.
If you want to take the optimization even further, head back over to Settings -> Autoptimize. Click on the Show Advanced Settings button. From here, check the options Also aggregate inline JS and Also aggregate inline CSS. Finish by clicking on Save changes and Empty Cache. To see if this worked, visit PageSpeed Insights once again.
Another popular plugin that you may find useful in fixing render-blocking for your WordPress site is Speed Booster Pack. Download and activate the plugin. You will find its options in the Settings ->Speed Booster Pack section of the WordPress admin area.
For CSS render-blocking, go to the Still need more speed? menu. Here, you will find additional settings pertaining to CSS optimization; minifying CSS, moving CSS styles inline to the footer and loading CSS asynchronously.
You should experiment with these optimizations to find a happy medium – simply enabling all of them will load your site faster, but may also introduce the unwanted Flash of unstyled content (FOUC) artifact. This happens when the browser loads the web page without waiting for the stylesheet to load, causing a momentary flash any styling off of the page. To ensure that render-blocking is not an issue anymore, check back with Google PageSpeed Insights.
If any of the above fixes broke your site’s functionality in some way, then make sure to follow render-blocking code. Remember, site speed only goes so far in improving your website; you shouldn’t have to compromise on core functionality. So, if there’s still some render-blocking code dangling on your site, don’t worry about it. Found this tutorial useful? We have much more for you at hostinger.com/tutorials/wordpress.
October 18, 2017
Nice. I've used some of the technics here to improve my performance. Still, there are some minor issues but overall it looks good. Thnak you.
October 19, 2017
Hi there, Thank you for the tutorial, I managed to fix the only one .css I had. It increased the page speed to 'green' both for mobile and desktop. But when I re-checked the PageSpeedInsight got a new warning that I have another CSS to optimize "/wp-content/cache/minify/" (in the first check it didn't show up). As this one has no extension .css I am not sure if I have to repeat the procedure you explain above for .css. Thank you in advance for reply
Replied on October 19, 2017
Hey Matsa, That's strange. Can you provide a screenshot of Google PageSpeed test or maybe your domain?
November 06, 2017
I still have the warming from Google Pagespeed and I see that W3TC has that function for pro version only Your page has 1 blocking CSS resources. This causes a delay in rendering your page.
November 17, 2017
December 03, 2017
This plugin broke my website in a big way.. I use beaver builder. Luckily, disabling the plugin undid the damage.. but boy... that was scary.
Replied on December 14, 2017
Hey Adam, Try excluding certain css and js scripts. That should do the trick.
December 06, 2017
Hi. I was really pleased to find your easy to follow instructions. However, I have had very little success. I was already using W3 Total Cache, so I was familiar with the general interface. I did exactly as you suggested and pasted in the js and css URLs. However, when I purged the cache and saved and ran the page speed test again, I got a warning "The URL was fetched, but nothing was rendered. Ensure that the URL points to an HTML page that loads successfully in a web browser." Sure enough, the site was now not loading at all. I have now deactivated both JS and CSS minification so the site is working, but the speed is now 'Poor'. I then tried your suggestions of Autoptimise and Speed Booster Pack. These produced similarly disappointing results, and effectively broke the site. I would like any advice you can give me as I'm sure I'm missing something very simple, I hope! Thank you.
Replied on December 14, 2017
Disable W3 total cache and try using only Autoptimise.
February 07, 2018
Great article! Step 2 was super helpful as I have had W3 Total Cache for awhile now but could never figure out how to fix the render blocking issue! Thanks
August 23, 2018
It is worth mentioning, that fixing render blocking CSS with W3 Total Cache is only possible, if you pay them a massive amount of money every year. If you do not have that kind of money, you might not want to waste your time on this advanced procedure.
December 27, 2018
Thank you for sharing this article. I managed to bring my site speed up to 94. Automtimize did the trick for me, though I still have few other segments to review .
January 18, 2019
Just about the simplest way to explain this fix. Thank you. It's great to find teachers who explain things assuming not all of us are experts. This worked like a charm for the render-blocking. Thank you!
April 22, 2019
Thanks Domantas :-) will test some of these out :-)