Dev.Lib
arrow_backBack to Blogs
LEVEL_033.6June 27, 20261 min read

Render blocking resources

Browser Performance

Parser-blocking scripts without `defer`/`async`, blocking CSS, sync font loading delay FCP/LCP.

Summary

Parser-blocking scripts without defer/async, blocking CSS, sync font loading delay FCP/LCP. media attribute on link tags scopes CSS blocking. Module scripts defer by default. Move analytics/ads below fold or load after idle. Every blocking resource in <head> extends critical path.

Code example

<link rel="stylesheet" href="/styles.css" media="print" onload="this.media='all'" />
<script src="/analytics.js" async></script>
<script type="module" src="/app.js"></script>

Key points

  • Parser-blocking scripts without defer/async, blocking CSS, sync font loading delay FCP/LCP.
  • media attribute on link tags scopes CSS blocking.
  • Module scripts defer by default.
  • Move analytics/ads below fold or load after idle.
  • Every blocking resource in <head> extends critical path.

Further reading

Related concepts