ChatGPT and Gemini AI interfaces side by side with JavaScript code flowing between them
    HomeBlogAI Search ParadigmsChatGPT and Gemini Can Browse CSR Sites - What Changes (and What Doesn't)

    ChatGPT and Gemini Can Browse CSR Sites - What Changes (and What Doesn't)

    8 min

    🤖Summarize with AI

    Get instant summaries and insights from this article using AI tools

    We've been deep in the world of Answer Engine Optimization, running the CiteMET playbook across our best content. The initial results were solid - we saw users engaging with our AI Share Buttons, and we knew we were successfully seeding our content into AI platforms. But with our team's background in AI, we saw this as just the first step.

    We understood that for a Large Language Model (LLM), a single, quick interaction is a whisper. A true signal of authority, one that builds lasting memory, comes from a deeper conversation. We saw an opportunity to transform that initial whisper into a meaningful dialogue.

    JavaScript execution is now a thing in LLM browsers

    ChatGPT (Browse) and Gemini (Browse) can now run JavaScript. So if you ship a React or Vue app that renders client-side, those two will load the page, wait for hydration, and read the DOM. That's a meaningful shift from a year ago.

    The old assumption was simpler: AI crawlers fetched static HTML and saw whatever your server returned, and a CSR app returns mostly an empty shell. The shell-of-nothing problem is partially solved for ChatGPT and Gemini now. Everywhere else it's still a problem, and that's why CSR isn't a safe default for AEO.

    Who runs JS, who doesn't

    ChatGPT and Gemini execute scripts and read the hydrated DOM in their browse modes most of the time, although occasionally they hit a timeout or a bot challenge and bail.

    Claude and Perplexity still don't run scripts at all. Their crawlers grab the raw HTML response and move on, so if your content lives behind hydration, those tools see a blank page.

    Even on the JS-capable side, things break. A render timeout or a blocked third-party script will drop you to zero captured content.

    Why CSR is still a bad bet for visibility

    Three workflows still expect static HTML and none of them are negotiable.

    1. Link previews. iMessage, Slack, Discord, and LinkedIn don't execute JavaScript when they unfurl your URL; they look at the response for a title tag, a description, an og:image. CSR ships none of that until hydration runs, which never happens in an unfurl context, so your shared link looks broken to anyone you send it to.
    1. Non-JS crawlers. Claude and Perplexity index whatever the server returns, so empty HTML means no citation, no matter how good your content actually is.
    1. Determinism. Static HTML is fast and predictable. JS rendering depends on the bot waiting long enough for your bundle to finish, and one slow analytics tag is enough to make you invisible.

    What I'd actually do

    Treat JS execution as a bonus, not the plan. ChatGPT and Gemini reading your hydrated DOM is real progress for one-off summaries on live sites, and you should take that win.

    Then keep doing the boring stuff: SSG for canonical pages, JSON-LD so machines know what they're looking at, a robots.txt that lets AI agents in, an llms.txt that points them somewhere useful, and static HTML so the link preview works.

    If your visibility strategy depends on a bot running your bundle, your citations will be inconsistent and your shared links will look dead in iMessage. Pick what tradeoff you can live with.

    If you want your CSR site to ship as SSG without rewriting it, sign up for CiteMET now.

    CYY

    Cho Yin Yong

    Builds AI infrastructure, teaches at a university, and spends too much time poking at how LLMs actually read the web.

    Artificial Intelligence Engineering
    Answer Engine Optimization (AEO)
    Web Architecture
    User Experience Design

    Related Articles

    technical

    The Blank Page Problem: Why Your React App is Invisible to AI

    Your vibecoded masterpiece looks perfect in Chrome, but ChatGPT sees a blank page. Here's why Client-Side Rendering makes you invisible to AI crawlers—and how to fix it.

    Cho Yin Yong8 min
    CTA background

    Googleable isn't enough. Be citeable with cite-met.

    Scan your site now. Deploy to cite-met when you're ready.

    Free scan. No signup.