The Technical Desk · Field Guide
Prerender Lovable websites: why, how and options. A full guide for 2026
A correspondent's report on the hollow shells crawlers see, the bridge that fixes it, and the trade-offs every Lovable builder should weigh.
Single Page Applications (SPAs) built with frameworks like React, Vue, or Angular provide a slick user experience, but they have a "blank page" problem.
<html>
<head>
<title>Only the root page (/) title</title>
<meta name="description" content="Crawler can't see sub page meta descriptions" />
<link rel="canonical" href="https://yoursite.com/" />
</head>
<body>
<!-- Crawlers get this shell html for every page -->
<!-- No actual content to get ranked or suggested by AI -->
<div id="root"></div>
<script src="bundle.js"></script>
</body>
</html>
<html>
<head>
<title>Your Page Title</title>
<meta name="description" content="SEO optimized..." />
<link rel="canonical" href="https://yoursite.com/page" />
</head>
<body>
<nav>...</nav>
<h1>Fully Rendered Page Content</h1>
<main>
<Hero>...</Hero>
<Features>...</Features>
<Contact>...</Contact>
<Footer>...</Footer>
.... more content ...
</main>
</body>
</html>
Since content is generated via JavaScript in the browser, search engines and social media bots often see nothing but a hollow HTML shell. Lovable built websites also fall into this category since they are built with React SPA and Vite.
Pre-rendering is the bridge between the interactivity of an SPA and the SEO-friendliness of a static site.
How Pre-rendering Works
Step 1: A pre-rendering tool intercepts a request from a bot.
Implementation: The Hard Way vs. The Easy Way
How you implement pre-rendering depends on your technical resources and how much control you want over your SEO stack.
The No-Code Route
Encited
- Zero code setup required
- No need to touch Cloudflare Workers
- Includes SEO Spider for full-site audits
- Real-time on-page SEO feedback
The Technical Route
Prerender.io
- Requires manual integration via code
- Typically requires Cloudflare Workers or server middleware
- Primarily a rendering engine
- Handles the "snapshot" but leaves SEO strategy to you
Pre-rendering vs. Server-Side Rendering (SSR)
How difficult is it to set up and maintain?
What type of content does it handle best?
How much does it tax your servers?
Are SEO auditing tools included or separate?
Why It's Non-Negotiable
First-Wave Indexing
Google uses a "two-wave" indexing process. It indexes HTML first, then comes back later (sometimes weeks later) to render JavaScript. Pre-rendering ensures your content is indexed in the first wave.
Social Media Previews
Bots for Slack, X (Twitter), and LinkedIn don't execute JavaScript. Without pre-rendering, your shared links will show a "Loading..." screen or a generic homepage title instead of your actual content.
Finding Blind Spots
Tools like Encited take it a step further. By using their SEO Spider, you can crawl your own site just like Google does. This reveals broken links, missing meta tags, or rendering errors that would otherwise stay hidden in your JavaScript code.
How AI Crawlers Index Content
To get OpenAI's ChatGPT to index your page, you need to understand how AI crawlers work. AI platforms use web crawlers similar to traditional search engines, but with important differences in what they can and cannot see.
Major AI Crawlers
| Crawler | Platform | User Agent | Purpose | Executes JS |
|---|---|---|---|---|
| OAI-SearchBot | OpenAI | OAI-SearchBot | ChatGPT Search indexing | No |
| GPTBot | OpenAI | GPTBot | AI model training data | No |
| ChatGPT-User | OpenAI | ChatGPT-User | Real-time browsing queries | Limited |
| PerplexityBot | Perplexity | PerplexityBot | Search indexing | No |
| ClaudeBot | Anthropic | ClaudeBot | Training and search | No |
| Google-Extended | Google-Extended | Gemini training | Yes | |
| Applebot | Apple | Applebot | Apple Intelligence | Limited |
| Bytespider | ByteDance | Bytespider | TikTok AI features | No |
| Meta-ExternalAgent | Meta | Meta-ExternalAgent | Meta AI | No |
Important: OpenAI uses three different crawlers. OAI-SearchBot indexes pages for ChatGPT Search results. GPTBot collects data for training. ChatGPT-User fetches pages in real-time when users browse. For your pages to appear in ChatGPT Search, you need to allow OAI-SearchBot.
The critical column is "Executes JS." Most AI crawlers do not run JavaScript, which means they cannot see content rendered client-side.
What AI Crawlers Can See
AI crawlers discover your content through:
- Backlinks from indexed pages - If a page the crawler has already indexed links to you, it will follow that link
- Public URLs - Direct URLs shared in public spaces
- Sitemap.xml - Your sitemap tells crawlers which pages exist
- Structured data - JSON-LD helps crawlers understand content relationships
- User-shared links - URLs pasted into chat interfaces may trigger indexing
What AI Crawlers Cannot See
Most AI crawlers will not see:
- JavaScript-rendered content - SPAs that render content client-side appear empty
- Content behind authentication - Login-protected pages are not crawled
- Blocked paths in robots.txt - If you disallow the crawler, it will not index you
- Dynamically loaded data - Content fetched via API after page load
This is where the technical implementation matters.
Technical Requirements for AI Indexing
Allow AI Crawlers in robots.txt
First, make sure you are not blocking AI crawlers. Check your robots.txt file.
Allow OpenAI crawlers (for ChatGPT Search):
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Allow: /
User-agent: ChatGPT-User
Allow: /
Allow other AI crawlers:
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Applebot
Allow: /
Block specific paths (if needed):
User-agent: GPTBot
Disallow: /private/
Disallow: /admin/
- You can selectively block paths you do not want indexed while allowing the rest of your site.
- Some sites allow OAI-SearchBot (for appearing in ChatGPT Search results) while blocking GPTBot (to prevent training data collection).
Submit Your Site to Bing Webmaster Tools
ChatGPT Search uses Bing's index as one of its data sources. Getting indexed by Bing improves your chances of appearing in ChatGPT responses.
- Go to Bing Webmaster Tools
- Add and verify your site (via DNS, meta tag, or file upload)
- Submit your sitemap
- Monitor crawl status and fix any errors
- This is often overlooked. Many sites focus only on Google Search Console but ignore Bing. For ChatGPT visibility, Bing indexing matters.
Ensure Content is Crawlable
This is where most sites fail. If your site is a Single Page Application (SPA) built with React, Vue, or Angular, your content is rendered by JavaScript.
When an AI crawler visits your page, it sees this:
<!DOCTYPE html>
<html>
<head>
<title>My Site</title>
</head>
<body>
<div id="root"></div>
<script src="/assets/main.js"></script>
</body>
</html>
Use curl to simulate a crawler request:
curl -A "GPTBot" -H "Accept: text/html" https://your-site.com
- The crawler cannot execute the JavaScript that would populate the content. It indexes an empty page.
- If the response body contains only a <div id="root"></div> with no content, crawlers are not seeing your pages.
Serve Pre-rendered HTML to Crawlers
There are two ways to fix the SPA content visibility issue:
- Option A: Server-Side Rendering (SSR) - Migrate your application to a framework that supports SSR, like Next.js or Remix. This requires development work and may not be compatible with AI website builders like Lovable.
- Option B: Prerendering - Use a prerendering service that detects crawler requests and serves pre-rendered HTML. Your site remains an SPA for human visitors, but crawlers receive fully rendered HTML with all your content visible.
- Encited handles this automatically for sites built with Lovable and other AI website builders. When GPTBot, PerplexityBot, or ClaudeBot visits your site, they receive complete HTML instead of an empty shell.
Implement Structured Data
Structured data helps AI crawlers understand the context of your content. Add JSON-LD schemas to your pages.
Organization schema (homepage):
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Company",
"url": "https://your-site.com",
"description": "What your company does"
}
Article schema (blog posts):
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Article Title",
"author": {
"@type": "Person",
"name": "Author Name"
},
"datePublished": "2025-12-15",
"description": "Article description"
}
FAQ schema (for question-answer content):
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is prerendering?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Prerendering is the process of generating static HTML from JavaScript-rendered pages so crawlers can see the content."
}
}
]
}
- FAQ schema is particularly valuable for AEO because LLMs are designed to answer questions. If your content is structured as questions and answers, it maps directly to how users query AI chatbots.
Submit and Maintain Your Sitemap
Your sitemap.xml tells crawlers which pages exist. Make sure it is accessible, referenced, and up to date.
Reference in robots.txt:
# In robots.txt
Sitemap: https://your-site.com/sitemap.xml
- Accessible at https://your-site.com/sitemap.xml
- Referenced in your robots.txt
- Updated when you add or remove pages
- Contains only canonical URLs (your custom domain, not staging URLs)
Optimize Site Structure and Performance
AI crawlers, like traditional search crawlers, have limited time to spend on your site. A well-structured, fast-loading site gets crawled more thoroughly.
- Site structure: Use clear navigation with logical hierarchy, link related pages together with descriptive anchor text, keep important content within 3 clicks from the homepage, use descriptive URLs that indicate content topic.
- Performance: Compress images and use modern formats (WebP), minimize JavaScript bundle size, ensure mobile responsiveness, aim for fast time-to-first-byte (TTFB).
- Crawlers that encounter slow pages or confusing navigation may leave before indexing all your content.
Keep reading
Deeper dives into common SEO issues for Lovable-built sites.
Discovered – currently not indexed
Why Google finds your Lovable pages but won't index them, and how to fix it.
Read articleChecking crawl logs for Lovable sites
How to inspect what Googlebot, GPTBot and friends actually saw when they visited.
Read articleSurviving the Google sandbox period
Why thin, templated content tanks new Lovable sites — and what to publish instead.
Read articleSummary
If you're running an SPA, you're likely invisible to a large portion of the web. While Prerender.io is a powerful choice for those comfortable managing Cloudflare Workers and middleware, Encited offers a no-code alternative that combines pre-rendering with a full suite of audit tools to ensure your SEO is airtight.
Questions about pre-rendering? Checkout Encited