There's nothing wrong with vibe coding. Describing what you want and watching a working site appear is genuinely magic, and for a lot of products it's exactly the right call.
But there's a tradeoff nobody puts in the demo. These tools ship a client-side app: your server sends a near-empty HTML shell, and JavaScript paints the real page in the visitor's browser a split second later. You see the finished site. Google mostly does too. AI crawlers — ChatGPT, Claude, Perplexity — usually don't. They read the raw HTML and move on.
So the page that took you a weekend to ship can be, to an AI, a blank screen. We measured exactly how blank.
AT A GLANCE
If you built with AI, this probably includes you
01 · THE GAP
Every vibe-coded site we checked had a gap
We compared what a human sees to what an AI bot receives, across 220 sites built with Lovable and Base44, and 1,123 ordinary sites as a baseline. The "gap" is the share of the page's words that only appear after JavaScript runs — the part AI never reads.
On the normal web, the average gap is 16% and most sites are fine. On vibe-coded sites it's a different planet: Lovable averages a 79% gap, Base44 a 97% gap, and the typical site on either platform sits at 100% — every readable word arrives via JavaScript.
Average content gap by platform
% of page words invisible to AI crawlers
Sites losing more than half their content
% of sites with a 50%+ gap (the critical line)
The whole distribution, side by side
Share of each platform's sites by gap severity
What this means for you
- If your site is a default Lovable or Base44 build, the safe assumption is that AI sees little to none of your content — not "some," but close to zero.
- This is invisible from the outside: the site looks perfect in your browser and in a normal share preview. The gap only shows up when something reads the raw HTML.
- It's not bad luck or a broken site. It's the default output — which means it's the same for almost everyone on these platforms.
02 · WHAT AI ACTUALLY READS
The median site gives AI zero words
Percentages can feel abstract, so here's the concrete version. We counted the words in the raw HTML an AI bot fetches versus the finished page a human sees.
More than half of all vibe-coded sites serve an AI bot zero words — the raw HTML is an empty shell. The average Lovable site lets AI read 112 words while hiding 337. The average Base44 site lets AI read just 27 words while hiding 417. Twenty-seven words is shorter than this paragraph. That's everything an AI knows about the typical Base44 site.
Words AI can read vs words hidden in JavaScript
Average words per page
Why this matters
- AI answers are built from the text a crawler can read. With 0–27 words, there's nothing to quote, nothing to summarize, nothing to cite.
- It doesn't matter how good your product or copy is — if it's painted by JavaScript, an AI assistant recommending tools like yours simply never encounters it.
- This is increasingly where people start their search. Being absent from it is the modern version of not being in Google at all.
03 · LOVABLE
Lovable: 77% of sites are critically invisible
Across 114 Lovable sites, 88 (77%) lose more than half their content to AI, and 84 sit at a perfect 100% gap — pure client-side React apps where the raw HTML has no readable text at all.
The tell is in Lovable's own site: lovable.dev has just a 30% gap, far better than what the platform ships by default. The capability to render for AI exists. It's just not on by default for the sites you generate.
Lovable sites by gap severity
114 sites audited
The numbers
Lovable · content visibility
04 · BASE44
Base44: almost nothing gets through
Base44 is more extreme. Of 89 sites with a measurable gap, 85 sit at a flat 100% — the AI bot gets an empty page. The average Base44 site exposes just 27 words to a crawler.
And again, the platform's own site tells the story: base44.com has a 0.3% gap. It renders beautifully for AI. The default sites it produces don't.
Base44 sites by gap severity
106 sites audited (17 returned no measurable gap)
The numbers
Base44 · content visibility
05 · HOW TO FIX IT
The good news: it's fixable, and the platforms prove it
The root cause is one decision: these tools render everything in the browser by default. lovable.dev (30% gap) and base44.com (0.3% gap) show it doesn't have to be that way — the same companies render their own sites so AI can read them. Here's how to get there.
Get your real content into the raw HTML
The goal is simple: the words a visitor reads should be in the HTML the server sends, before any JavaScript runs. That's what makes them visible to AI. Everything below is a way to reach that.
Turn on server-side rendering or static export, if your tool offers it
Some platforms have an SSR, "SEO," or static-export option, or let you publish to a host that prerenders. Switching it on can take a 100% gap to near-zero with no redesign.
Put a prerender layer in front of your custom domain
If you've connected a custom domain, route it through a host or service that serves crawlers a fully-rendered snapshot (prerendering). The bot gets real HTML; humans get the app as normal.
For pages that must rank, consider a rendered framework
For a marketing site or landing pages where AI and search visibility really matter, a server-rendered setup (or even plain static HTML for the key pages) is the durable fix.
Re-scan to confirm AI can actually see it
Don't assume — verify. Run the page through a tool that fetches it the way an AI bot does and shows you the raw HTML. If your content is there, you're visible.
The short version
- Vibe coding is fine. Shipping only a client-side render is the problem.
- You don't have to abandon your tool — you have to make sure your words reach the raw HTML.
- The fastest first step is to see the gap for yourself, then confirm it's closed after you change anything.
THE TAKEAWAY
You can see it. Make sure AI can too.
Vibe coding gave you something real: a site, shipped, fast, without a team. That's not the problem. The problem is that the thing you shipped can be invisible to the place a growing share of people now go to ask questions and pick tools.
The fix isn't to stop building this way. It's to make sure your words live in the page before the JavaScript runs — and then to check, because none of this shows up in a browser.
The site that took you a weekend can be a blank page to AI. The only way to know is to look at it the way a crawler does.
See what AI sees on your site
Paste in your URL and we'll fetch it the way an AI bot does — then show you, side by side, what a human sees versus what AI gets. It's free and takes a minute.
Scan my site freeIf it's a blank page to AI, better to find out now.
Methodology
- Sample. 220 live sites built on AI coding platforms — 114 Lovable, 106 Base44 — identified by platform fingerprints, compared against a 1,123-site general-web baseline. Data collected June 2026.
- The metric. "JS gap" = the share of the rendered page's words that appear only after JavaScript executes and are absent from the raw HTML an AI crawler fetches. A 100% gap means none of the readable content is in the server's HTML.
- How it's measured. BeSeenBy.ai's content-visibility check renders each page with a real browser (what a human sees) and fetches the same URL as each AI bot (raw HTML), then diffs the two. Word counts compare readable HTML words to JS-added words.
- Caveats. 17 Base44 sites returned no computable gap (likely auth-gated apps, internal tools, or empty crawler responses) and are shown separately. A handful of zero-gap sites on each platform appear to use external hosting, a CMS layer, or static export rather than the default output.