Remove render-blocking scripts and styles
Let the browser paint first, load everything else after.
What it means
A render-blocking script or stylesheet sits in the page head and forces the browser to download and execute it before painting anything. Visitors stare at a blank screen until it finishes.
Why it matters
Blocking resources delay every single visitor on every single visit. Removing them is usually a few lines of HTML and often cuts time-to-first-paint dramatically.
How to fix it
- Add the defer attribute to every <script> in the head that isn't needed to render the initial view.
- Move analytics and marketing tags into a tag manager configured to load after page interaction.
- Inline the small amount of CSS needed for the first screen (critical CSS) and load the rest asynchronously.
- Remove plugins/tag-manager entries you no longer use — dead tags are the most common offender.
Helpful tools
- PageSpeed Insights
- Chrome DevTools → Coverage
Not sure if this affects your site? Analyze your website for free or compare it with a competitor.
Related guides
- Fix slow Largest Contentful Paint (LCP): Make the biggest visible element on your page load in under 2.5 seconds.
- Stop layout shifting (CLS): Reserve space for images and embeds so the page stops jumping while loading.
- Reduce Total Blocking Time (TBT): Break up long JavaScript tasks so the page stays responsive to taps and clicks.
- Improve mobile page performance: Cut image weight, JavaScript, and server lag so the page loads fast on phones.