Is Your AI-Built Website
Invisible to Google and ChatGPT?
You asked an AI to build your website, and it looks great in your browser. But a site that looks complete to a person can look almost empty to a crawler. Here's a 10-second check you can do with no tools, what the result means, and what to do if your site fails.
Our check of nine AI-built sites on 15 October 2026. A small sample, not a statistic about all AI-built sites; limits are explained below.
The 10-second check
You don't need an SEO tool. You need your browser's View Page Source, which shows the page the way a crawler downloads it, before any JavaScript runs.
Open your homepage
Use Chrome, Edge or Firefox, and the real address of your site: your own domain, or the one your builder gave you.
View the page source
Right-click an empty part of the page and choose View Page Source, or press Ctrl+U (Windows) or Cmd+Option+U (Mac). Don't choose Inspect: that shows the page after JavaScript has run, which is what a person sees, not what a crawler downloads.
Search for a sentence from your page
Press Ctrl+F (Cmd+F on Mac) and search for a full sentence from the middle of your homepage. Don't search for your business name: it's usually in the page title too, so it appears even on an empty page.
Read the result
Pass: your sentence is there, along with your services, address, phone number and opening hours as plain text. Fail: no match, and the body is an empty container, like the example below.
What a fail typically looks like:
<body> <div id="root"></div> <script type="module" src="/assets/index-….js"></script> </body>
That page is an empty container and a JavaScript file. Your text, services and contact details only appear once a browser runs the script.
Comfortable with a terminal? curl -s https://yoursite.com | grep -i "a sentence from your page"prints a line if the sentence is in the HTML, and nothing if it isn't.
Why a good-looking site can be empty to a crawler
Many AI site builders produce what's called a single-page app. The server sends a nearly empty HTML page and a JavaScript file. Your browser runs the script, which draws the page. To a person, that's invisible: the site loads and looks complete.
To anything that reads the HTML without running the script, the page has almost nothing on it. In our check, all three Replit sites and three of the five Lovable template previews worked this way. Not every builder does: a Lovable project we created in October 2026 is built on TanStack Start, and the one Next.js (v0) site we looked at also sends its content in the HTML.
Which kind of site do you have?
The quickest test is the 10-second check above. You can also tell from the code: a project that depends on @tanstack/react-start or next renders on the server. A React app built with Vite that uses react-router-dom or wouter, with no framework like those, renders in the browser.
We tested one project of each kind, built from the same prompt, exported and published in October 2026:
| Lovable | Replit | |
|---|---|---|
| Built on | TanStack Start (server-rendered) | React, Vite and wouter (browser-rendered) |
| Body words in the HTML | 107 | 0 |
| Title and description per page | Yes | No: the same on every page until JavaScript runs |
| Share image | Yes | No |
| A made-up URL | 404 | 200 |
| sitemap.xml | Missing | Missing (returns 200, but it's the homepage) |
| Canonical tag and structured data | Missing | Missing |
So: a new Lovable site isn't invisible, though it still has gaps. The Replit project is the empty shell described above. Each is one project built from one prompt, so treat them as examples, not a rule.
Your builder may now check this for you
Both builders have added their own tools. Lovable says new apps render on the server, older apps get pre-rendered snapshots automatically, and its free SEO review flags issues such as missing canonical tags and sitemaps. Replit's SEO Agent, announced in June 2026, scans a published app, ranks what it finds, and can recommend server-side rendering. We haven't tested either. Run your builder's own check first, then the 10-second check to see whether it worked.
Who can read it, and who can't
| Crawler | Runs JavaScript? | What it means for an empty-shell page |
|---|---|---|
| Yes, as a separate step | Google can read it, but rendering can wait in a queue for a few seconds or longer. Google itself recommends server-side or pre-rendering, because not all bots can run JavaScript. | |
| ChatGPT, Claude and Perplexity crawlers | No, per the December 2024 analysis | Vercel and MERJ's December 2024 analysis found that these crawlers download JavaScript files but don't run them. An empty-shell page gives them almost nothing to read. |
| Gemini, Apple's crawler | Yes | The same analysis says Gemini uses Google's rendering and Apple's crawler renders JavaScript. |
A caution. That analysis is from December 2024. Crawler behaviour changes, and later reports we've seen conflict and we couldn't verify them. Treat “AI crawlers don't run JavaScript” as the best current evidence, not a law. Putting your content in the HTML is cheap insurance either way, because every crawler can read it.
What we found when we checked nine AI-built sites
On 15 October 2026 we looked at the homepages of nine AI-built sites: three built with Replit, five with Lovable and one with v0. For each, we compared the HTML a crawler downloads with the page after JavaScript runs.
- Six of nine were near-empty in the HTML, with 0 to 2 words of body text against 300 to 1,400 once JavaScript ran. That was all three Replit sites and three of the five Lovable sites.
- None of the nine had a sitemap.xml, and only four had a robots.txt.
- Titles and descriptions were often defaults. Several Lovable pages used a project name or “Lovable Generated Project”, and four of the five used Lovable's default share image.
- Two of the three Replit sites included business structured data in the HTML, and none of the five Lovable sites did. Structured data can sit in the page head even when the body is empty, so it still gives a crawler something to read.
The limits. This is a small, rough sample. Only three of the nine are real businesses; the five Lovable sites are template previews we matched by hand. We looked at homepages only, once each. And we didn't check whether any of these sites appear in Google or in AI answers. Don't read it as a statistic about all AI-built sites.
If your site fails: what to do
The goal is to get your real content into the HTML the server sends, not only into what the browser builds. There are three routes:
- Pre-render or server-render the pages that matter (homepage, services, about, contact, menu). The HTML is generated ahead of time or on the server, so crawlers get real text. This is the approach Google recommends.
- Move to a framework that renders on the server by default, such as Next.js or Astro. In our check, the one Next.js site passed.
- Use your builder's own tools first. Lovable has an SEO review and Replit has an SEO Agent. What's possible depends on your builder and hosting.
For a React and Vite site, there's a tested step-by-step guide. For a Lovable site, see what a new Lovable site is missing. For a Replit site, see how to make it readable to crawlers. We only publish steps we've tested. Before you launch or hand a site over, run the launch checklist.
Fix these whatever the result
- A real title and description for each page, not the project name or a default.
- Your own share image, the preview people see when your link is shared.
- A sitemap.xml and a robots.txt that points to it.
- Structured data for your business (LocalBusiness: name, address, phone, opening hours). It isn't a substitute for readable page text, but it works even when the body is empty.
- Your address, phone number and opening hours as text on the page, not only in an image or a map embed.
Will fixing this get me recommended by ChatGPT?
Not by itself. Being readable is a precondition for being quoted, not a reason to be. AI answers also draw on reviews, listings and mentions elsewhere on the web, and we can't promise any one change will make an AI recommend you. What this check removes is one reason you'd be absent.
Sources
- Google Search Central: Understand JavaScript SEO basics
- Vercel and MERJ: The rise of the AI crawler (17 December 2024)
- Lovable: SEO and AI search
- Replit: SEO Agent (June 2026)
Checked 15 October 2026. Crawler behaviour changes, so check the current position before relying on any one claim.
Frequently Asked Questions
Why isn't my Lovable or Replit website showing up on Google?
There are several possible reasons, including a new site that hasn't been crawled yet. One common technical one is that the site is a single-page app: the HTML your server sends is almost empty and the content only appears after JavaScript runs. Google does run JavaScript, but as a separate step that can wait in a queue. Use the View Source check above to see which case you're in. Google Search Console's URL Inspection tool shows what Google itself saw.
Does Google index single-page apps?
Yes. Google processes JavaScript web apps in three phases: crawling, rendering and indexing. Rendering can be queued for a few seconds or longer, and Google itself says server-side or pre-rendering is still a good idea because not all bots can run JavaScript.
Do ChatGPT and Claude read JavaScript-only websites?
As of Vercel and MERJ's December 2024 analysis, no: the crawlers behind ChatGPT, Claude and Perplexity downloaded JavaScript files but didn't run them. Crawler behaviour changes and later reports conflict, so check current evidence. Putting your content in the HTML works for every crawler either way.
How do I tell whether my AI-built site is server-rendered?
Use the 10-second check: View Page Source and look for a sentence from your page. You can also look in the code. A project that depends on @tanstack/react-start or next renders on the server. A React app built with Vite that uses react-router-dom or wouter, and no framework like those, renders in the browser.
Is this only a problem with Lovable and Replit?
No. Any site that builds its content in the browser has it, and not every AI builder does. In our small check, the Replit sites and three Lovable template previews were empty shells, while a new Lovable project and the Next.js (v0) site served their content in the HTML. It depends on how the site is built, not on the tool's name.
If I fix this, will ChatGPT recommend my business?
Not by itself. Being readable is a precondition for being quoted, not a reason to be. AI answers also draw on reviews, listings and mentions elsewhere on the web, and no single change can promise a recommendation. Fixing this removes one reason you'd be absent.
Check the rest
of your site
Chad's free scan checks how crawlers read your site, and gives every technical issue with the fix.
Run the free scan →