The JavaScript Dependency Checker fetches the raw HTML of a page, the way a crawler that does not run JavaScript sees it. It counts the words and headings that are in that HTML, checks for an empty app shell, and measures how much of the markup is script. You get a pass, warning or fail for each check.
Updated
Many AI crawlers do not run JavaScript, and support varies by crawler. They read the HTML the server sends. If your content is added by scripts after the page loads, those crawlers may see an empty page.
The checker fetches your page without running any scripts and shows what is left.
The four checks use the raw HTML only.
| Check | Passes when |
|---|---|
| Readable text in the HTML | 300 or more words (120 to 299 is a warning) |
| Headings in the HTML | 2 or more headings |
| Not an empty app shell | No empty mount element like root, app or __next |
| Markup is mostly content | Under 50% of the HTML is inside script tags (50% to 75% is a warning) |
The fix is to get the content into the HTML the server sends. Server-side rendering and static generation both do that. A framework that renders on the server can still show as hydrated here, and passes when the text is in the markup.
Serving crawlers a separate prerendered copy of the page is cloaking and can cause problems with search engines.
A crawler that is blocked never gets the HTML at all. The AI crawler checker shows which crawlers your robots.txt lets in.
Peak Answer runs checks like these every week, then writes the content and gets the placements.