Are you trying to eliminate render-blocking JavaScript and CSS in WordPress?
If you test your website on Google PageSpeed insights, then you will likely see a suggestion to eliminate render-blocking scripts and CSS. However, it does not provide any details on how to do that on your WordPress site.
In this article, we will show you how to easily fix render-blocking JavaScript and CSS in WordPress to improve your Google PageSpeed score.
What Is Render-Blocking JavaScript and CSS?
Render-blocking JavaScript and CSS are files that prevent a website from displaying a web page before loading these files.
Every WordPress website has a theme and plugins that add JavaScript and CSS files to the front end of your website.
These scripts can increase your site’s page load time, and they can also block the rendering of the page.
A user’s browser will have to load those scripts and CSS before loading the rest of the HTML on the page. This means that users on a slower connection will have to wait a few milliseconds more to see the page.
These scripts and stylesheets are referred to as render-blocking JavaScript and CSS.
WordPress website owners who are trying to achieve a Google PageSpeed score of 100 will need to fix this issue to attain that perfect score.
What Is a Google PageSpeed Score?
Google PageSpeed Insights is a website speed test tool created by Google to help website owners optimize and test their websites. This tool tests your website against Google’s guidelines for speed and offers suggestions to improve your page load time.
It shows you a score based on the number of audits that your site passes. Most websites get somewhere between 50-70. However, some website owners feel compelled to achieve 100 (the highest a page can score).
Do You Really Need the Perfect “100” Google PageSpeed Score?
The purpose of Google PageSpeed insights is to provide you with guidelines to improve the speed and performance of your website. You are not required to follow these rules strictly.
Remember that speed is only one of the many website search engine optimization (SEO) metrics that help Google determine how to rank your site. Speed is so important because it improves user experience on your site.
A better user experience requires a lot more than just speed. You also need to offer useful information, a better user interface, and engaging content with text, images, and videos.
Your goal should be to create a fast website that offers a great user experience.
We recommend that you use Google PageSpeed rules as suggestions. If you can implement them easily without ruining user experience, then that’s great. Otherwise, you should try to do as much as you can, and then don’t worry about the rest.
Having said that, let’s take a look at what you can do to fix render-blocking JavaScript and CSS in WordPress.
We will cover two methods that will eliminate render-blocking resources in WordPress. You can choose the one that works best for your website:
Method 1: Fix Render Blocking Scripts and CSS With WP Rocket
For this method, we will be using the WP Rocket plugin. It is the best WordPress caching and optimization plugin on the market that allows you to quickly improve your website performance without any technical skills or a complicated setup.
First, you need to install and activate the WP Rocket plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.
WP Rocket works out of the box, and it will turn on caching with optimal settings for your website. You can learn more about it in our complete guide on how to properly install and set up WP Rocket in WordPress.
By default, it does not turn on JavaScript and CSS optimization options. These optimizations can potentially affect your website’s appearance or some features, which is why the plugin allows you to enable these settings optionally.
To do that, you need to visit the Settings » WP Rocket page and then switch to the ‘File Optimization’ tab.
From here, scroll to the CSS Files section and check the boxes next to ‘Minify CSS’, ‘Combine CSS Files’, and ‘Optimize CSS Delivery’.
For the ‘Optimize CSS Delivery’ setting, WP Rocket recommends choosing the ‘Remove Unused CSS‘ method.
Besides offering the best performance, it can help reduce page size and HTTP requests.
Note: The WP Rocket cache plugin will attempt to minify all your CSS files, combine them, and only load the CSS needed for the visible part of your website.
This could affect your website’s appearance, so you need to thoroughly test your website on multiple devices and screen sizes.
Next, you need to scroll to the JavaScript Files section. From here, you can check all the options for maximum performance improvement.
You can minify and combine JavaScript files like you did for CSS.
You can also stop WordPress from loading the jQuery Migrate file. It is a script that WordPress loads to provide compatibility for plugins and themes using old versions of jQuery.
Most websites don’t need this file, but you will still want to check your website to make sure that removing it does not affect your theme or plugins.
Next, scroll down a little further and check the boxes next to the ‘Load JavaScript Defered’ and ‘Safe Mode for jQuery’ options.
These options delay loading non-essential JavaScripts, and the jQuery safe mode allows you to load jQuery for themes that may use it inline. You can leave this option unchecked if you are certain that your theme does not use inline jQuery anywhere.
Don’t forget to click on the ‘Save Changes’ button to store your settings.
After that, you may also want to clear the cache in WP Rocket before testing your website again with Google PageSpeed Insights.
On our test site, we were able to achieve a 100% score on desktop devices, and the render-blocking issue was solved in both mobile and desktop scores.
Method 2: Fix Render Blocking Scripts and CSS With Autoptimize
For this method, we will be using a separate plugin made specifically for improving the delivery of your website’s CSS and JS files. While this plugin gets the job done, it does not have the other powerful features that WP Rocket has.
The first thing you need to do is install and activate Autoptimize, a free plugin plugin to speed up website performance. For more details, see our step-by-step guide on how to install a WordPress plugin.
Upon activation, you need to visit the Settings » Autoptimize page to configure the plugin settings.
First, you need to check the box next to ‘Optimize JavaScript Code’ under the JavaScript Options block. Make sure that the ‘Aggregate JS-files’ option is unchecked.
Next, scroll down to the CSS Options box and check the ‘Optimize CSS Code’ option.
Make sure that the ‘Aggregate CSS-files’ option is unchecked.
You can now click on the ‘Save Changes and Empty Cache’ button to store your settings.
Go ahead and test your website with the PageSpeed Insights tool. On our demo site, we were able to fix the render-blocking issue with these basic settings.
If there are still render-blocking scripts, then you can come back to the plugin’s settings page and review the settings under both JavaScript and CSS options.
For example, you can allow the plugin to include inline JS and remove scripts that are excluded by default, like seal.js or jquery.js. Then, simply click on the ‘Save changes and Empty Cache’ button to save your changes and empty the plugin cache.
Once you are done, go ahead and check your website again with the PageSpeed Insights tool.
How Does Autoptimize Work?
Autoptimize aggregates all enqueued JavaScript and CSS. After that, it creates minified CSS and JavaScript files and serves cached copies to your website as async or deferred.
This allows you to fix the render-blocking scripts and styles issue. However, please keep in mind that it can also affect the performance or appearance of your website.
What to Do If Render-Blocking JavaScript and CSS Still Exist
Depending on how the plugins and your WordPress theme use JavaScript and CSS, it can be hard to completely fix all render-blocking JavaScript and CSS issues.
While the above tools can help, your plugins may need certain scripts at a different priority level to work properly. In that case, the above solutions can break the functionality of such plugins, or they could behave unexpectedly.
Instead of trying to eliminate render-blocking issues completely, we recommend doing alternative approaches to speed up your website. For example, you can use a CDN service to serve your static JavaScript and CSS files and reduce load time.
You can read our ultimate guide to boost WordPress speed and performance for more information.
We hope this article helped you learn how to fix render-blocking JavaScript and CSS in WordPress. You may also want to see our article on how WPBeginner boosts page load speed with 6 tips and our comparison of the best managed WordPress hosting companies.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
I use autoptimize and also wp-rocket. It helped me tremendously. However, it is necessary to be very careful with some changes. One setting and the entire website can immediately stop working correctly.
Amina
Hello there, your site and tips have really been helpful. Thank you wpbeginner!
My AMP says customize JavaScript script not allowed. I have tried using and followed your instructions for autoptimize but it didn’t solve the problem. The amp shows the error is in line 12:10 and 18:2.
WPBeginner Support
Glad our article was helpful, for AMP specific questions like that we would recommend reaching out to AMP’s support and they should be able to assist.
Admin
Fahad Khan
Hi,
Is there any other way to get this thing done except wp rocket and autopitmize?
WPBeginner Support
There are likely other tools but these are the current ones we recommend for beginners.
Admin
Rizz
For W3 Total cache users
Dont add jquery Script (/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp) It will work otherwise your site will not load properly.
Css will not through any error
If Revolution silder will post an error after it –> go to revslider global settings and turn on Insert scripts in footer.
WPBeginner Support
Thanks for sharing some recommendations you’ve found through editing your site.
Admin
Muhammad Farhan
I don’t remember when ever i find myself struck in a difficult position, you are always there to help me when no body is around i don’t know of any best site of wordpress guide than wpbeginners, thank you so much
WPBeginner Support
Glad our guides continue to be helpful to you
Admin