High risk

How to make ChatGPT read your Bolt site

Bolt gets you a site in minutes. But if it's a React app painted in the browser, the crawlers of ChatGPT, Grok, Claude and Perplexity find a blank page.

Painted with JavaScript: AI usually gets an empty page.

Check your Bolt site

Free, no sign-up, in under a minute: what a person sees versus what AI receives.

Why it happens

Bolt usually sets projects up with Vite and React as a single-page app: the HTML the server sends only has the container and the scripts, and the content appears when they run.

AI assistants' crawlers generally don't run JavaScript. They read the HTML that arrives and leave.

If your Bolt project uses a framework with server rendering (Next.js, Astro, Remix), the problem may not exist. That's why it's worth measuring before changing anything.

How to fix it

  1. Measure what AI receives

    Analyze your site with Tarsier and look at the comparison: what a person sees versus what reaches a crawler.

  2. Ask for prerendering

    Paste the prompt below into Bolt. It generates each public route's HTML at build time without touching the design.

  3. Per-page metadata

    Its own title and description on each route, and schema.org JSON-LD on the home page.

  4. Open the door to bots

    A robots.txt allowing GPTBot, ClaudeBot and PerplexityBot, and a complete sitemap.xml.

  5. Deploy and measure again

    If you host it on Netlify or similar, check that the prerendered HTML files are served and not the same index.html every time.

The prompt to paste into Bolt

My site is built as a single-page app (React + Vite) and the HTML it serves is almost empty: AI crawlers (GPTBot, ClaudeBot, PerplexityBot) don't run JavaScript, so they never see the content.

I want every public page to be served already rendered in the HTML, without changing the design:

1. Add prerendering to the build (for example vite-plugin-prerender or an SSG step) for every public route, so each route produces its own index.html with the text, headings and links inside.
2. Give every page its own <title> and <meta name="description">, and add a schema.org JSON-LD block to the home page (Organization or LocalBusiness, plus Product or Offer if I sell something).
3. Create public/robots.txt allowing GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and Google-Extended, with the Sitemap line.
4. Generate public/sitemap.xml with every public route.
5. Check with curl that each route's HTML contains the main text before any script loads.

Don't touch the app logic or the design. When you're done, tell me which routes are prerendered.

Copy it as is. If the analysis finds more problems, the full report includes a prompt written for your site.

Frequently asked questions

What if my Bolt project is Next.js?

Then it's probably already rendered on the server. Even so, parts marked "use client" that load data later can be left out: the analysis tells you which.

Does prerendering break anything?

It shouldn't: the app starts the same way in the browser. What changes is that the first HTML already carries the content.

Check your Bolt site

Free, no sign-up, in under a minute: what a person sees versus what AI receives.

Other platforms