Render-Blocking JS Checker

Find JavaScript files that block page rendering and slow down display

Check Results

This only checks render-blocking JS. For a comprehensive analysis, use the full page check.

You can also audit your entire site. Duplicate titles and descriptions, orphan pages, broken links between sections, and other site-wide issues can only be found with a full site audit.

If you don't have an SEO specialist, we can help fix the errors found.

Full Page Check Full Site Audit Fix Errors

What Are Render-Blocking Resources

Render-blocking resources are JavaScript and CSS files that block page rendering. When the browser encounters a <script> tag without async or defer attributes, it pauses HTML parsing, downloads and executes the script, and only then continues building the DOM. This delays the first paint and worsens FCP and LCP metrics.

What This Tool Checks

  • Scripts without async/defer — JavaScript files blocking page rendering
  • Script placement — scripts in <head> without async/defer are especially harmful
  • Blocking resource count — how many scripts slow down rendering
  • Inline scripts — large embedded scripts that also block parsing
  • Async and defer attributes — verification of their correct usage

Difference Between async and defer

  • No attributes — browser pauses HTML parsing, downloads the script, executes it, then continues
  • async — script downloads in parallel with HTML parsing, but executes immediately after loading, pausing parsing
  • defer — script downloads in parallel and executes after full HTML parsing, maintaining order
  • When to use which — defer for DOM-dependent scripts; async for independent scripts (analytics, widgets)

How to Eliminate Render-Blocking

  • Add the defer attribute to DOM-dependent scripts — this is the safest approach
  • Use async for independent scripts — analytics, ad widgets, counters
  • Move scripts to the end of <body> — if async/defer doesn't work for some reason
  • Inline critical CSS and JS — minimal code for the first screen can be embedded in HTML

Frequently Asked Questions

Can async or defer be added to all scripts?
Not always. If a script depends on another script or must execute in a specific order, async may break things. In such cases, use defer — it preserves script execution order. Also, async/defer cannot be added to inline scripts (without src attribute) — these attributes only work with external files.
How does render-blocking JS affect SEO?
Blocking scripts slow down First Contentful Paint (FCP) and Largest Contentful Paint (LCP) — key Core Web Vitals metrics. Google considers these metrics for ranking. Additionally, if Googlebot doesn't wait for scripts to execute, some content may not be indexed. Eliminating render-blocking resources is one of the main PageSpeed Insights recommendations.
Which is worse — render-blocking JS or CSS?
CSS always blocks rendering by default — the browser won't paint the page until all styles are loaded. But this is normal behavior; otherwise, users would see a flash of unstyled content. JavaScript blocks HTML parsing too, which is worse. Priority is to remove blocking JS via async/defer, and for CSS, inline critical styles and load the rest asynchronously.

Other Checks