Guide · Built with Lovable · Updated 8 Oct 2026

Lovable SEO: check what Google actually sees.

Lovable SEO in 2026 starts with one question: which stack is your project on? Apps created from 13 May 2026 run TanStack Start with server-side rendering, so every visitor and crawler receives full HTML. Older React + Vite apps receive pre-rendered HTML only when a verified crawler such as Googlebot asks. On both stacks Lovable says an external prerendering service is unnecessary. What still keeps a Lovable site off Google is configuration: the wrong domain, a stale sitemap, a stray noindex. This guide shows how to confirm each one on the live site.

Check my Lovable site See the six blockers

What Lovable serves to Google in 2026

Lovable documents two hosting stacks, and they behave differently for anything that is not a verified crawler.

A

New apps: TanStack Start with server-side rendering

Projects created from 13 May 2026 return fully rendered HTML to every request: people, Googlebot, AI crawlers and SEO scanners all receive the same page. Any outside check of the live URL shows what Google receives.

B

Older apps: React + Vite with crawler-only pre-rendering

Human visitors get the single-page app. When a verified crawler arrives (Google, Bing, social-preview bots, and AI engines such as ChatGPT, Perplexity, Claude and Gemini), Lovable renders the page at request time and returns the HTML. You can upgrade an older project to TanStack Start from inside Lovable; it uses credits and changes nothing live until you publish again.

C

Why an SEO checker may see an empty page

On React + Vite projects, Lovable serves the pre-rendered version only to verified crawlers. Third-party SEO scanners, link checkers and the tdkseo live check receive the single-page-app shell. If a scanner reports that the served HTML has almost no text and your project is on React + Vite, confirm what Google receives with URL Inspection in Search Console before changing anything. To see which stack you are on, fetch the page without JavaScript and look for a sentence from your homepage:

curl -s https://www.yourdomain.com/ | grep -c "a sentence from your homepage"
# 1 or more: the server sends your content (TanStack Start)
# 0: the server sends an app shell (React + Vite, pre-rendered for verified crawlers only)

Where a Lovable site can be indexed

Only publicly published apps can be indexed. Lovable's documentation states that private projects, unpublished projects and branded workspace URLs in the form https://{app-name}.{workspace-subdomain}.lovable.app are never indexable. To build search presence, connect a custom domain, mark it as the primary domain so the other connected domains redirect to it, and verify that domain in Search Console. Lovable positions a plain lovable.app subdomain for MVPs, demos and projects that live on social or paid traffic. If you change the custom domain later, the Search Console verification has to be redone.

Lovable's built-in SEO review, and what a live check adds

Lovable ships its own audit under More → SEO & AI search. It is free on all plans; applying a fix uses regular message credits.

→

What the built-in review checks

Page basics, metadata (duplicate titles, placeholder text, canonicals pointing to the homepage), Open Graph, structured data, homepage content structure, robots.txt, the sitemap (invalid XML, relative URLs, host mismatches, routes out of sync with the sitemap), indexing blockers such as a sitewide noindex or an X-Robots-Tag: noindex header, and Search Console setup on published sites. It runs when you start it; Lovable does not rerun it automatically on publish, and a finding marked "Fixed" is only confirmed by the next scan. It no longer runs Lighthouse, so speed and accessibility need PageSpeed Insights.

→

What an independent live check adds

An outside check reads the deployed domain the way a stranger reaches it: the redirect chain between apex and www, the response headers, the canonical on the final URL and the hosts listed in the live sitemap. It is most useful after a domain change, after an agent edits routing, or when you want evidence to hand to someone else. If you build only with Lovable and rerun its review after every publish, much of this overlaps, and the React + Vite limitation above applies. The live SEO check shows the earliest blocker it can prove, with the evidence, and marks anything it cannot see from outside as unknown.

Six blockers to check on the live site

Work through them in this order: each check assumes the earlier ones pass. A wrong host makes every later answer unreliable, and a noindex makes the sitemap irrelevant.

01

The domain, canonical and sitemap disagree

The page declares https://www.yourdomain.com/ as canonical while the sitemap lists https://yourdomain.com/ or an old lovable.app address, or the apex domain answers 200 instead of redirecting. Google then sees two candidates for the real address. All three should agree: the URL you land on, the canonical tag and every host in the sitemap.

curl -sI https://yourdomain.com/ | grep -i -E "^(HTTP|location)"
curl -s https://www.yourdomain.com/ | grep -i 'rel="canonical"'
curl -s https://www.yourdomain.com/sitemap.xml | grep -o "<loc>[^/]*//[^/]*" | sort -u

The live check covers this one: host, redirects, canonical target and sitemap hosts.

02

A leftover noindex

A noindex robots meta tag, or an X-Robots-Tag: noindex response header, keeps the page out of Google while it looks normal in a browser. These often survive from a staging setup or an agent's "hide this while we build" change.

curl -sI https://www.yourdomain.com/ | grep -i x-robots-tag
curl -s https://www.yourdomain.com/ | grep -i 'name="robots"'

The live check covers the meta tag and the header.

03

The sitemap is missing, stale or invalid

After a few rounds of "ask the agent to add a page", the sitemap can fall behind: new routes missing, deleted routes still listed, or XML that no longer parses. Confirm it loads, parses, is named in robots.txt, and lists the pages you actually publish. In Search Console, submit it after publishing, because Google fetches it from the live site.

The live check covers reachability, XML validity, the Sitemap: line and whether the checked page is listed.

04

Routes share one title, or canonicals point to the homepage

Single-template apps often give every route the same title and description, or a canonical that points every page to /. Google then treats inner pages as duplicates of the homepage. Each page you want found needs its own title, description, one H1 and a canonical pointing to itself.

The live check reads one URL at a time, so run it on two or three important routes and compare. Lovable's review looks across routes for duplicate titles.

05

Missing pages return 200 (soft 404s)

A client-side router can answer HTTP 200 for a URL that does not exist and then render "not found" in the browser. Crawlers spend time on those ghost URLs. Request a path that should not exist and read the status code; it should be 404.

curl -s -o /dev/null -w "%{http_code}\n" https://www.yourdomain.com/this-page-does-not-exist

Check this one by hand; the live check does not test it yet.

06

AI crawlers are blocked by accident

ChatGPT, Claude and Perplexity run their own crawlers (GPTBot and OAI-SearchBot, ClaudeBot, PerplexityBot). A robots.txt group or a CDN bot-protection rule can block them while Googlebot passes. Read robots.txt for those user agents, and check your CDN's bot settings if you put one in front of the site.

The live check reads the rules for *, Googlebot and Bingbot; check the AI crawler groups by hand.

Hand the fix to your AI agent

Once you know the blocker, the fix is usually a small, well-defined change, which suits an agent. Give it three things: the evidence, the expected result, and how you will verify it. For blocker 01:

"Our sitemap at https://www.example.com/sitemap.xml lists https://example.com URLs while every page's canonical is https://www.example.com. Make the sitemap use the same www host as the canonicals. Done means: every sitemap URL starts with https://www.example.com and returns 200."

After you publish, verify on the live site again. The live SEO check writes a task like this for the blocker it finds, and the seven-stage launch roadmap covers what comes after indexing: search demand, content and measurement.

FAQ

Q

Do I still need a prerendering service for a Lovable site?

Lovable's documentation says Lovable-hosted projects do not need one on either stack. New apps render on the server; older React + Vite apps are pre-rendered for verified crawlers. Check the live URL and URL Inspection before paying for a proxy.

Q

Why is my Lovable site not showing on Google?

Start with the basics in order: the project is published, it is served from a custom primary domain, nothing sends noindex, and the sitemap is submitted in Search Console. Then run the six checks above and use URL Inspection on your most important page.

Q

How long until Google indexes a new Lovable site?

Lovable's documentation gives "a few hours to a few days, and sometimes longer". Fixing configuration removes the delays you control; the rest depends on Google's crawl schedule and how many other sites link to yours.

Q

Do I need an llms.txt file?

For Google, no. Google's guide to generative AI features says Google Search ignores llms.txt, and Lovable does not require one either. Keeping a file for other services does no harm.

Q

Can I check my site's SEO without Search Console?

Partly. The live HTML, headers, robots.txt and sitemap can be checked without an account, with the React + Vite caveat above. Whether Google has indexed a URL, and what it rendered, can only be confirmed inside Search Console.

Check my Lovable site Read the launch roadmap →

Published 5 October 2026 · Updated 8 October 2026: corrected which Lovable projects get server-side rendering, added workspace URL indexing, the built-in review and the third-party checker limitation. Lovable changes quickly; when this page and the official documentation disagree, the documentation wins.

Sources: