JavaScript-injected content: what Google and AI crawlers miss
In brief
If part of your content only appears after JavaScript runs, it is absent from the raw HTML that Google reads first and that AI crawlers (ChatGPT, Perplexity, Claude) read almost exclusively. Render the main content server-side.
What is it?
A significant share of the page's text exists only in the JavaScript render.
Why it hurts SEO and AI
Google eventually sees it (second pass, with a delay); LLMs almost never do. The larger the JS-injected share, the more invisible your content is to AI answer engines — the fastest-growing channel.
When it is NOT a problem
- Only secondary or interactive elements are JS-injected (carousel, reviews, recommendations), with the main content already in the raw HTML.
- The page is an application interface not meant for search.
- The gap is marginal: a few injected words don’t change how the page is understood.
<!-- Raw HTML: empty shell -->
<section id="description"></section>
<!-- filled later by fetch() + JS --><!-- Raw HTML: content already present -->
<section id="description">
<p>Full product description…</p>
</section>The catastrophic case (fully empty page) belongs to the "Broken SSR" guide; here only part of the content is missing.
How to fix it
- Compare the raw source (Ctrl+U) with the rendered page: spot blocks visible on screen but missing from the source.
- Move important content to server-side rendering (SSR/SSG) instead of a client-side load after the fact.
- Keep JavaScript for what is genuinely interactive.
- Re-crawl to confirm the content now appears in the raw HTML.
This scan checks what is missing from the raw HTML but appears in the JavaScript render
Is this issue on your site?
Is your content in the page source, or only after JS runs? Enter a URL: Seogard compares the raw HTML and the render and shows you what AI systems don’t see. Free, no credit card.
- No credit card
- Result in ~30 s
What you get back
Content fully indexable without delay and citable by AI systems.
Seogard catches this regression automatically — through its SSR checker.
Frequently asked questions
Do ChatGPT and Perplexity read my site’s JavaScript?
Barely. Most AI crawlers fetch the raw HTML without running JavaScript: whatever isn’t there is invisible to them.
How is this different from broken SSR?
Broken SSR leaves the page almost entirely empty; here only part of the content is missing from the raw HTML. The fix is the same: render content server-side.
Related rules
Updated July 10, 2026