Why isn’t my Lovable site showing up on Google?
If your site is published on Lovable, Google already receives rendered HTML. What is usually missing is the basics: a public address, a custom domain, a title and description per page, a valid sitemap and Search Console. If the app left Lovable as a static React site, pages arrive empty without JavaScript and need pre-rendering.
Heartscale’s recommendation: before rewriting any copy, connect Search Console and use URL Inspection to check that the HTML Google receives includes the page’s title and text. If the site has left Lovable or the text is missing from that HTML, get the rendering reviewed before you invest in content.
Many guides on this topic predate May 2026, when Lovable changed how it serves pages. This guide follows Lovable’s current documentation (SEO and SEO and AI search) and Google Search Central.
Step 1: check that the address can appear in search
According to Lovable, only publicly published apps can appear in results. Three cases never do:
- an unpublished project;
- a project with restricted website access;
- a branded workspace URL, in the form
https://{app}.{workspace}.lovable.app.
Lovable recommends a custom domain to build search presence. After you connect the domain, run the SEO review again and verify the domain in Search Console (steps 5 and 6).
Set expectations too. Lovable says it does not guarantee rankings and that indexing can take days or longer.
Step 2: find out whether the app is React + Vite or TanStack Start
How Lovable serves the page depends on when the project was created:
| Stack | Projects | What the crawler receives |
|---|---|---|
| TanStack Start | created since May 13, 2026 (June 22, 2026 on Enterprise) | Full HTML, rendered on the server, for every visitor |
| React + Vite | created earlier | Pre-rendered HTML for verified crawlers only; everyone else gets the single-page app |
Verified crawlers, in Lovable’s list, include search engines, AI search crawlers (ChatGPT, Perplexity, Claude, Gemini), social preview bots and verified SEO tools. React + Vite has one limit: the docs warn that content that loads late may be missing from the pre-rendered HTML.
To learn your stack, ask in the project chat: “What stack is this project on?”. If it is React + Vite, Lovable offers an upgrade (Upgrade to TanStack Start):
- in the chat, type
/and choose Migrate to TanStack Start; or - under Project settings → General → Project actions, click Migrate.
Most upgrades cost 10 to 35 credits. The published site changes only when you publish again, and you can go back through version history. Browser-only libraries can break server rendering in ways the checks miss. Test every page before you publish.
Step 3: a unique title and description on every page
A single-page app often starts with the same title on every route. Google asks for unique, descriptive titles and descriptions per page, and it accepts JavaScript setting them (JavaScript SEO basics).
Lovable’s review flags generic or duplicate titles, placeholder text, weak descriptions and wrong canonicals. It also asks for Open Graph tags on each route, because social platforms read those tags from the HTML. To preview how a page looks, open Social & search appearance from the ⋮ menu in the Publish dialog.
Two Google rules apply to any stack:
- links between pages must be
<a href="...">. Google does not discover links that exist only as button clicks; - routes should use the History API (
/pricing), not fragments (/#/pricing).
Step 4: sitemap.xml and robots.txt
Lovable creates a robots.txt in every new project, but not always a sitemap. Google’s sitemap rules (Build and submit a sitemap):
- absolute URLs, with
https://and the domain. Lovable’s review also flags relative URLs and URLs on another host; - up to 50,000 URLs or 50 MB per file, UTF-8, at the site root;
- only the canonical URLs you want in results;
<lastmod>only if it is accurate. Google ignores<priority>and<changefreq>.
A minimal example:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://yourdomain.com/</loc></url>
<url><loc>https://yourdomain.com/pricing</loc></url>
</urlset>
And the line at the end of robots.txt:
Sitemap: https://yourdomain.com/sitemap.xml
Step 5: run Lovable’s SEO review
In the project toolbar, open More → Analytics and the SEO & AI tab. Click Run SEO scan. Each finding has Try to fix, and Try to fix all handles them together. Then click Scan again.
The review covers robots, sitemap, titles, descriptions, canonicals, Open Graph and structured data. It does not measure speed, since it no longer runs Lighthouse, and it does not judge content quality, search intent or backlinks. For speed, use PageSpeed Insights.
Step 6: connect Search Console
On the same SEO & AI tab, use the Google searches card. Lovable verifies the site with a tag in the HTML, with no file upload and no DNS change, and submits the sitemap. Publish your changes first, because Google reads the sitemap from the live site. If you change domains, verify again.
Once Search Console is connected, use URL Inspection on an important page:
- Paste the URL and click Test live URL.
- Open View tested page and check the screenshot and the HTML Google received. If the page text is missing, the problem is rendering.
- If everything looks right, click Request indexing.
Inspections and indexing requests have a daily limit per property. Use them on the pages that matter.
Step 7: structured data
Google recommends JSON-LD and offers the Rich Results Test to validate it (Introduction to structured data). Correct markup makes a page eligible for a rich result, with no guarantee it will show.
Lovable’s review checks that the data can be read, matches what the page shows and is complete. It does not treat missing WebSite, Organization or FAQPage markup as an issue. Mark up what the page actually has: a product with a price, an article, visible questions.
What about AI answers in ChatGPT, Perplexity and Gemini?
Google says there are no extra requirements to appear in AI Overviews and AI Mode (AI features and your website). The page must be indexed and eligible to show a snippet. Google also says you do not need AI text files or special markup.
On Lovable, any client that asks for Markdown gets the page in Markdown, on both stacks. That is how AI assistants read the site.
llms.txt is a proposal by Jeremy Howard: a file at the root with a # title and links to your main pages. Only the title is required. Lovable does not require the file, does not flag its absence and keeps serving an existing one. Treat it as a cheap extra. It does not replace steps 1 to 6.
If the app has left Lovable
Lovable’s documentation describes pre-rendering for addresses published on Lovable. The guide to hosting outside Lovable does not mention it. So test on the new server:
curl -s https://yourdomain.com/pricing | grep -i -E "<title>|<h1"
If the title matches every other page and no <h1> shows up, the crawler gets an empty page until JavaScript runs. Google renders JavaScript in a queue that can take a while, and not every bot runs JavaScript. That is why Google still recommends server-side rendering or pre-rendering.
In our reviews, we run this test on every URL in the sitemap and compare the title, the <h1> and the canonical with what the page shows in the browser. Any route that differs goes on the fix list.
The options, from simplest to most complete:
- Static React + Vite: generate the HTML for each route at build time (SSG or prerender), with its own title and description;
- TanStack Start: run the Node server, which already sends finished HTML. A host that only receives static files does not run that part.
Handle 404s too. A SPA often answers 200 for any route, and Google may treat that as a “soft 404”. Google’s fix is to redirect to a URL that returns 404 or add noindex to the error page. If you are still planning the move, How to leave Lovable lays out the order.
Do it yourself or hire help?
Most of this guide works without outside help. The table shows when it pays to bring in a team.
| Situation | Path |
|---|---|
| Site published on Lovable, with a custom domain and a few pages | Follow steps 1 to 7 and keep an eye on Search Console |
| React + Vite app with login, payments or browser-only libraries, before upgrading to TanStack Start | Get a review before you publish the upgrade |
| Site outside Lovable, with pages that arrive empty without JavaScript | Bring in a team to generate HTML for each route or run the server |
| Key pages stay out of the index and nobody on the team can read the HTML Google receives | Request a Heartscale diagnostic |
Request a Heartscale diagnostic
Our team checks what Google and AI crawlers receive from each page of your site, with and without JavaScript. We fix per-route titles, the sitemap, robots, structured data and Search Console, and we pre-render pages when the site runs outside Lovable. See our SEO for AI-built apps service. We do not promise a Google ranking.
The launch-price diagnostic costs US$ 19 (was US$ 79) and is credited toward the fix if you go ahead. We only work on apps whose owners can prove they own them.