Playbooks
SEO for AI-built apps: the SPA problem and how to fix it
AI builders ship JavaScript SPAs that look empty to crawlers. Learn why your Lovable or Bolt app may be invisible to search and AI engines, and the fixes that make it indexable.
Last updated 2026-07-18
Your app looks perfect in a browser. To a search or AI crawler that doesn't run JavaScript, it may be a blank page. This is the single biggest SEO trap for AI-built apps — and it's fixable.
The SPA problem
Lovable, Bolt, v0, and most AI builders ship a single-page app: the HTML the server sends is a near-empty shell, and the title, meta tags, content, and analytics are injected by JavaScript after load. Google renders JS eventually, but many crawlers — including several AI crawlers — don't, so they index nothing.
How to tell if you're affected
Run an Actuant audit. If the report is flagged as rendered, it means your static HTML was an empty shell that had to be browser-rendered to score. That's the exact content JS-blind crawlers can't see.
The fixes
- 1
Get critical content server-rendered
At minimum, ship a real <title>, meta description, and Open Graph tags in the initial HTML — not injected at runtime.
- 2
Serve robots.txt and sitemap.xml
So crawlers can enumerate your pages regardless of rendering. See Search indexing.
- 3
Publish an llms.txt
A plain-text brief every AI crawler can read without JavaScript. See AI-search visibility.
- 4
Consider a landing page that isn't a SPA
Even a static, server-rendered marketing page in front of your app fixes most of the visibility problem.
The goal isn't to abandon your SPA — it's to make sure the handful of things crawlers rely on (title, meta, OG, sitemap, llms.txt) exist without JavaScript.
Keep reading
AI-search visibility
AI answers from ChatGPT, Claude, and Perplexity are where discovery is moving. An llms.txt file is how they read your site accurately. Learn what Actuant checks and how to write one.
Search indexing
No robots.txt or sitemap means crawlers guess at your site and pages get missed. Learn what Actuant checks, the one line that accidentally blocks all crawlers, and how to fix indexing.
AI-search visibility
AI-search visibility is how findable and citable your app is inside AI answers from ChatGPT, Claude, and Perplexity. Learn why it's the new SEO and how llms.txt fits in.