Skip to content

AI search · November 6, 2026 · 8 min read

SEO and AI search for a site built with Claude Code: what to ask it for

A site Claude Code built can be invisible to search and AI crawlers if it renders only in the browser. Ask it for server rendering or pre-rendering, per-page metadata, a sitemap and robots.txt, structured data, llms.txt and clear text, then verify each one yourself.

Short answer: ask Claude Code to make sure every public page is rendered to HTML on the server or at build time, with its own title, meta description, canonical URL and Open Graph tags, and to add a sitemap, robots.txt, structured data and an llms.txt file. Then check the result yourself: curl the live URL and look for your headline in the HTML, confirm robots.txt allows OpenAI's search crawler, and inspect the page in Google Search Console. AI assistants read the same pages search engines do, so this groundwork serves both.

Step 1: make sure crawlers get HTML

If your app is a client-side React app, the HTML a crawler downloads may contain an empty root element and a script tag. Google can render JavaScript, but other crawlers, including many AI ones, often do not.

Check it: run "curl -s https://yourdomain.com | head -50" or use View page source. If your headline is not there, ask:

"Our public pages are rendered only in the browser. Propose the smallest change so the home, pricing and use case pages are rendered to HTML on the server or at build time, keeping the app routes as they are."

If you already use a framework with server rendering, such as Next.js, check that public pages are not marked client-only for no reason.

Step 2: metadata per page

Prompt: "Give every public page a unique title under 60 characters and a meta description that says what the page offers and for whom. Add a canonical URL on our production domain and Open Graph and Twitter card tags. Show me a table of the results."

Read the table. Generic titles such as "Home" or "My App" are the most common miss.

Step 3: sitemap and robots.txt

Prompt: "Add sitemap.xml listing every public page with absolute URLs on our production domain, and robots.txt that allows all crawlers on public pages, blocks admin and API routes, and has a Sitemap line."

Then open both on the live domain. Check robots.txt does not block OAI-SearchBot; OpenAI's docs say sites that block it are not shown in ChatGPT search answers.

Step 4: structured data

Prompt: "Add JSON-LD for our Organization on the home page, and SoftwareApplication or Product on the pricing page, using only facts that appear on the page. Do not invent ratings or review counts."

Validate it with Google's Rich Results Test. Google's structured data guidelines say markup must describe content that is visible on the page, so never add ratings you do not show.

Step 5: text an assistant can quote

  • The first paragraph of the home page says what the product does, for whom and what it costs.
  • One page per main use case.
  • Pricing on a public page, in text.
  • An FAQ with short answers, marked up with FAQPage schema.

Step 6: llms.txt

Prompt: "Add llms.txt at the site root: one line on what we do, then links to our main public pages with one sentence each." It is a small extra; no major AI company has said it ranks sites by it.

Step 7: verify and measure

  • Inspect the home page in Google Search Console and submit the sitemap.
  • Ask ChatGPT, with search on, the questions your buyers ask. Note whether you are named and who is cited instead. Repeat monthly.

Add your SEO rules to CLAUDE.md so new pages follow them. Claude Code reads it at the start of every session.

Where Persqo helps

You can do all of this with Claude Code. Persqo checks it and drafts the next prompt:

  • Paste the Persqo prompt into Claude Code and your app gets a Persqo admin page. An AI visitor tests the live app, checks what crawlers can read, and every finding comes with a fix prompt for Claude Code.
  • One click: on a Next.js or Vite app, the Persqo fix runtime the prompt adds applies the home page title and description, business and FAQ schema and llms.txt, each with Undo. Next.js shows them within a minute, Vite at your next build.
  • Connect your repository and Persqo opens a pull request for llms.txt and robots.txt. You merge it; Persqo never merges.
  • A Persqo GEO scan asks AI engines your buyers' questions and shows how often each one names you. The first scan is a one-time $5.

The full launch list is in the Claude Code pre-launch checklist. More on Persqo for Claude Code.

Sources

Last updated: November 6, 2026.

Questions people ask

Is a React app built with Claude Code bad for SEO?

Not if crawlers get real HTML. A plain client-side React app ships an almost empty page and fills it in with JavaScript. Google can often render it, but many AI crawlers do not run JavaScript. Server rendering or static pre-rendering fixes that.

What should I ask Claude Code to add for SEO?

A unique title and meta description per page, Open Graph tags, a canonical URL, a sitemap, robots.txt with a Sitemap line, Organization or Product structured data, and llms.txt. Then ask it to show you the rendered HTML of each page.

How do I check what a crawler sees?

Run curl on your live URL, or use View page source, and look for your headline and main text in the HTML. In Google Search Console, URL Inspection shows the page as Google rendered it.