The Inbound Growth Blog: Inbound Marketing, Sales and Service

Can You Remove Render-Blocking JavaScript From HubSpot's COS Themes?

Written by David Ward | Jun 09, 2016

So we were doing some SEO and page optimization last week and much to my chagrin I found 2 critical errors being reported from our PageSpeed Insights desktop report. Google told me I have 2 blocking script resources and I need to eliminate render-blocking JavaScript in above-the-fold content:

These two JS files are not part of our theme, although I know jQuery sometimes has to be positioned in a specific place in the order of  JS and functions in order for it to work.

I searched Google and found an article on HubSpot's blog, but they just tell you how to move your own custom JavaScript code in HubSpot and don't mention their own code.

I knew I could probably figure out where this code was and move it, but since I didn't know the impact it might have on the site and didn't really want to invest 100 developer hours to find out, I decided to open a ticket with HubSpot support to find out if I could move the JS so it no longer threw an error from Google.

I'll save you the time opening your own ticket and waiting for a response. Sadly, there's nothing you can do about it. Because of the way HubSpot's COS is coded, jQuery has to load right away or the content won't even render. Then I found out that current.js is needed for CTAs:

"CTA JavaScript needs to load initially so it knows how to create the CTA when the content of the page loads rather than the CTA appearing to change and load after the the rest of the content does. In these cases having that content load first is a necessity in order for the content even above the fold to load as expected. "

Thus ends my free public service announcement for anyone else out there who might be looking for a solution to this. Sadly, there is none since CTAs are a pretty darn important part of HubSpot and Inbound Marketing!