Skip to main content
All rules

PERF-005

Render-blocking scripts in the head

LowDefault severity · Performance · SEO, quality and performance

Last reviewed

What it checks

External <script> tags in <head> that block parsing, using Lighthouse’s definition: no async, defer or type="module", not nomodule (modern browsers never load those), and a JavaScript type.

Why it matters

The browser stops drawing the page until each blocking script downloads and runs.

Recommended fix

Add defer (or async for independent scripts) to scripts in the head.

How to verify

Run Lighthouse and confirm “Eliminate render-blocking resources” no longer lists these scripts.

Example fix prompt

Generic prompt (your report adds the evidence)
Please fix this production issue in my app.

Issue PERF-005: Render-blocking scripts in the head
Site: https://your-app.example

First confirm the issue in the code or live config. If it is not present, say so and change nothing.
Task: Add the defer attribute to the external scripts in <head> listed in the evidence (use async only for fully independent scripts such as analytics), or load them with the framework’s script component using an afterInteractive or lazy strategy.

Constraints: make the smallest change that fixes this, keep the current design and behaviour, never paste secret values into code or chat, and tell me which files you changed.
Done when: Run Lighthouse and confirm “Eliminate render-blocking resources” no longer lists these scripts.

References