Skip to content
Diagram of Google's two-pass index showing first-pass HTML indexing and second-pass JavaScript rendering with render budget

JavaScript Rendering & SEO

How Google actually indexes JavaScript

DeepAudit AI is a real browser SEO audit and JavaScript SEO scanner that reproduces Google's two-pass index. See exactly what gets indexed on the first pass, what depends on the render budget, and which routes are at risk before Search Console flags them.

Free. No signup. 60 seconds per URL.

JavaScript SEO has its own physics

The internet is no longer a collection of static HTML files. Most production sites built in the last decade run on a JavaScript framework — React, Vue, Angular, Svelte, Solid — and ship some or all of their content client-side. That changes how search engines index content in ways that classic SEO checklists do not capture. A site can pass every traditional audit and still rank poorly because its real content never makes it into Google's index.

The mechanism is Google's two-pass index. The first pass reads your initial HTML response and indexes whatever metadata and content it finds. The second pass queues the page for full rendering and re-indexes the post-JavaScript DOM. Both passes are real, but they happen on different timelines and under different constraints. The second pass runs on a render budget — a dynamically allocated time window that pages either finish inside or fail. Pages that fail the budget rank only on whatever the first-pass HTML happened to contain, which for most JavaScript apps is an empty shell.

Architecting for both passes is what separates JavaScript SEO from classic SEO. SSR and SSG put real content in the first-pass index. Bundle-size discipline, hydration timing, and dynamic-import boundaries determine whether the second pass finishes inside the render budget. The DeepAudit AI real browser SEO audit measures both passes for any URL and surfaces which pages are at risk before Search Console reports anomalies weeks later.