Encited JournalVol. I · No. 01Thursday, July 16, 2026

    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.

    By Fellow Lovable vibe coder · 5 min read

    Single Page Applications (SPAs) built with frameworks like React, Vue, or Angular provide a slick user experience, but they have a "blank page" problem.

    BEFORE
    <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>
    Search crawlers see only the shell html
    AFTER
    <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>
    Crawlers see fully rendered content

    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.

    Perfect for developers & founders

    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
    Best for teams with dedicated DevOps

    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)

    Feature
    Pre-rendering(e.g., Encited)
    Server-Side Rendering(SSR)
    Complexity

    How difficult is it to set up and maintain?

    Low
    High
    Performance

    What type of content does it handle best?

    Best for static/semi-static content
    Best for highly dynamic, user-specific data
    Server Load

    How much does it tax your servers?

    Low
    High
    SEO Tools

    Are SEO auditing tools included or separate?

    Often included (Audit, Spider)
    Manual setup for every metric

    Why It's Non-Negotiable

    1

    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.

    2

    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.

    3

    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.

    Part 2

    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 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

    1

    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).
    2

    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.
    3

    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.
    4

    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.
    5

    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.
    6

    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)
    7

    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.

    Summary

    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