Heavy JavaScript

javascript.js_excessive_scripts
Priority
Low
Severity
Warning

What we look for

These pages load more than 20 scripts or 100 KB of inline script, counting both script files and code written straight into the page.

Why it matters

Every script has to download and run before the page is fully usable, which slows it most on phones and slow connections.

How to fix

Remove scripts and plugins you no longer use and combine the rest where you can. Load scripts that are not needed straight away with defer, or only on the pages that use them.

Seen in a real crawl

From a crawl of the js-heavy fixture, a test site from Raptor’s fixture suite.

Low

1 page loads a lot of JavaScript

  • /many-scripts/22 scripts (limit 20): /assets/vendor-0.js, /assets/vendor-1.js, /assets/vendor-2.js, /assets/vendor-3.js, /assets/vendor-4.js, /assets/vendor-5.js, /assets/vendor-6.js (+15 more)
Paths on http://127.0.0.1:8004raptor 0.3.0, 17 Oct 2026

Where you’ll see it

The id is stable, and every surface uses it, so it’s the thing to search for or hand to an agent.

Terminal
When it is one of the five findings under Fix first, raptor crawl prints the id under it.
Check: javascript.js_excessive_scripts
crawl.json and the CSV
The crawl JSON names the finding by this id, and so do the CSV and raptor_query.
"check_id": "javascript.js_excessive_scripts"
The HTML report
This link opens the finding in the report, and each finding shows its id.
crawl.html#finding=javascript.js_excessive_scripts
MCP
raptor_findings with this check_id returns the finding in full, with a fix brief ready to paste into a task. If it didn’t fire, it says why.
raptor_findings {
  "job_id": "...",
  "check_id": "javascript.js_excessive_scripts"
}