Guides

Guide · Google and AI tools

ChatGPT can’t see your app: why AI assistants get a blank page

Many apps built with AI tools send the browser an almost empty page, then draw everything with JavaScript. People never notice, because their browser runs the JavaScript. Most AI crawlers don’t. To them, your app can be a title and an empty box.

Why it matters

When someone asks ChatGPT, Claude or Perplexity for a tool like yours, the answer comes from what their crawlers could read. Vercel and MERJ studied AI crawler traffic and found that none of the major AI crawlers ran JavaScript; Google’s Gemini is the exception, because it uses Googlebot’s renderer (Vercel). Google does run JavaScript, but later and not always, so a blank first page can slow down how you show up there too.

Is your app affected?

It depends on how it’s built, not on which AI tool you used:

An app that draws everything in the browserA React or Vite single-page app, common from Bolt, v0, Replit, Cursor and Claude Code, unless the host serves crawlers a pre-rendered copy.Worth fixing
An older Lovable appLovable serves a pre-rendered copy only to verified search and AI crawlers. Other readers, like link checkers, get the empty page.Check yourself
A Lovable app created from 13 May 2026Rendered on the server, so crawlers get the full page (Lovable’s docs).Clear
A site built as real pagesNext.js with server rendering, Astro, or plain HTML.Clear

See it yourself

  1. Open your live site and press Ctrl+U (Cmd+Option+U on a Mac) to view the page source. That’s the HTML before any JavaScript runs.
  2. Look between <body> and </body>. If you see your headings and text, crawlers can read them. If you see little more than <div id="root"></div> and a script tag, that’s what most AI crawlers get.
  3. If your app is on Lovable, also use Google Search Console’s URL Inspection to see the copy Google gets.

Fix it

The aim is simple: your public pages (home, pricing, about, blog) should arrive as real HTML. The signed-in part of your app can stay as it is.

  • Pre-render or statically generate the public pages at build time. Most frameworks have a way to do this: ask your AI tool to do it for your framework, and to leave the logged-in app alone.
  • On Lovable, an older project can be upgraded to server rendering, according to Lovable’s docs.
  • Let AI crawlers in. If your robots.txt blocks GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot or PerplexityBot, they won’t read your pages even when they can.
  • Optional: add an llms.txt, a short plain-text summary of what your app does, for AI tools that look for one.

Ready-made fix prompts for these are part of Pro, coming soon. Every problem and what we found stays free.

What this can’t tell you

We fetch your page like an ordinary reader. If your host serves a pre-rendered copy only to verified crawlers, as Lovable does for older apps, we can’t see that copy, and the report says so. We also can’t tell you whether an AI assistant will recommend you: being readable is the first step, not the whole answer.

Related

Sources