Join our community of websites already using SEOJuice to automate the boring SEO work.
See what our customers say and learn about sustainable SEO that drives long-term growth.
Explore the blog →Bijgewerkt mei 2026.
TL;DR: Lovable bouwt razendsnel prachtige sites, maar ze gaan vaak live met indexeringsfouten: ontbrekende sitemaps, client-rendered content, geblokkeerde assets of geen Search Console-verificatie. De snelste manier om elk Lovable-indexeringsprobleem op te sporen is de screenshot in GSC’s URL-inspectie. Ziet Google daar een leeg wit scherm, dan is al het andere op deze lijst irrelevant tot je dat hebt opgelost. De meeste gidsen beginnen bij sitemaps; ik vind dat de verkeerde volgorde.
Ik hielp vorige maand een vriend een weekend lang bij de lancering van zijn Lovable-project. De app zag er geweldig uit: strakke UI, snelle overgangen, precies het soort product waar je trots op bent. Maandagochtend appte hij: “Waarom staat het niet in Google?”
Dat gesprek werd een twee uur durende screenshare waarin we vijf afzonderlijke indexeringsproblemen oplosten. Sindsdien heb ik een handvol andere Lovable-bouwers (een freelance-dev, een SaaS-oprichter, een Notion-consultant) door exact dezelfde fixes geloodst. De issues zijn vrijwel altijd identiek en zien er op elke site die ik audit ongeveer hetzelfde uit. Dus schreef ik deze gids om jou (en mijn toekomstig ik) de screenshare te besparen. Audit je als bureau klantensites die op Lovable draaien, dan is de snelste show-stopper de URL-inspectie van de homepage; een geblokte /assets/-map komt zó vaak voor dat ik die eerst check bij een portfolioscan.
Maar eerst even reality-check: indexeren ≠ ranken. Dit onderscheid zorgt ervoor dat Lovable soms “traag” aanvoelt.
1. Indexeren betekent dat Google je pagina heeft gevonden en opgeslagen.
2. Ranken betekent dat Google vindt dat je pagina het verdient om voor een zoekopdracht te verschijnen.
Lovable-sites zijn client-side rendered (CSR) React-apps (React + Vite). Google kan CSR-sites indexeren, maar vaak in twee fases: eerst crawlt Google je initiële HTML, daarna komt het terug om JavaScript te renderen en de volledige content op te slaan. Gevolg: indexeren kan dagen duren in plaats van uren, ook al is technisch alles “prima”. De site van mijn vriend deed er vier dagen over — voor hem voelde dat eeuwig, maar het is normaal voor een nieuwe CSR-domain zonder backlinks. (Meer over hoe Lovable met bots en CSR omgaat vind je in de officiële Lovable SEO & GEO-documentatie; één keer volledig doorlezen loont.)
Het goede nieuws: Lovable-sites kunnen net zo goed ranken als andere moderne JavaScript-sites zolang de content goed laadt en cruciale resources niet geblokt zijn.
Je kunt een Lovable-project publiceren op:
een standaard-URL [your-project].lovable.app, of
een aangepast domein (alleen betaalde plannen; ik vergeet dat steeds weer wanneer een gratis gebruiker vraagt waarom hij geen domein kan koppelen).
Voor SEO raadt Lovable expliciet een aangepast domein aan, omdat je daarmee autoriteit opbouwt en één canonieke URL behoudt. Dat is precies wat ik ook adviseer. Subdomeinen op gedeelde platforms zie ik zelden domein-autoriteit opbouwen, zelfs niet na maanden consequent publiceren.
Als het kan, gebruik een custom domein en stel het in als primair domein (zodat andere domeinen hiernaartoe redirecten). Lovable ondersteunt zo’n primaire-domein-setup.
Ben je nog niet klaar voor een custom domein? Geen paniek, je lovable.app-site kan nog steeds geïndexeerd worden. Wees wel consistent: blijf bij één URL en wissel niet steeds van subdomein. (De eerste fout van mijn vriend: hij veranderde twee keer van subdomein vóór hij Search Console checkte. Elke keer zag Google een compleet nieuwe site en ging de indexeringstimer weer op nul.)
Voor je aan de stappen begint is het handig te weten welke van de drie opties je kiest. De meeste Lovable-sites blijven voor altijd op standaard CSR en scoren prima; sommige voegen prerendering toe zodra de content groeit; een klein deel migreert naar SSG wanneer SEO de hoofdbron van leads wordt.
| Aanpak | Inspanning | Snelheid indexering | Ideaal wanneer |
|---|---|---|---|
| Standaard CSR (Lovable out-of-the-box) | Laag. Alleen sitemap, robots, canonicals, GSC instellen. | Traag (dagen, soms weken voor dieper liggende pagina’s). | Marketing-sites tot ±20 pagina’s, landingspagina’s, MVP’s, alles waarbij SEO “mooi meegenomen” is. |
| Prerendering (Prerender.io, DataJelly, Rendertron) | Middel. Externe service + Cloudflare Worker of origin-proxy. Paar uur werk als je ervaring hebt, langer de eerste keer. | Sneller. Bots krijgen direct prerendered HTML. | Contentrijke sites, blog-funnels, AI-crawler-zichtbaarheid (ChatGPT/Perplexity/Claude). |
| SSG-migratie (SEO-routes weg van Lovable) | Hoog. Eigen build-pipeline; vaak aparte Next.js/Astro-project voor SEO-pagina’s terwijl Lovable de app blijft draaien. | Snelst. Vooraf gebouwde statische HTML. | SEO is primair acquisitiekanaal en je bent tegen de CSR-grenzen aangelopen. |
Eerlijk: ik heb standaard CSR-sites opgeleverd en mensen geholpen met prerendering, maar nog nooit zelf een Lovable-project volledig naar SSG gemigreerd. Het embeddable.co-artikel is de diepste walkthrough als je die route kiest. De rest van deze gids gaat uit van standaard CSR, wat voor de meeste lezers de juiste keuze is.
Controleer in de Publish-modal van Lovable dat je site openbaar is. Op Business/Enterprise-plannen kun je toegang beperken; staat hij op Workspace only/private, dan kan Googlebot niet crawlen. Klinkt logisch, maar één van de mensen die ik hielp had precies dit probleem: demo-toggle aan, vergeten terug te zetten.
Metadata stel je in de Publish-flow van Lovable in:
Icon & title
Description (meta-description voor zoekresultaten/preview)
Share image (OG-afbeelding)
Dit “forceert” geen indexering, maar voorkomt het volgende probleem: pagina’s die wel geïndexeerd zijn maar erbarmelijke titels en snippets tonen. Ik zag ooit een site in de SERP met als titel “Vite + React + TS”. Niet ideaal voor doorklikratio.
Wijzigingen in Lovable staan niet direct live. Je moet Publish en daarna Update klikken. Zo niet, dan blijft Google de oude versie zien.
sitemap.xml in Lovable (en test of hij laadt)Sitemaps zijn extra belangrijk voor CSR-apps omdat crawlers SPA-routes niet altijd via links ontdekken. De Lovable-agent kan een sitemap.xml genereren.
Create XML sitemap at /sitemap.xml listing all public routes. Include lastmod dates and priorities: homepage 1.0, main pages 0.8, blog posts 0.6.
Let op iets dat de officiële docs niet benadrukken: controleer de lastmod-datums. Soms krijgen alle pagina’s de generatie-datum, waardoor Google het freshness-signaal negeert.
Na publiceren:
Bezoek: https://jouwdomein.com/sitemap.xml
Controleer dat je XML ziet, geen fout of HTML-pagina
Check of belangrijke routes erin staan (home, hoofdpagina’s, blogs, productpagina’s)
Je moet de sitemap opnieuw genereren en indienen wanneer je pagina’s toevoegt of verwijdert. Mijn eerste keer ging dit mis: blogsectie toegevoegd, sitemap pakte het niet op.
robots.txt (blokkeer geen JS/CSS/assets)De meest voorkomende reden dat een Lovable-site niet indexeert is het per ongeluk blokkeren van precies de bestanden die Google nodig heeft om je site te renderen. Dit zie ik het vaakst en is het frustrerendst, omdat de site in jouw browser prima werkt.
Lovable’s docs zijn duidelijk: blokkeer nooit CSS, JavaScript of je /assets/-map in robots.txt; Google heeft die nodig voor CSR-rendering.
Create robots.txt at /public/robots.txt that allows all crawlers and references Sitemap: https://jouwdomein.com/sitemap.xml
(Pas de sitemap-URL aan.)
Na publiceren moet robots.txt bereikbaar zijn op:
https://jouwdomein.com/robots.txt
Is je site via meerdere URL’s bereikbaar (bijv. lovable.app én je eigen domein), dan ziet Google dat als duplicate content tenzij je een voorkeurs-URL aangeeft.
Canonical-tags lossen dit op. Lovable biedt hier een prompt voor.
Add canonical tags to all pages pointing to their own URLs. Use https://jouwdomein.com format with no trailing slash.
Open de pagina in een browser en voer uit:
console.log('Canonical:', document.querySelector('link[rel="canonical"]')?.href);
Controleer:
Precies één canonical per pagina
Hij matcht je voorkeursdomein (HTTPS, slash- en www-keuze)
Google Search Console is je dashboard voor indexering; hier breng ik veruit de meeste tijd door wanneer ik een Lovable-site debug. Mijn vriend had het niet eens ingesteld. We zagen niet wat Google met zijn pagina’s deed. Zolang GSC niet gekoppeld is, tast je in het duister. Zodra we GSC verbonden, zagen we dat Google drie pagina’s had gecrawld en bij alle drie faalde wegens geblokkeerde resources. Zonder GSC had hij wekenlang gegokt.
Met GSC kun je:
sitemaps en URL’s indienen,
dekkingsrapporten bekijken,
en via URL-inspectie zien wat Google ziet (de screenshot is de nuttigste diagnose, zie Google’s URL-inspectie-docs).
Voeg in Search Console de property toe van de URL die je wilt indexeren.
Google eist verificatie voor je indexeringssignalen kunt beheren. Drie methoden zijn praktisch voor Lovable:
| Methode | Moeilijkheid | Ideaal wanneer | Opmerkingen |
|---|---|---|---|
| DNS TXT | Middel (DNS-toegang bij registrar nodig) | Je hebt een custom domein en DNS-toegang. | Enige methode die een “Domain property” maakt in GSC; dekt alle subdomeinen en protocollen. Overleeft rebuilds. Aanbevolen. |
| Meta-tag | Laag | Geen DNS-toegang maar wel <head> kunnen bewerken via Lovable-agent. |
Werkt, maar slechts voor één URL-prefix; bij rebuild opnieuw nodig. |
| HTML-bestand upload | Laag | Je kunt een bestand in /public plaatsen en wilt DNS niet aanraken. |
Zelfde één-prefix-beperking als meta-tag; bestand kan later per ongeluk verwijderd worden. |
Ik kies standaard DNS TXT als ik toegang heb. Meta-tag is prima voor eenmalig, maar ik heb het twee keer opnieuw moeten doen na rebuilds; DNS gaat nu automatisch.
Lovable noemt DNS TXT expliciet de aanbevolen methode; Google zegt dat dit de enige manier is om een “Domain property” te verifiëren.
<head> kunt bewerken)Voorbeeld uit de Lovable-docs:
<meta name='google-site-verification' content='YOUR_CODE' />
Prompt-voorbeeld (plakken in Lovable):
Add GSC verification meta tag: <meta name='google-site-verification' content='YOUR_CODE' /> to the <head>
Google kan een verificatiebestand geven. Plaats het in /public zodat het bereikbaar is op https://jouwdomein.com/[bestandsnaam].
Na verificatie:
Ga naar Sitemaps
Voer in: https://jouwdomein.com/sitemap.xml
Klik Submit
Google kan 24–48 uur nodig hebben om een nieuwe sitemap te verwerken. In de praktijk varieert dit: op oude domeinen zag ik dezelfde dag al rapporten; op gloednieuwe duurde het dagen. De GSC-UI maakt dit verwarrender dan nodig; mensen denken vaak dat ze iets fout doen. Nee: URL indienen en wachten.
Dit beantwoordt het snelst de vraag:
“Ziet Google mijn content of een lege CSR-shell?”
Herinner je het verschil indexeren vs ranken? Stap 7 laat je het indexdeel direct zien. Als URL-inspectie een wit scherm toont, ben je nog niet aan ranking toe en helpt geen enkele on-page- of link-tactiek totdat Google kan renderen. Ik begin altijd hier bij indexeringsproblemen. Vergeet sitemap, vergeet robots.txt: ga rechtstreeks naar URL-inspectie en bekijk de screenshot. Ziet Google een blanco pagina, dan is alles anders ondergeschikt.
Ik besteed hier meer ruimte aan dan aan andere stappen omdat dit de hoogste leverage heeft. Onderstaande tijdlijn is wat elke Lovable-oprichter moet inprenten vóór hij andere variabelen achterna jaagt.
Met URL-inspectie kun je:
checken of Google echte content ziet (niet leeg),
CSR-renderingfouten diagnosticeren,
zien of JS/CSS-resources geblokkeerd zijn.
Voor elke belangrijke pagina:
Plaats de URL in het URL Inspection-veld
Klik Test Live URL
Open View Tested Page en controleer:
screenshot van Googlebot
gerenderde HTML
console-fouten
geblokkeerde resources
Klik Request Indexing voor nieuwe of geüpdatete pagina’s (quota-beperkt)
Google benadrukt:
Je moet verified owner of full user zijn
Er is een quotum
Herhaald aanvragen van dezelfde URL versnelt niets
Ik leerde dit the hard way: vijf keer achter elkaar “Request Indexing” klikken leek me extra duwtjes geven. Nee, één keer is genoeg.
Bij mijn vriend: dag 1 had GSC nul geïndexeerde pagina’s en toonde URL-inspectie een wit vlak met laadspinner. Google crawlde de HTML-shell maar renderde JS niet. Zijn robots.txt blokkeerde /assets/, waar alle CSS en JS stonden. Indexeren vs ranken? Hij was nog niet eens geïndexeerd.
We repareerden robots.txt, regenereerden zijn sitemap (die alleen root bevatte), voegden canonicals toe en klikten “Request Indexing” op vijf kernpagina’s. Toen wachten.
Dag 2: niets. Ik zei hem te stoppen met refreshen.
Dag 4: homepage in de index. URL-inspectie liet een volledig gerenderde pagina zien. Navigatie, hero, product-shots, alles. Het verschil tussen dag 1 (wit) en dag 4 (vol) was frappant. Exacte content, enige verandering: Google kon het nu zien.
Dag 10: alle vijf prioriteitspagina’s geïndexeerd. De /pricing-pagina rankte binnen twee weken op “[productnaam] pricing”. Geen magie, gewoon basics goed doen. Totale fix: een middag geconcentreerd werk (inclusief wat klaagzang over waarom dit niet automatisch is, waar ik begrip voor heb).
Ik beschrijf deze tijdlijn om verwachtingen te managen. Dit is één site; jouw curve lijkt erop, maar hangt af van domeinleeftijd, crawlhistorie en hoe schoon je fixes zijn. Los je vandaag alles op, verwacht dan niet eerder dan later in de week resultaat. CSR-indexering is traag, maar werkt.
CSR indexeert meestal goed, maar er zijn voorspelbare struikelblokken. Dit zijn de grote die indexering stoppen of vertragen. Ik heb ze allemaal in echte Lovable-projecten gezien.
Symptomen:
URL-inspectie-screenshot is leeg
Gerenderde HTML bevat je content niet
Fixes:
Controleer dat robots.txt JavaScript, CSS en /assets/ niet blokkeert
Gebruik URL-inspectie > View Tested Page om geblokkeerde resources en console-fouten te vinden
Bestaat een pagina alleen als “route” in je SPA en:
is hij nergens gelinkt, en
staat hij niet in de sitemap, dan ontdekt Google hem mogelijk nooit.
Fix:
Update sitemap.xml zodra je pagina’s wijzigt (Lovable doet dit niet automatisch).
In CSR-apps ververst metadata niet vanzelf tussen routes tenzij je dit implementeert. Lovable adviseert react-helmet-async te installeren en unieke titles/descriptions per route te zetten.
Waarom belangrijk voor indexering: Word je wel geïndexeerd, dan lijken pagina’s identiek voor crawlers (en in SERP), wat kwaliteitssignalen en CTR schaadt. Ik zag een site waar alle twaalf pagina’s dezelfde title-tag hadden. Elke SERP-vermelding zag er gelijk uit.
Interne links tellen. Lovable adviseert:
Gebruik echte <a href>-links (geen click-handlers)
Maak diepe pagina’s bereikbaar binnen ±3 klikken vanaf home
Zet footerlinks naar kernpagina’s site-breed
Waarom: Interne links zijn voor Google een grote ontdek-methode. Een perfecte sitemap helpt, maar crawlbare navigatielinks blijven cruciaal. In React bouw je makkelijk navigatie die voor gebruikers top is maar voor Googlebot onzichtbaar, omdat links click-handlers zijn in plaats van anchors.
Bouw je veel content, publiceer je veel pagina’s of zit je in een competitieve niche, dan kan prerendering lonen. Het levert bots HTML-snapshots terwijl mensen de JS-app zien.
Volgens Lovable:
zorgt prerendering voor snellere indexering en betere AI-crawler-zichtbaarheid,
zit het niet standaard ingebouwd,
kun je het toevoegen via Prerender.io, DataJelly of Rendertron.
Eerlijk: ik heb nog geen volledige Lovable->Prerender.io-migratie gedaan. Ik hielp klanten op basis van documentatie; de tabel hierboven is wat ik hen vertel. Niet elke Lovable-site heeft dit nodig, maar zodra je >20 pagina’s wilt laten ranken, wordt het de moeite waard.
Gebruik dit vóór (en na) je iets in Search Console indient. Ik heb deze checklist gebookmarked voor elke nieuwe Lovable-site.
Site is gepubliceerd en openbaar toegankelijk (niet Workspace-only/private).
Ik heb opnieuw gepubliceerd/updated na mijn laatste wijzigingen.
https://mijndomein.com/sitemap.xml laadt geldige XML en bevat alle belangrijke routes.
https://mijndomein.com/robots.txt laadt, bevat een Sitemap:-regel en blokkeert geen CSS/JS//assets/.
Canonicals bestaan en wijzen naar mijn voorkeursdomeinvariant.
Belangrijke pagina’s zijn gelinkt via echte <a href>-links en bereikbaar vanaf de homepage.
Property toegevoegd voor het juiste domein (custom domein verdient de voorkeur).
Eigendom geverifieerd (DNS TXT aanbevolen wanneer mogelijk).
Sitemap ingediend in GSC.
Prioriteitspagina’s getest via URL-inspectie, daarna Test Live URL > View Tested Page.
“Request indexing” alleen gebruikt voor sleutelpagina’s (quota).
/assets/ blokkeren in robots.txtBreekt rendering voor CSR-apps. Lovable waarschuwt hier expliciet voor.
Fix: assets toestaan, opnieuw testen met URL-inspectie.
Sitemaps updaten niet vanzelf. Je moet ze opnieuw genereren en indienen.
Fix: sitemap updaten, opnieuw indienen.
Fix: kies één canonieke URL-strategie (HTTPS, met/zonder www) en stem af:
canonical-tags
primary-domain-redirects
GSC-property
Een subdomein in Lovable veranderen mag, maar geeft Google een nieuwe URL, dus een nieuwe site.
Fix: stabiliseer je URL vóór serieuze SEO. Verander je toch, voeg dan de nieuwe property toe en dien de sitemap opnieuw in.
Google is duidelijk: crawlaanvraag garandeert geen directe opname; crawlen kan dagen tot weken duren afhankelijk van kwaliteit en systemen.
Lovable zegt: uren tot een paar dagen, te versnellen met sitemap-indiening, URL-inspectie en Request Indexing voor prioriteitspagina’s. Google zegt: enkele dagen tot weken afhankelijk van omstandigheden en kwaliteit. In mijn praktijk: homepage meestal dagen tot twee weken; diepere pagina’s langer. Geen harde benchmark, wel richting.
Ja. Lovable stelt dat hun apps net zo kunnen ranken als andere moderne JS-sites zolang de content correct laadt en cruciale resources niet geblokt zijn.
Sterk aanbevolen. Lovable zegt dat sitemaps extra belangrijk zijn voor CSR-sites omdat crawlers niet alle routes vinden. Ik ga verder: het is praktisch verplicht. Zonder sitemap vertrouw je puur op link-discovery, onbetrouwbaar voor SPA’s.
Is hij openbaar (niet Workspace-only)?
Laadt sitemap.xml?
Blokkeert robots.txt JS, CSS of assets?
Ziet GSC URL-inspectie echte content of een wit scherm?
Vaak een CSR-render-issue: geblokkeerde resources, JS-fouten of Googlebot kan je app niet renderen. Diagnose via URL-inspectie > View Tested Page.
Als je veel pagina’s publiceert, snellere indexering wilt of betere bot/AI-zichtbaarheid zoekt. Prerendering helpt, maar vereist externe setup (niet standaard).
no credit card required
No related articles found.