Rocket made of code elements launching through search result pages with Lighthouse Score 100

    Vibe Coding & SEO: Why AI-Generated Apps Stay Invisible – And How We Fix It

    14. April 20266 min read
    Till Freitag

    TL;DR:Vibe Coding produces SPAs – and SPAs are invisible to Google. Our stack (Lovable + GitHub + Vercel + Playwright SSG) solves the problem. Lighthouse 100, proven on our own website."

    Till Freitag

    The Elephant in the Room

    Vibe Coding is fantastic. You describe what you want, and you get a working app. Lovable, Bolt, Replit, v0 – the tools are getting better, faster, cheaper.

    But they all share the same problem: Google can't see your app.

    Every one of these tools generates Single Page Applications (SPAs). The server delivers an empty index.html. JavaScript renders the content in the browser. This works for users – but not for:

    • Search engines: Googlebot gets a blank page
    • Social previews: LinkedIn, Twitter, WhatsApp show no title, no image
    • Core Web Vitals: First Contentful Paint is slow because JS must load first
    • Accessibility: Screen readers see no initial content

    This isn't a bug. It's an architectural problem baked into the DNA of Vibe Coding tools.

    Why Vibe Coding Tools Generate SPAs

    The explanation is simple: SPAs are the easiest way to generate interactive apps. React, Vue, Svelte – all modern frameworks work this way. And AI code generation works best with React components.

    The problem: what's optimal for app logic is catastrophic for content-driven websites.

    SPA (Standard Vibe Coding)SSG (Our Stack)
    Googlebot seesEmpty pageComplete HTML
    First Contentful Paint2-4 seconds< 0.5 seconds
    OG tags for social❌ Missing✅ Individual per page
    Lighthouse Score40-7095-100
    JSON-LD Schema❌ Manual✅ Auto-generated
    Canonical URLs❌ Often wrong✅ Correct per route

    Our Stack: The Playbook

    We've shipped over 50 projects with this stack in production. The architecture is battle-tested:

    1. Lovable → Generation

    Lovable generates the app: React components, routing, UI, business logic. This is where the actual vibe coding magic happens. We use Lovable as a primary development tool – not as a hosting platform.

    2. GitHub → Version Control & CI

    The generated code gets pushed to a GitHub repository. This gives us:

    • Git history: Every change is traceable
    • Branch strategy: Feature branches, pull requests, reviews
    • CI pipeline: Automated tests, linting, build checks
    • Code ownership: The code belongs to you, not the platform

    3. Playwright SSG → The SEO Bridge

    This is our secret sauce. At build time:

    1. Playwright launches a headless browser
    2. Renders every route of the SPA
    3. Extracts the complete HTML after React rendering
    4. Saves it as a static HTML file

    The result: every URL has its own, fully rendered HTML – with meta tags, OG data, JSON-LD schema, and complete content. Googlebot gets exactly what the user sees.

    4. Vercel Edge → Delivery

    Vercel deploys the static HTML files to its edge network. This means:

    • < 50ms TTFB worldwide
    • ISR (Incremental Static Regeneration) for dynamic content
    • Edge Functions for API routes
    • Automatic CDN with cache invalidation

    The Combined Effect

    Lovable (SPA) → GitHub → Playwright (SSG) → Vercel (Edge)
         ↓              ↓           ↓                ↓
      Generation    Ownership   SEO-Ready      Performance

    What We Auto-Generate

    SEO is more than fast load times. Our stack generates at every build:

    Structured Data (JSON-LD)

    • Organization Schema with service catalog and geo-targeting (DACH region)
    • BlogPosting Schema with automatic wordCount, author references, breadcrumbs
    • Event Schema for events (with offers field – even for invite-only events)
    • BreadcrumbList with structured item objects (no bare-string hacks)
    • ProfessionalService for local visibility

    Per-Route Meta Tags

    • <title> and <meta description> – individual per page
    • Open Graph tags (og:title, og:image, og:description)
    • Twitter Cards
    • Canonical URLs
    • hreflang tags for multilingual sites (DE/EN)

    Technical SEO

    • Automatic sitemap.xml with lastmod dates
    • robots.txt with crawl directives
    • Lazy loading for images (except LCP image)
    • Semantic HTML with correct H1-H6 hierarchy
    • Alt text on all images

    The Proof: Our Own Website

    We don't just talk about it – our own website is built with exactly this stack.

    till-freitag.com is a Lovable-generated SPA, converted to static HTML via our Playwright SSG workflow and deployed on Vercel Edge.

    The numbers:

    MetricValue
    Lighthouse Performance95-100
    Lighthouse SEO100
    Lighthouse Accessibility95+
    TTFB< 50ms (EU)
    FCP< 0.8s
    CLS0.00
    Indexed pages200+
    Blog articles150+ (Markdown, build-time rendering)

    This isn't a proof of concept. This is production – with real traffic, real rankings, real conversions.

    Why Other Stacks Can't Do This

    Lovable Hosting Direct

    Lovable hosting delivers an SPA. Period. No SSG, no edge, no individual meta tags. For internal tools and dashboards, that's fine. For anything Google needs to find: not enough.

    Bolt / Replit / v0

    Same problem. These tools are fantastic for prototyping and app generation – but they don't solve the SEO problem. They produce SPAs, and SPAs need a rendering strategy.

    Framer / Webflow

    Better at SEO, but: lock-in. No code export, no git history, limited customization. And Core Web Vitals aren't always as good as the marketing promises.

    Next.js / Nuxt Manually

    Technically the best solution – but then you're back to traditional development. The speed advantage of Vibe Coding is lost.

    Our stack is the only one that combines Vibe Coding speed with production-grade SEO.

    How We Help

    For Existing Vibe Coding Projects

    You built an app with Lovable, Bolt, or v0 and it doesn't rank? We make it SEO-ready:

    1. Audit: Where does the app stand? Lighthouse, indexing, schema errors
    2. Migration: Code to GitHub, SSG pipeline setup, Vercel deployment
    3. Optimization: Meta tags, schema, sitemap, performance tuning
    4. Monitoring: Ongoing SEO tracking and Core Web Vitals

    For New Projects

    We build it right from the start:

    • AI-native web development with the Lovable + GitHub + Vercel stack
    • SEO architecture from day 1 – not as an afterthought
    • Multilingual support (DE/EN) with hreflang and separate content strategies
    • Blog system with Markdown and automatic schema

    For Teams Who Want to DIY

    We offer workshops and enablement:

    • Vibe Coding best practices for SEO
    • SSG pipeline setup and configuration
    • Schema markup and structured data
    • Core Web Vitals optimization

    The Checklist: Is Your Vibe-Coding App SEO-Ready?

    Check these 10 points:

    • Rendering: Is HTML served statically or server-side?
    • Meta tags: Does every page have individual title and description?
    • OG tags: Does LinkedIn/Twitter show a preview?
    • Canonical URLs: Does every page have a correct canonical?
    • Sitemap: Does an up-to-date sitemap.xml exist?
    • Schema: Is there JSON-LD structured data?
    • Lighthouse: Is the performance score above 90?
    • CLS: Is Cumulative Layout Shift under 0.1?
    • Mobile: Does the site work at 390px width?
    • Indexing: Are all important pages indexed in Google?

    If you answered "No" to more than 3: You need our stack.

    The Bigger Picture

    Vibe Coding isn't going away. It's getting better, faster, more accessible. But the SEO gap won't close on its own.

    The tools optimize for developer experience – not for Google. And as long as that remains true, there needs to be a bridge between what Vibe Coding generates and what search engines expect.

    We built that bridge. It works. And we're making it available for every project.


    Your vibe-coding app is invisible to Google? Let's change that →

    TeilenLinkedInWhatsAppE-Mail

    Related Articles

    Google Search Console dashboard with performance graphs and coverage reports
    April 14, 20265 min

    Google Search Console for Vibe Coding Projects: Setup, Debugging & Indexing

    Your Lovable app is live on Vercel – but Google isn't indexing anything? How to set up Search Console, debug crawling is

    Read more
    Social media preview cards with OG-Image meta tags floating in dark space
    April 14, 20264 min

    OG-Image Best Practices for SPAs: Making Your Vibe Coding Projects Shareable

    When you share a link from your Lovable app, LinkedIn shows an empty box. Why SPAs don't deliver social previews – and h

    Read more
    Pipeline diagram with three stations: Lovable, GitHub, Vercel
    April 14, 20264 min

    Lovable → GitHub → Vercel: The Complete Deployment Flow for SEO-Ready Apps

    Lovable generates the app, GitHub versions the code, Vercel delivers with < 50ms TTFB. This guide shows the complete flo

    Read more
    Headless browser rendering SPA pages as static HTML for search engines
    April 14, 20266 min

    Playwright SSG Tutorial: How to Make Lovable Apps Visible to Google

    SPAs are invisible to search engines. With Playwright, you can render any Lovable app into static HTML – automated, on e

    Read more
    AI Website Builder Comparison – Framer, Webflow AI, Wix AI, Durable, and Lovable Stack SEO test
    April 10, 20266 min

    AI Website Builder Compared: Framer vs. Webflow AI vs. Wix AI vs. Durable vs. Lovable Stack

    Five ways to build a website compared on SEO: Framer, Webflow AI, Wix AI, Durable – and the Lovable + GitHub + Vercel st

    Read more
    Cloudflare and Vercel head-to-head – two edge platforms, two philosophies
    June 4, 20265 min

    Cloudflare vs. Vercel – Which One Should You Use When?

    Vercel or Cloudflare? Both host your modern web app at the edge – but they pursue fundamentally different strategies. We

    Read more
    Prerendering pipeline visualization: SPA, Playwright, Schema.org and edge deploy
    April 29, 20263 min

    Prerendering: How to Turn a React SPA Into a Google-Friendly Site

    React SPAs are invisible to crawlers. Prerendering fixes that – without Next.js, without an SSR server. How our Playwrig

    Read more
    Lovable vs. Bolt vs. v0 – Which AI Web Builder Is Right for You?
    February 24, 20264 min

    Lovable vs. Bolt vs. v0 – Which AI Web Builder Is Right for You?

    Lovable, Bolt.new, or v0? We compare the three most popular AI web builders – with honest assessments, pricing, and clea

    Read more
    Classic drag-and-drop website builder blocks compared to an AI-native website stack
    June 13, 20263 min

    Website Builders vs. AI-Native Stack: Which Path Wins in 2026?

    Wix, Squarespace, Jimdo & co. vs. an AI-native stack with Lovable, Cloud and edge hosting – when does each really pay of

    Read more