Blog/Technical GEO
Technical GEO

JavaScript, rendering, and why AI crawlers miss your content

You can write the most quotable product page on the internet, but if its facts only materialize after a heavy JavaScript bundle executes, many AI crawlers will fetch a nearly empty page — and quote a competitor whose HTML just says what they are.

ML Maya Lindqvist · Head of Research June 13, 2026 9 min read
Key takeaways
  • Many AI crawlers fetch HTML but don’t fully execute JavaScript, unlike a modern browser.1
  • If your key facts (price, specs, copy) are injected client-side, those crawlers may see nothing.
  • Server-side rendering or static HTML puts your facts in the initial response, where every crawler can read them.
  • Test what crawlers see by viewing your page with JavaScript disabled — that’s roughly their view.

There’s a failure mode that quietly erases well-optimized brands from AI answers, and it has nothing to do with content quality. It’s rendering. A page that looks perfect in your browser can be almost blank to a crawler that doesn’t run its JavaScript — and a surprising number of AI crawlers don’t.

How AI crawlers differ from your browser

Your browser downloads HTML, then executes JavaScript that fetches data and builds the visible page. Search engines like Google invested years in rendering pipelines to handle this. Many AI crawlers are simpler: they fetch the raw HTML response and read that. If your facts aren’t in the initial HTML — if they’re assembled client-side — those crawlers may never see them.1

💡

The quickest gut-check you can run today: open your key page, disable JavaScript, and reload. Whatever remains is close to what a non-rendering crawler sees. If your price, specs or core copy vanished, you have a rendering problem that no amount of GEO content will fix.

Where this bites hardest

Make your facts readable

The fix is to ensure your important facts exist in the HTML the server sends, before any script runs:

  1. Server-side render (SSR) or statically generate pages so content is in the initial response.
  2. For critical facts, prefer real HTML over script-injected DOM — include price, specs and core copy server-side.
  3. Put structured data in a server-rendered JSON-LD block, not one built client-side.
  4. Avoid gating product facts behind interaction (open-by-default beats click-to-reveal for machines).
  5. Verify with a JavaScript-disabled view and a fetch of the raw HTML.
PatternBrowser seesNon-rendering crawler sees
Client-side SPAFull pageEmpty shell
SSR / static HTMLFull pageFull page
API-loaded pricePriceNo price
Server-rendered pricePricePrice
The most quotable page in the world is invisible if the crawler fetches an empty div where your facts should be.
— Rendering is a GEO problem

A rendering audit

Once a quarter, take your ten highest-value pages, disable JavaScript, and confirm the core facts survive. Then fetch the raw HTML and check your JSON-LD is present without execution. It’s an unglamorous check that catches an entire class of invisible-brand failures before they cost you answers.

Frequently asked questions

Google’s pipeline does render, but many AI crawlers are simpler and read the raw HTML response — so relying on client-side rendering can hide your content from them. Server-side rendering or static HTML is the safe default for AI visibility.

Disable JavaScript and reload your page — what remains approximates a non-rendering crawler’s view. For a stricter check, fetch the raw HTML and confirm your facts and JSON-LD are present without execution.

No — most modern frameworks support server-side rendering or static generation, which puts content in the initial HTML while keeping your app’s interactivity. The goal is facts in the first response, not a rewrite.

Sources & further reading

  1. Google Search Central — "AI features and your website".
  2. OpenAI — "Overview of OpenAI crawlers" (GPTBot, OAI-SearchBot).
  3. "GEO: Generative Engine Optimization", Aggarwal et al., KDD 2024 / arXiv:2311.09735.
Share
ML
Maya Lindqvist

Head of Research at MentionBeat. Maya leads the measurement methodology behind MentionBeat's visibility metrics — prompt-suite design, sampling, and confidence intervals — and writes about how generative engines choose what to say.

Know where you stand in AI answers

MentionBeat samples real buyer prompts across ChatGPT, Claude, Gemini and Perplexity — and turns them into metrics you can act on.

Get your free visibility report
No credit card. Results in about a minute.