Kennisbank · SEO + GEO

Vibecoding & SEO

Een vibecoded app die er goed uitziet maar niet vindbaar is, levert geen klanten op. De meeste apps gebouwd met Lovable, Cursor of Bolt missen vijf SEO/GEO-fundamenten. Dit is wat er ontbreekt — en wat we standaard inbouwen om dat op te lossen.

Belangrijkste punten

  • Standaard vibecoded apps zijn vaak client-side rendered → onzichtbaar voor crawlers
  • Vijf gaten: SSR, metadata, sitemap, structured data, llms.txt
  • SEO + GEO samen: Google én ChatGPT/Perplexity
  • Inbouwen vanaf sprint 1 voorkomt 80% van het herstelwerk later

Het probleem: snelheid zonder fundament

Vibecoding-platforms genereren standaard moderne client-side React-apps. Mooi voor demos, slecht voor SEO: Googlebot moet JavaScript uitvoeren om je content te zien, indexatie loopt achter en metadata is overal gelijk. Voeg toe dat er geen sitemap.xml, geen structured data en geen llms.txt is — en je app is in de praktijk onvindbaar in zowel Google als ChatGPT.

Gat 1 — Server-Side Rendering (SSR)

Zonder SSR ziet Googlebot een lege HTML-pagina en moet de JavaScript uitvoeren om je content te lezen. Dat lukt vaak, maar laat en inconsistent. Oplossing: bouw met een framework dat SSR standaard heeft — TanStack Start, Next.js of Remix. Lovable ondersteunt TanStack Start; wij zetten dat als default in.

Gat 2 — Unieke metadata per pagina

Veel vibecoded apps tonen op elke route dezelfde title en description ('Lovable App', 'Generated Project'). Voor SEO is unieke title (max 60 tekens, met keyword), unieke description (max 160 tekens) en canonical-link per route essentieel. Plus og:title/description voor social shares.

Gat 3 — Sitemap en robots.txt

Een sitemap.xml met al je publieke routes vertelt Google welke pagina's te indexeren. Een robots.txt voorkomt dat admin- of dev-pagina's in de index belanden. Beide zijn 30 minuten werk — en standaard afwezig bij verse vibecoded apps.

Gat 4 — Structured data (JSON-LD)

JSON-LD schema's (Organization, Article, FAQPage, BreadcrumbList, Service) maken je content begrijpelijk voor zoekmachines én AI-modellen. Ze leveren rich results in Google en verhogen de kans dat ChatGPT of Perplexity je citeert. Toevoegen per route via TanStack Start's head() is een eenmalige inspanning met permanent rendement.

Gat 5 — GEO-laag (llms.txt en citeerbare content)

GEO gaat verder dan SEO. Een llms.txt vertelt AI-crawlers welke pagina's relevant zijn. Citeerbare content-blokken (definities vooraan, cijfers, FAQ's) maken de kans op citatie door ChatGPT en Perplexity groter. Voor een nieuwe app is dit het verschil tussen 'verschijnt in maand 6' en 'verschijnt in week 2'.

Wat wij standaard inbouwen

In elk vibecoding-traject zit vanaf sprint 1: TanStack Start als SSR-fundament, per-route metadata via head(), automatische sitemap.xml, JSON-LD voor alle relevante content-types, llms.txt, robots.txt, Core Web Vitals monitoring en een AI-visibility check voor go-live. Geen meerwerk achteraf.

Veelgestelde vragen

Worden vibecoded apps geïndexeerd door Google?+

Niet automatisch. De meeste standaard-templates van vibecoding-platforms genereren client-side rendered React-apps zonder server-side rendering. Googlebot kan dit deels indexeren, maar belangrijke pagina's worden vaak gemist of laat geïndexeerd. Met een SSR-framework (TanStack Start, Next.js) los je dit op.

Wat is het verschil tussen SEO en GEO voor vibecoded apps?+

SEO zorgt dat je app verschijnt in Google's zoekresultaten. GEO (Generative Engine Optimization) zorgt dat je app als bron geciteerd wordt door ChatGPT, Perplexity en Google AI Overviews. Voor een vibecoded product heb je beide nodig — Google brengt klassiek verkeer, AI brengt steeds meer informatieve queries.

Welke SEO-basics mist een typische vibecoded app?+

Vijf veelvoorkomende gaten: (1) geen server-side rendering, (2) generieke meta-tags ('Lovable App'), (3) geen sitemap.xml of robots.txt, (4) geen JSON-LD structured data, (5) geen llms.txt of GEO-laag. Stuk voor stuk fixeerbaar — maar pas na herkenning.

Hoe maak je een Lovable-app SEO-proof?+

Stappen: gebruik TanStack Start (SSR), zet per route unieke title/description/canonical via head(), genereer een sitemap.xml met alle publieke routes, voeg JSON-LD toe (Organization, Article, FAQPage), maak een llms.txt en zorg dat Core Web Vitals groen staan. Dit is precies wat wij standaard inbouwen.

Verder lezen

Ready?

Klaar om gespot te worden?

Plan een gratis kennismaking van 30 minuten. We kijken mee naar je huidige vindbaarheid en vertellen eerlijk wat we zouden doen — wel of geen samenwerking.

Stuur ons een bericht