Websites and Tech

Render Blocking

Also called Render-blocking resources

A file the browser must finish loading before it will draw anything, leaving the visitor on a blank screen.

Quick facts: Render Blocking

Category
Websites and Tech
Also called
Render-blocking resources
Level
Intermediate
Affects
First paint, Core Web Vitals, mobile experience, bounce
Where to see it
PageSpeed Insights, Lighthouse, browser developer tools (Network and Performance tabs)
In this article4
  1. How render blocking works
  2. Why render blocking matters
  3. Common mistakes with render blocking
  4. How to act on it

How render blocking works

A browser reads your HTML from top to bottom. When it meets a stylesheet, it stops drawing until that file has arrived and been read, because painting text in the wrong colours and positions and then correcting it would look worse than waiting. When it meets an ordinary script tag, it stops parsing the page entirely, because that script might rewrite the document it is halfway through reading.

Both of these are render blocking. The visitor stares at a white screen while files they never asked for are fetched from wherever they live. The problem gets worse when those files are hosted somewhere else, because each new domain costs a fresh connection before a single byte of the file itself moves.

Why render blocking matters

It sits directly under the metrics people are judged on. First Contentful Paint measures the moment anything appears, and blocking resources are usually the reason that moment is late. Largest Contentful Paint follows it, because the main image or heading cannot be drawn before the browser is allowed to draw at all.

It matters more on phones and on slower mobile networks than on a desktop with fibre, which is why a site can look instant to the person who built it and feel broken to a visitor in Kathmandu on a weak signal. A blank screen also reads as failure rather than as slowness — people leave a white page long before they would leave a half-drawn one.

Common mistakes with render blocking

The usual cause is accumulation rather than one bad decision. A theme loads its own stylesheet, a page builder adds another, a slider plugin adds a third, a font service adds a fourth, and every one of them insists on being read before anything is shown. Nobody chose that; it grew.

The second mistake is treating every script as urgent. Analytics, chat widgets, consent banners and social embeds have no business delaying the first paint, yet they are frequently pasted straight into the head as plain script tags. The third is reaching for a plugin toggle labelled something like eliminate render-blocking resources, switching everything on, and shipping a site whose layout flashes or whose menu no longer opens.

How to act on it

Start by finding out what is actually blocking. PageSpeed Insights lists the offending files by name, and the Network tab of your browser’s developer tools shows the order they were requested in. Then deal with them by type rather than in bulk: mark non-essential scripts as defer or async, load third-party tags after the page has drawn, and remove the plugins whose assets load on every page for a feature used on one.

Inline the small amount of CSS needed for the top of the page and let the rest load without blocking, but test each change on a real phone rather than trusting a score. Where this becomes a recurring fight with a theme, it is usually cheaper to fix the build than the symptoms — that is the work covered by page speed optimisation, and it shows up in the Core Web Vitals you are being measured on.

Do and do not

Do

  • Identify the blocking files by name before changing anything
  • Defer analytics, chat and consent scripts below the first paint
  • Retest on a real phone after every change

Do not

  • Defer scripts in bulk with a single plugin toggle
  • Paste third-party tags straight into the page head
  • Load a page builder's full stylesheet on unrelated pages

Questions people ask about this

Is render blocking the same as a slow server?

No, though they feel identical to the visitor. A slow server delays the very first response, before the browser knows what the page contains. Render blocking happens after that response arrives: the browser has the HTML but is not allowed to paint until certain files finish loading. Check the time to first byte to tell them apart.

Can I just defer every script on the site?

Deferring everything is a common way to break a site. Scripts that other scripts depend on must run in order, and some features expect to be ready before a visitor interacts. Defer third-party tags and non-essential widgets first, test each change on a real phone, and keep anything that draws the top of the page loading normally.

Do web fonts cause render blocking?

They can. A font file requested by a stylesheet delays the stylesheet's work, and text may stay invisible until the font arrives. Serving fonts from your own domain, limiting the number of weights, and allowing a fallback font to show while the real one loads all reduce the delay without changing the design.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.