Figment.so
BlogHow to use

Why Your Lovable Site Isn't Showing on Google (and How to Fix It)

It's rarely one single cause. A Lovable site can be missing from Google because it was never published, because a page is blocked from indexing, because the sitemap doesn't list it, because titles and descriptions are missing per route, or because rendering delays how fast Google sees the content. Work through these in order rather than guessing, and use Google's own tools to check each one rather than assuming.

First: is the site actually published and indexable at all?

Lovable's own SEO documentation states plainly: "Only publicly published apps can be indexed by search engines" (Lovable Documentation, "Optimize your app for SEO and AI search", checked September 2026). The same page says private or unpublished projects, and branded workspace URLs of the form app-name.workspace-subdomain.lovable.app, are never indexable. Confirm you're checking a live, published, public URL before doing anything else.

Second: how does Google actually see a Lovable site's content?

This depends on when your app was created, per Lovable's own documentation:

  • Apps created from May 13, 2026 onward use TanStack Start with server-side rendering, so every request returns fully rendered HTML (Lovable Documentation, SEO and AI search page, checked September 2026). There's no client-side rendering gap to worry about for these apps.
  • Older React + Vite apps use "on-request pre-rendering on deployed public URLs, served only to verified search and AI crawlers (Google, Bing, social-preview bots, and AI engines like ChatGPT, Perplexity, Claude, Gemini)," and "pre-rendering runs at request time, so dynamically loaded content is included" (same source). A third-party SEO scanner that isn't on Lovable's verified-crawler list may see the bare single-page app instead — that's expected, not a sign your real Google visibility is broken.

Separately, Google's own documentation describes how it handles JavaScript-rendered pages generally: "Googlebot queues pages for both crawling and rendering," and after the initial crawl, "once Google's resources allow, a headless Chromium renders the page and executes the JavaScript." Google doesn't claim it can't index JavaScript — it indexes "the rendered HTML" — but rendering is a separate, sometimes delayed step: "the page may stay on this queue for a few seconds, but it can take longer than that" (Google Search Central, "JavaScript SEO basics", checked September 2026). If your app predates the TanStack Start change and its pre-rendering isn't reaching Googlebot for some reason, this two-step process is the most likely place things stall.

In what order should I check things?

1. Check whether the page is indexed at all

A site:yourdomain.com search is a starting point, but Google is explicit about its limits: "the site: operator doesn't necessarily return all the URLs that are indexed under the prefix specified in the query," and if a URL doesn't show up, Google's own advice is to "use the URL Inspection tool to make sure the URL can be indexed and to submit the URL to indexing" (Google Search Central, "How to use the site search operator", checked September 2026). In Search Console, the URL Inspection tool "shows what Google knows about a specific page on your site" and can test the live version against indexing requirements (Google Search Console Help, "URL Inspection tool", checked September 2026). Use it, not site:, as your real check.

2. Check for a noindex tag or a robots.txt block

Google's documentation on the noindex rule is direct: "When Googlebot crawls that page and extracts the tag or header, Google will drop that page entirely from Google Search results." Critically, a robots.txt block does not achieve the same thing safely — Google warns "if the page is blocked by a robots.txt file or the crawler can't access the page, the crawler will never see the noindex rule, and the page can still appear in search results, for example if other pages link to it" (Google Search Central, "Block Search indexing with noindex", checked September 2026). Check your published site's actual response headers or rendered <head> for a noindex meta tag, and check /robots.txt for a Disallow rule that might be blocking Google from crawling the page in the first place. A leftover noindex tag from a staging or preview stage is a common, easy-to-miss cause.

3. Check the sitemap

Google's own sitemap documentation notes sitemaps become more important as sites grow: for anything beyond a handful of pages, "you will need to generate the sitemap," and sitemaps particularly help sites that are "complex to maintain the mapping on larger sites, or sites where the URLs change often" (Google Search Central, "Build and submit a sitemap", checked September 2026). Submit yours in Search Console's Sitemaps report, which "will allow you to see when Googlebot accessed the sitemap and also potential processing errors" (same source). Lovable's SEO review explicitly checks for sitemap problems too — a "missing sitemap, invalid XML, placeholder routes, relative URLs, host mismatches, or out-of-sync URLs between your routes and sitemap" (Lovable Documentation, SEO and AI search page, checked September 2026). A sitemap that still lists a Lovable preview domain instead of your live custom domain will not help Google find the right URLs.

4. Check titles and meta descriptions per route

Lovable's own review flags "duplicate titles, placeholder text, weak descriptions, or incorrect canonical URLs," and separately checks whether "social previews aren't customized for this site" (Lovable Documentation, SEO and AI search page, checked September 2026). If every route on your app shares the same generic title and description — common in single-page apps that were never given per-route metadata — that's worth fixing even though it isn't, by itself, an indexing blocker.

5. Consider the rendering path itself

If your app predates the May 2026 TanStack Start change and pages still aren't appearing after steps 1–4 come back clean, the pre-rendering Lovable serves to verified crawlers is the remaining variable. Confirm your production domain is the one actually being crawled (not a preview URL), and give it time — Google's own documentation acknowledges the render queue "can take longer" than a few seconds, sometimes substantially longer for a newer or lower-authority site.

Does this mean Google can't read JavaScript?

Google does not say it "cannot" index JavaScript-rendered sites. Its own documentation describes indexing "the rendered HTML," produced by "an evergreen version of Chromium" running your JavaScript — the issue is a timing and reliability gap for content that depends on client-side rendering, not a hard wall. Don't let a scanner tool's "Google can't see your JS" framing stand in for checking Search Console yourself.

What's the short checklist?

  • Confirmed you're checking a live, published, public URL, not a private project or a branded workspace URL.
  • Ran the page through Search Console's URL Inspection tool, not just a site: search.
  • Checked the rendered page and HTTP headers for a stray noindex tag.
  • Checked /robots.txt for a Disallow rule blocking the page.
  • Submitted a current sitemap in Search Console and confirmed it lists your live domain's routes, not a preview domain.
  • Confirmed each route has a distinct title and meta description.
  • If the app predates May 13, 2026, confirmed the production domain (not a scanner) is what you're judging pre-rendering by.

If you're moving the app off Lovable entirely, note that your new host's rendering setup replaces Lovable's pre-rendering, so recheck all five steps above against the new production URL. For the broader question of what any AI tool can and can't do once you're editing a live site directly, see How to Have ChatGPT, Claude, Codex or Cursor Edit an Existing Website. And if the plan is to rebuild the marketing pages around this app in a different tool rather than patch the SPA's SEO, Can AI Build My Website? is a plain look at what an AI-first rebuild does and doesn't solve.

Bottom line: Check indexing status with Search Console, not a site: search. Rule out noindex and robots.txt blocks before touching anything else. Fix the sitemap and per-route metadata regardless. Rendering timing is the last variable to consider, not the first thing to blame.


Get the latest content from Figment. Subscribe today for Figma design guides and website building tips.


Figment.so

Contact

Twitter

Privacy

Terms