Performance · 15 points

Blocking scripts

One check, stated three ways: what we measure, what would make it wrong, and how to confirm it yourself.

What this measures

<script src> elements inside <head> with no async, defer or type=module.

Where this check can be wrong

One blocking script that sets up a consent banner is a deliberate trade-off, and inline critical CSS or module loaders can look blocking without being one.

Verify it without taking our word for it

document.querySelectorAll('head script[src]:not([defer]):not([async]):not([type="module"])').length in your console.

Related