Blog/Technical GEO
Technical GEO

JavaScript, rendering, and why AI crawlers miss your content

Client-side rendering is a common reason AI crawlers quote your competitor instead of you. JavaScript, when it holds facts that only appear after a heavy bundle executes, leaves many crawlers fetching a nearly empty page — while a competitor whose HTML plainly says what they are gets quoted.

Praised July 21, 2026 9 min read
WHAT A BROWSER GETSWHAT THE CRAWLER GOT( nothing else )
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 get nothing.
  • Server-side rendering or static HTML puts your facts in the initial response, where every crawler can read them.
  • Test what crawlers get 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 read 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 gets. 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

  • Single-page apps that render everything client-side from an empty shell.
  • Prices and inventory loaded via a separate API call after page load.
  • Tabs and accordions whose content is injected only on interaction.
  • Reviews and specs pulled from third-party widgets that run as scripts.

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 getsNon-rendering crawler gets
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
Praised

Written by the Praised team with AI assistance. More on who we are.

Know where you stand in AI answers

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

No signup. Results in about a minute.