SEO for AI-built websites: a launch checklist for Lovable, v0 and Claude Code
Each AI site builder leaves a different gap between shipping a site and being found. Here is how to close it for Lovable, v0, and Claude Code.
The short answer
A site built with Lovable, v0, or Claude Code can rank like any other site, but each builder leaves a different gap to close. Lovable's gap is what crawlers receive. v0's gap is who is allowed to open the page. Claude Code has no fixed gap because it builds whatever you describe, which means the checklist is yours to write.
- Lovable apps created from 13 May 2026 use TanStack Start, which renders finished HTML on the server for every visitor, search engines included
- Older Lovable apps built on React and Vite get prerendering only for verified search and AI crawlers, so third-party SEO scanners see an empty single-page app
- v0 publishes to Vercel, and a login wall on the production URL will keep Google out
- Only publicly published Lovable apps can be indexed, and the branded workspace URLs never can
- Google says AI Overviews and AI Mode need nothing beyond an indexed, snippet-eligible page, so the work is ordinary SEO plus one Search Console setting
- Verify the site in Search Console, submit a sitemap, and check the result a few days later
Why AI-built sites miss Google
Google Ads Keyword Planner shows "lovable seo" at 720 searches a month worldwide, down from a peak of 1,600 in May and 320 in August. "Claude code seo" sits at 590 a month after a March peak of 1,900, although that phrase mostly describes people using Claude Code to do SEO work on other sites, which is a different job from this guide.
We also ran the top queries through Google on 30 September 2026. For "lovable seo", the AI Overview read the query as a request to build SEO tools inside Lovable, and the organic results were generic SEO pages. In the results we checked, nothing answered the question a builder has after launch, which is whether the site they shipped can be found. This guide is our attempt.
Builder by builder
| Builder | What it produces | What crawlers get | Your first check |
|---|---|---|---|
| Lovable, new apps (from 13 May 2026) | TanStack Start with server rendering | Full HTML for everyone | Run the built-in SEO and AI search review after publishing |
| Lovable, older React and Vite apps | Single-page app | Prerendered HTML for verified crawlers only | Decide whether to upgrade to TanStack Start |
| v0 | Next.js, React, TypeScript, Tailwind and shadcn/ui | Whatever your Next.js app serves | Open the production URL in a private window |
| Claude Code | Whatever stack you ask for | Depends on that stack | Ask for server-rendered HTML and check it with curl |
The v0 row deserves a caveat. v0's FAQ page covers the Publish button and its Vercel deployment, and says nothing about search engines, sitemaps, or robots.txt, so check each of those yourself. Our companion guide to SEO for Vercel and Next.js sites goes through the Next.js side file by file.
The Lovable scanner trap
Lovable's documentation describes two setups. A new app built on TanStack Start returns fully rendered HTML on every request, "for humans and crawlers." An older React and Vite app gets on-request prerendering served only to verified search and AI crawlers, including Google, Bing, and the AI engines behind ChatGPT, Perplexity, Claude, and Gemini. The same page adds that third-party SEO scanners and other unverified agents see the regular single-page app.
Testing gets awkward on the old stack. If you run curl against an older Lovable app, or point a free SEO audit tool at it, you are an unverified agent and you will see the empty shell. The report will look terrible while Google's crawler gets finished HTML. Do not trust those readings on the old stack. Use Lovable's own review, which is free on all plans, and which checks page basics, metadata, Open Graph tags, structured data, indexing meta tags, and homepage content structure. Fixes it applies cost normal message credits, and the review does not guarantee rankings.
There is a fix for that. Lovable's upgrade to TanStack Start moves an older project onto server rendering, after which everyone receives the same complete page, scanners included. Lovable says most upgrades cost 10 to 35 credits depending on project size, and you can reverse one through version history. It warns that browser-only libraries may fail to render after the upgrade and that progressive web app users may need manual follow-up, so read the warning before you click.
Stay on the old stack or upgrade
| Option | What you get | What it costs you |
|---|---|---|
| Stay on React and Vite | Prerendered HTML for verified search and AI crawlers | Every third-party scanner and unverified agent still sees the empty shell, so you rely on Lovable's review for the truth |
| Upgrade to TanStack Start | One complete page for every visitor, crawler, and link preview bot | Most upgrades cost 10 to 35 credits, plus a check for browser-only libraries and PWA setup |
The upgrade is reversible, so the risk sits in your time more than your credits. If the app is young and has no traffic yet, upgrading now is the simpler call. If the app earns leads today, run the upgrade in a version you can roll back and compare the pages afterwards.
Publishing: the public URL is the only URL
Lovable states that only publicly published apps can be indexed. Private and unpublished projects are out, and so are the branded workspace URLs of the form app-name.workspace-subdomain.lovable.app. If the page you are testing sits on one of those, Google will never list it, whatever your metadata says.
On v0, the first publish includes a visibility choice for who can access the deployed app, tied to your plan and protection settings. Vercel's Deployment Protection requires authentication for every request, and its All Deployments setting covers production too. Open the live URL in a private browser window. If you meet a login, Google will too.
Search Console setup, step by step
- Sign in to Search Console and add your site. A Domain property covers every protocol and subdomain and is verified by adding a record at your domain provider. A URL-prefix property accepts an HTML tag or an HTML file, and Google's verification guide notes that both need a homepage reachable by logged-out visitors.
- On Lovable, use the Search Console connector inside the SEO and AI search tab. It verifies your site and submits your sitemap without leaving the project chat, and verification can take a few minutes after you publish.
- If you change your domain later, verify the new one again. Lovable says a domain change requires re-verification in Search Console.
- Submit your sitemap in the Sitemaps report and wait. Data takes a few days to appear.
- Open Settings and find the Search generative AI control. It rolled out to all sites on 31 August 2026, includes your site by default, and you can exclude the site if you choose. It is not a ranking signal.
- Check back in a couple of weeks for the generative AI performance report, which shows impressions in AI Overviews and AI Mode. Google hides it if your site has too few impressions or if you excluded the site from those features.
Sitemaps: what to ask for and what to ignore
| Rule | What Google says | What to tell your builder |
|---|---|---|
| URLs | Absolute, not relative | Use full URLs on the production domain |
| Size | 50MB or 50,000 URLs per file | Split only if you are near the limit |
| priority and changefreq | Ignored | Leave them out |
| lastmod | Used only when consistently and verifiably accurate | Use each page's real update date, never the build date |
| Submission | A hint, with no guarantee | Submit it, then be patient |
These come from Google's sitemap guide. Lovable adds one trap of its own, because Google fetches the sitemap from your live site. Publish your latest changes before you click Try to fix on the sitemap step, otherwise the fix lands in a version Google cannot see.
Eligible is not the same as visible
Everything above makes a page eligible. Whether anyone sees it is a separate question, and our own numbers show the size of it. When we checked Contengi's LLM visibility, prompts that named the brand returned a mention 99% of the time, while prompts that only described the category returned one 1% of the time. None of the 50 prompts we track covered the topics in this guide, which tells us where our own gap sits.
The same logic applies to your site. Technical setup gets you into the pool of pages Google can show. Being the page that answers a specific question better than the one next to it takes content, and content needs a home, which brings us to the blog section further down.
Openness to LLMs without the folklore
People in this space talk a lot about AEO and GEO as separate disciplines. Google's guide to generative AI features treats them as SEO. A page shows up in AI Overviews and AI Mode when it is indexed and eligible to appear with a snippet, and the site is included in the Search Console control. Google also lists llms.txt files and rewriting content for AI systems among the things you can ignore for Google Search.
That covers Google. ChatGPT, Claude, and Perplexity each run their own crawlers with their own rules, and your robots.txt and firewall decide whether they can reach you. Lovable says it serves a clean Markdown version of published sites to AI crawlers, so Lovable covers the content format for those crawlers. On v0 and Claude Code sites, access is your job. We cover it in a separate guide on letting AI crawlers in while keeping scrapers out.
Prompts to paste
Each of the prompts below work on their own, so paste them one at a time and read what changes.
Audit this project for search visibility. List every page, its title, meta
description, canonical URL, and whether it carries a noindex tag. Do not change
anything yet.
Make sure every page returns complete HTML without needing JavaScript to show the
main heading and body text. Tell me which pages do not, and why.
Generate a sitemap.xml with absolute URLs on my production domain. Use each page's
real last-updated date for lastmod. Leave out priority and changefreq.
Create a robots.txt that allows all crawlers on public pages, blocks my admin and
API paths, and points to the sitemap. Show me the file before you save it.
Add a unique title, meta description, and canonical URL to every page, and make
sure each page has exactly one h1.
On Lovable, run the SEO and AI search review after you publish, then use its fixes where they apply. The review can also find missing or out-of-sync sitemaps, robots.txt files, and metadata, which Lovable says are not always generated up front.
Where the blog lives
An AI builder gives you pages, and a blog needs somewhere to write, review, and update posts without rerunning a prompt every time. Our guide to a CMS for an AI-native website compares the options, and there are dedicated guides for websites built with Claude and for a v0 website. If you want the plain-language explanation of what a headless setup is first, start with what a headless CMS is.
Contengi connects to Claude and v0 websites through a signed webhook. For v0 you add one route handler, and for Claude Code you have it write one endpoint. Nothing goes live until you publish, and updates go back to the same URL, so your sitemap and canonicals stay stable.
The launch checklist
| Check | How | Pass looks like |
|---|---|---|
| Site is public | Private browser window on the live URL | Page loads with no login |
| Not on a workspace URL | Look at the address bar | Your own published domain |
| Lovable stack | Ask Lovable which stack the project uses | TanStack Start, or an upgrade planned |
| Scanner readings | Compare with Lovable's review | You trust the review over third-party scanners on the old stack |
| Titles and descriptions | View source or run the audit prompt | Unique on every page |
| Canonical and one h1 | Same audit | One of each per page |
| robots.txt | Open /robots.txt | Loads and names the sitemap |
| Sitemap | Open /sitemap.xml | Absolute URLs, honest lastmod |
| Search Console verified | Property list | Domain property confirmed |
| Sitemap submitted | Sitemaps report | Read without errors |
| Generative AI control | Settings, Search generative AI | Include |
| Week-two review | Generative AI performance report | Impressions appear, or you know why not |
Frequently asked questions
Can Google index a site built with Lovable?
Yes, once the app is publicly published. Lovable says private or unpublished projects and branded workspace URLs are never indexable. Publish to a public URL, then verify it in Search Console.
Why does my SEO scanner show an empty page for my Lovable site?
If your app is on the older React and Vite stack, Lovable serves prerendered HTML only to verified search and AI crawlers. Third-party scanners and other unverified agents get the plain single-page app. Lovable's own SEO and AI search review, or an upgrade to TanStack Start, gives you a reliable reading.
Does Lovable have a built-in SEO tool?
Yes. The SEO and AI search review is free on all plans and checks page basics, metadata, Open Graph tags, structured data, indexing meta tags, and homepage content structure. Fixes the agent applies use regular message credits, and the review does not guarantee rankings.
Should I upgrade my Lovable app to TanStack Start?
The upgrade moves an older React and Vite project to server rendering, so every visitor and crawler receives the same full page. Lovable says most upgrades cost 10 to 35 credits and can be reversed through version history. Check for browser-only libraries and progressive web app setup first, since Lovable warns both can need follow-up.
Does v0 take care of SEO for me?
We found nothing about SEO, sitemaps, or robots.txt in v0's FAQ page. v0 builds with Next.js and publishes to Vercel, so the Next.js basics apply: a sitemap, robots.txt, unique metadata, canonical URLs, and a production URL with no login in front of it.
Can Claude Code build an SEO-friendly site?
It builds the stack you ask for, so the result depends on your prompt. Ask for server-rendered HTML, a sitemap, robots.txt, and unique metadata on every page, then check the raw HTML with curl.
Do I need llms.txt for my AI-built site?
Google's guide to generative AI features lists llms.txt files among the things you can ignore for Google Search. Add one if another tool you use asks for it.
How long until Search Console shows data for my new site?
Data takes a few days to appear after you verify the site. The generative AI performance report can stay hidden until the site has enough impressions in AI Overviews and AI Mode.