Back to blog
SEO Mar 20, 2026 8 min read

How Googlebot renders JavaScript in 2026

What Googlebot can and can't see in your JavaScript-rendered site, and how to make sure your content gets indexed.

article.body

The two-pass indexing model

Googlebot renders JavaScript pages in two passes. First pass: crawl the raw HTML, index whatever is in it. Second pass: render the page with Chromium, index whatever JavaScript produces. The second pass happens hours to weeks after the first, depending on site authority and crawl budget. For time-sensitive content, this delay is fatal.

What the first pass sees

If your content is in the initial HTML response (SSR, RSC, static generation), Googlebot indexes it immediately on the first pass. If your content requires JavaScript execution to appear, Googlebot indexes nothing on the first pass — your content appears in search results only after the second pass, with all the latency that implies.

Why SPAs still struggle

Single-page apps that client-render content face the worst case: nothing in the initial HTML, content loaded after JavaScript runs. Googlebot can usually render it in the second pass, but the delay hurts rankings for fresh content, and any JavaScript error breaks the rendering entirely. SPAs without SSR or pre-rendering are an SEO handicap in 2026.

The render budget

Googlebot allocates a render budget per page. Pages that take more than a few seconds to render, or pages that trigger too many additional requests, get dropped from the render queue. For complex client-rendered apps, you may be hitting the render budget and not knowing it — Search Console reports indexation, not render failures.

Lazy-loaded content

Content loaded on user interaction (clicks, scrolls, hovers) is invisible to Googlebot. The crawler doesn't scroll or click — it renders the initial state. If your important content is behind a 'load more' button or appears only on scroll, it's not indexed. Lazy load images (Googlebot handles those) but not text content.

The testing tools

Search Console's URL Inspection tool shows you exactly what Googlebot rendered. It's the only source of truth — every other tool is a simulation. Test your top templates after every major front-end change. If the rendered HTML is missing content, fix it before the next deploy.

The fix

Server-render your important content. Hydrate for interactivity, but ship the content in the initial HTML. RSC, SSR and static generation all work — pick the one that fits your stack. Whatever you do, do not client-render content you need to rank. The cost is too high and the alternatives are too good.

The future

Googlebot's rendering capabilities improve every year. The two-pass delay shrinks. The render budget grows. JavaScript SEO will become less hostile over time. But 'less hostile' is not the same as 'no concern' — for the foreseeable future, the safest path to SEO is content in the initial HTML, not content rendered later.

Want this for your site?
Get in touch with our SEO experts.
Contact us