You built the app in Lovable, Bolt or v0, it works, people like it. Then you search for it on Google and get nothing useful, and when you ask ChatGPT about your product it has never heard of it.
Most of the time the app is fine. The problem is what search engines and AI assistants receive when they open your link.
What a crawler actually downloads
Apps from AI builders are usually single-page React apps. When anyone opens the link, the server sends a tiny HTML file that looks roughly like this:
<body>
<div id="root"></div>
<script type="module" src="/assets/index-a1b2c3.js"></script>
</body>
Your headings, prices, features and contact details are not in that file. They appear only after the browser downloads and runs the JavaScript. People never notice, because their browser does it in a second.
Who runs JavaScript and who doesn't
Google can run JavaScript, but it does it in a second pass that can come days later, and pages with heavy scripts sometimes get indexed with missing text or not at all.
AI assistants are worse off. The crawlers behind ChatGPT, Claude and Perplexity mostly read the HTML and do not run JavaScript. In Vercel's analysis of AI crawler traffic, none of the major AI crawlers rendered JavaScript. For them your app is an empty div.
So the same page that looks great to a visitor can be invisible to the tools people now use to find products.
Check your app in 30 seconds
The quickest way: paste your link into the free visibility check. It shows how many words of your content are in the HTML, plus the title, description, link preview, sitemap, robots.txt, llms.txt and mobile speed, each with what to fix.
If you prefer to do it by hand, open your site and press Ctrl+U (or Cmd+Option+U on a Mac) to view the page source. Search for a sentence that is visible on the page. If you cannot find it in the source, crawlers cannot find it either.
Five fixes, from easiest to most thorough
1. Put the basics in index.html. Even a single-page app has one real HTML file. Give it a proper <title>, a meta description, Open Graph tags for link previews and a canonical link. In Lovable you can ask it to edit index.html, or change it in the code on GitHub. This alone fixes how your link looks in search results and chats.
2. Add robots.txt, sitemap.xml and llms.txt. Put them in the public folder so they are served from the root of your domain. The sitemap lists your pages, robots.txt points crawlers to it, and llms.txt is a short plain-text summary of what your site offers, written for AI assistants.
3. Add structured data. A small JSON-LD block in index.html that says who you are, what you sell and where you are. Google and AI assistants use it to describe your business without guessing.
4. Prerender your public pages. This is the fix that actually puts your text into the HTML. A prerender step runs your app at build time and saves the finished HTML for each public route (home, pricing, features, blog). Visitors still get the full app, but crawlers receive real content. For a Vite app like the ones Lovable and Bolt generate, this is usually a plugin plus a list of routes to render.
5. Move the marketing pages to a framework that renders on the server. If content and search traffic matter a lot, keep the logged-in app where it is and build the public pages with Next.js or Astro, which send full HTML by default. It is more work, but it is the most robust option.
For most apps, steps 1 to 4 are enough and take a day or two.
What I usually find
When I check apps built with AI tools, the pattern is almost always the same: a generic title like "Vite + React", no description, no link preview image, no sitemap, and fewer than twenty words of real content in the HTML. Each piece is small, but together they make the product invisible outside of direct links.
If you want it done for you, I fix exactly this: prerendering, meta tags, link previews, sitemap, robots.txt, structured data and llms.txt, with a fixed quote first. Run the free check and send me the report.
FAQ
Can Google index a Lovable app at all?
Yes, but slowly and not always completely. Google renders JavaScript in a second pass, so pages can sit unindexed for days or get indexed with missing text. Putting real text into the HTML with prerendering removes the guesswork.
Why does ChatGPT not know about my product?
The crawlers that feed ChatGPT, Claude and Perplexity mostly read only the HTML and do not run JavaScript. If your content appears only after scripts run, they see an empty page and have nothing to quote.
Do I need to rebuild my app to fix this?
Usually not. Fixing index.html, adding a sitemap, robots.txt, llms.txt and structured data, and prerendering the public pages keeps your app as it is. Moving marketing pages to Next.js or Astro is only worth it when search traffic really matters.
Originally published at watershowdigital.com/blog/why-chatgpt-cant-see-your-lovable-app. Need a hand with your app or automation? WaterShow Digital fixes and builds it, fixed quote first.
Top comments (1)
lol never thought an empty page could mess with SEO,