My Lovable site isn’t showing up on Google. Why?
Bring your Lovable project and a Google account. Confirm the site is published and public, make your custom domain primary, connect Search Console from Lovable (it verifies with a meta tag), submit the sitemap from the live site, then read the Page indexing report: “Discovered” and “Crawled - currently not indexed” need different fixes. You don’t need to rebuild the app; Google’s own report tells you which step is missing.
First, check whether Google has it at all
Search Google for site:yourdomain.com, then paste your home page into Search Console’s URL inspection. “URL is on Google” means the problem is ranking, not indexing, and the Lovable SEO page is the better read. “URL is not on Google” with a reason is what this page is for.
Fix it in this order
- Published and public. Lovable says only publicly published apps can appear in search: unpublished projects, restricted-access projects and branded workspace URLs don’t (Lovable docs, “Optimize your app for SEO and AI search”, read 15 Oct 2026).
- One address. Make your custom domain primary. Other connected domains then redirect to it with a 302; Lovable doesn’t support 301s between project domains, and the
lovable.appaddress can’t be removed (Lovable docs, “Custom domain”, read 15 Oct 2026). Google doesn’t treat a temporary redirect as a canonical signal (Google, “Redirects and Google Search”, read 15 Oct 2026), so every page needs a canonical tag with your custom domain. Rerun Lovable’s SEO review after changing the primary domain: it checks that canonicals point at the right host. - Search Console. Connect it from the Google searches card or Connectors → Google Search Console; you need the admin or owner role in the workspace. Verification works only with the meta tag: Lovable adds it, deploys it and calls Google. The tag must be server-rendered and live, and the site identifier must match at every step, trailing slash included (Lovable docs, “Google Search Console”, read 15 Oct 2026).
- Sitemap. Lovable creates a robots.txt with every project but doesn’t always create a sitemap. Ask for one, publish, then submit it: Google reads it from the live site, not from the editor. Submitting through the connector needs its optional
webmastersscope. - Rendering. Apps created from 13 May 2026 are server-rendered. Older React + Vite apps get a prerendered copy that only verified crawlers see, and content that loads late can be missing from it. In URL inspection, run “Test live URL” and view the tested page’s HTML: if your headings and paragraphs aren’t there, that’s your answer. The fix is moving the app to TanStack Start.
- Request indexing yourself. The connector can’t do it. In URL inspection, click “Request indexing” for your most important pages, not for all of them.
Read the Page indexing report
Search Console → Indexing → Pages lists why each URL is out. The statuses below are Google’s (Search Console Help, “Page indexing report”, read 15 Oct 2026); the right column is what we usually see behind them on a Lovable site.
| Status | What Google means | On a Lovable site, usually |
|---|---|---|
| Discovered - currently not indexed | Found, not crawled yet; Google rescheduled the crawl | A new domain with many pages at once, or pages with no links pointing at them |
| Crawled - currently not indexed | Crawled, not indexed; no need to resubmit | Thin or near-identical pages, or an empty prerendered copy |
| Duplicate without user-selected canonical | A duplicate with no preferred URL marked | The lovable.app copy next to your domain; add canonicals |
| Alternate page with proper canonical tag | Correctly points at the canonical | Nothing to do |
| Page with redirect | A non-canonical URL that redirects | Your secondary domains; expected |
| Soft 404 | Looks like a “not found” page | A missing route that shows an error screen with status 200 |
“Discovered” is about crawl priority: link new pages from the home page and the footer, and don’t publish dozens on a fresh domain in one day. “Crawled” is about the page itself: give it a reason to exist that no other page on your site already covers.
Test it in one minute
An example; replace both addresses with yours:
D=https://yourdomain.com
curl -s $D/robots.txt | grep -i '^sitemap'
curl -s $D/sitemap.xml | grep -c '<loc>'
curl -s $D/sitemap.xml | grep -o '<loc>[^<]*' | head -3
curl -s $D/ | grep -o '<link rel="canonical"[^>]*>'
curl -s -o /dev/null -w '%{http_code}\n' $D/this-page-does-not-exist
curl -sI https://yourapp.lovable.app/ | head -3
What good looks like: a Sitemap: line, as many <loc> entries as you have public pages, every one on your custom domain, a canonical with your domain, 404 for the made-up page, and a lovable.app address that either redirects or carries the same canonical. On an older app, curl gets the single-page app, so a missing canonical in curl may still be present for Googlebot: confirm in URL inspection.
Google is one index, not the last
Being on Google doesn’t put you in ChatGPT or Copilot: Copilot answers from Bing’s index, and AI crawlers fetch pages on their own terms. Add the site to Bing Webmaster Tools (it imports from Search Console), then run the six checks on My vibe-coded site is invisible to ChatGPT.
What Katman does here
Katman is an MCP server that runs inside Cursor, Claude Code and other AI coding tools. With your Lovable code synced to GitHub and opened there, katman_audit_site checks the live site’s robots.txt, sitemap, canonicals, redirects, soft 404s and preview copies in one run, and katman_prompt returns P4 (robots and sitemap) and P11 (404s, redirects, preview URLs) with acceptance checks your coding tool or Lovable’s chat can work through. katman_indexnow notifies Bing and other IndexNow engines; Google doesn’t use IndexNow. Katman doesn’t edit your site and can’t make Google index a page: Search Console stays the place to request and confirm indexing. Katman Pro is $99 a month for up to 3 sites, with fix prompts and page briefs uncapped. Or have us do it: Growth writes 30 pages a month for you. More on how Katman works and the method behind the prompts.
Written by the Katman team, Rnify Limited. Lovable and Google pages read 15 October 2026.
Who this is not for
- Lovable apps that should stay private: unpublished and restricted-access projects never appear in search.
- Ranking higher once you are indexed: that is a content question, covered on the Lovable SEO page.
- Getting into ChatGPT, Copilot or Perplexity: Google’s index is one step of several.
Frequently asked questions
Can Lovable’s Search Console connector ask Google to index a page?
No. Lovable’s docs list that as a limitation: the connector verifies the site, submits sitemaps and reads data, but you request indexing yourself in Search Console’s URL inspection.
Why does Search Console verification fail with failedToFindMetaTag?
Usually because the site identifier differs between steps, often by a trailing slash, or because the verification tag isn’t live and server-rendered yet. Lovable says to publish first and use the same identifier everywhere.
Is my lovable.app address competing with my custom domain?
It can. The lovable.app address can’t be removed, and Lovable redirects other connected domains with a 302, which Google doesn’t treat as a canonical signal. A canonical tag on every page pointing at your domain settles it.
How do I fix “Crawled - currently not indexed” on a Lovable site?
Improve the page, don’t resubmit it. Google says there is no need to resubmit; the usual causes on Lovable sites are thin or near-identical pages and content that loads too late for the prerendered copy.
Do I need a custom domain to appear on Google?
Not strictly, but Lovable recommends one for search presence on a domain you control, and describes a lovable.app address as suited to MVPs, demos and short-lived pages.