← All checks
Performancelowrender-blocking-scripts

Static document head contains three or more synchronous external scripts

ShipReady found at least three eligible external script tags in the static document-head region without async or defer.

Why it matters

A static loading pattern can be reviewed before browser-specific performance testing.

How ShipReady detects it

What it inspects

ShipReady reads non-truncated fetched HTML and examines static script tags before the closing head marker.

What triggers a finding

It triggers when at least three tags have src, lack async and defer, and do not use recognized non-blocking types such as module, JSON-LD, importmap, or speculationrules.

What the evidence shows

The evidence proves the reported count of static script-tag patterns.

Limits of this check

Inline scripts, scripts outside the parsed head region, async/defer scripts, and recognized non-blocking types are excluded; truncated pages produce no finding.

ShipReady does not fetch or execute scripts, model browser parsing, measure first paint, or determine whether every script delays a visitor.

How to fix it

Review the observed evidence

Review each script’s ordering and loading requirements before changing attributes.

How to verify the change

Verify the intended behavior

Test deployed features that rely on the changed script loading.

Expected: Necessary scripts still work with the intended loading strategy.