Sites built by prompting Claude are exactly as SEO-friendly as the prompts that made them. These five checks catch what nobody thought to ask for — with the follow-up prompts ready to paste.
Each one comes with a prompt you can paste straight into Claude to fix it.
Ask Claude to "build me a website" and you often get a client-rendered React app, because it's the fastest thing to scaffold. That one unspoken choice decides whether Google sees your content or an empty shell — and you won't notice until the traffic never comes.
The fix: Check what you actually have (View Page Source), and move public pages to pre-rendering or SSR if your content isn't in the raw HTML.
Check how this project renders: open the built output and confirm whether each public page's title, meta description, headings and main content exist in the raw HTML response. If they only appear after JavaScript runs, migrate the public pages to static generation or SSR (e.g. Astro or Next.js static export, or pre-rendering for a Vite SPA) so every page serves complete HTML. Tell me exactly what you found and what you changed.
"Vite + React + TS". Claude scaffolds fast, and placeholder titles survive because nothing breaks when they're wrong. But that placeholder is your headline on Google — it reads as an abandoned project, and nobody clicks it.
The fix: Write a real, unique, server-rendered title (≤60 chars) and meta description (≤155 chars) for every page.
Go through every page in this project and replace placeholder or duplicate <title> and <meta name="description"> values with real, unique, server-rendered text: title max 60 characters describing what the page is for, description max 155 characters written to earn the click. Use the site's own language. List every page and the new title/description you set.
Claude builds exactly what you ask for — and almost nobody asks for the invisible plumbing. Without a sitemap, Google discovers a new site slowly and partially; without robots.txt you have no say in what gets crawled.
The fix: Generate both at build time so they stay in sync with your routes, and submit the sitemap in Search Console.
Add build-time generation of sitemap.xml (listing every public route with the production domain) and a robots.txt that allows crawling and references the sitemap URL. Use the framework's standard tool if one exists (@astrojs/sitemap, next-sitemap); otherwise generate them in the build script. Verify both respond at the site root in production and tell me the URLs.
Each session added a page. Nobody looked at the whole: two pages half-target the same search, important topics have no page at all, and the homepage tries to cover everything. Google splits your ranking across the overlaps and none of them wins.
The fix: One search intent per page: merge the overlaps, give every important topic exactly one home.
List every public page on this site and the single search each one targets. Where two pages target the same search, consolidate onto the stronger one and redirect or de-optimise the other. Where an important topic this site serves has no dedicated page, create one focused page for it (own title, description, h1, genuinely useful content). Show me the before/after page map first, then apply it.
Pages created in separate conversations rarely reference each other. Internal links are how Google discovers your pages and decides which matter — a page with zero links pointing at it is invisible, however good it is.
The fix: Wire the link graph: homepage to every key page, related pages to each other, descriptive anchors.
Audit this site's internal links: every important page should be reachable within two clicks of the homepage and linked from at least two other pages. Add 1-3 contextual in-body links between related pages with descriptive anchor text (not "click here" or "read more"). Show me the list of links you added.
Run the free scan — it checks your Claude site's foundations in 15 seconds and tells you what to fix first. Then connect Search Console for the full picture: which searches you're almost winning, and exactly what's holding you back.
Absolutely — Claude is excellent at Astro, Next.js and other server-rendered stacks, per-page metadata, structured data, the lot. But it optimises for what you ask. Say "build me a site" and you get speed; say "build me a site where every page serves complete HTML with unique titles, a sitemap and robots.txt" and you get SEO. The prompts on this page retrofit exactly that.
The usual trio: content that only exists after JavaScript runs, no sitemap so Google never fully discovered the site, and placeholder or duplicate titles. Check your page source, add the plumbing, submit your sitemap in Search Console — then it comes down to targeting real searches with dedicated pages.
Four things in your very first prompt: a static-generated or server-rendered framework (Astro or Next.js), a unique server-rendered title and meta description per page, build-time sitemap.xml + robots.txt, and semantic HTML (one h1 per page, real <a href> links). That single sentence prevents 90% of this page.
Rarely. Claude can retrofit pre-rendering, per-page metadata, sitemaps and internal links into an existing project — that's what the copy-paste prompts above do. A rebuild is only worth discussing if the whole site is one client-rendered page and you need many indexable pages.