Uncategorized · 4 min leestijd
Scaled content abuse op een vibe-coded site
Google straft programmatische paginas op URL-patroon met een handmatige actie. Waarom vibe-coded sites extra vatbaar zijn en wat je vóór de deploy checkt.

Je hebt Claude Code een loop laten draaien. Voor elke stad in Nederland een pagina, voor elke combinatie van dienst en plaats nog één, en na een nacht staan er 3.100 URL’s in je sitemap. Lovable deployt ze zonder morren. Drie maanden later opent iemand Search Console en ziet een rode cirkel: “Ernstige spamproblemen”, betreft “Pagina’s met het URL-patroon /[dienst]/[plaats]/“.
Dat is het scenario waar Google sinds deze zomer handmatig op straft. Het heet scaled content abuse, en vibe-coded sites zijn er extra vatbaar voor, om een simpele reden: een pagina genereren kost in Lovable of Claude Code net zo weinig als er duizend genereren.
Waarom het patroon je verraadt, niet de tekst
Kijk naar hoe Google de straf formuleert: “Pages with the URL pattern”. Google leest niet 3.100 pagina’s om te beslissen of ze goed zijn. Google ziet een route met duizenden URL’s die dezelfde opbouw hebben, dezelfde koppen, en per pagina alleen een andere plaatsnaam op de open plekken. Dat is het signaal. Of je tekst mooi is doet er dan niet meer toe.
Google noemt in het beleid vijf voorbeelden. Voor een vibe-coded site zijn er twee relevant. “Using generative AI tools to generate many pages without adding value for users” is de loop hierboven. En “creating multiple sites with the intent of hiding the scaled nature of the content” is de tweede fout die ik nu vaker zie: iemand splitst zijn 3.000 pagina’s over vier domeinen, want dan valt het minder op. Google zet dat letterlijk in de lijst als spam.
Programmatische pagina’s die wél mogen
Programmatic SEO is niet verboden. Een pagina per stad is prima als die pagina iets bevat dat alleen over die stad gaat en dat je niet uit een template kunt halen. Een concrete test die ik gebruik: haal de plaatsnaam uit de tekst. Blijft er een pagina over die je op elke andere stad kunt plakken, dan is het geen pagina, dan is het een sjabloon met een variabele.
Wat wel werkt is een echte datalaag per URL. Openingstijden die je uit een register haalt. Prijzen die je zelf meet. Een tabel die per stad andere getallen laat zien omdat de bron per stad anders is. Bouw je met Claude Code, laat hem dan de data ophalen en de pagina daar omheen zetten, niet de tekst verzinnen en de stad invullen.
En de pagina’s die geen eigen data hebben? Die zet je op noindex. Google schrijft het zelf: “if you’re hosting such content on your site, exclude it from Search.” Je hoeft ze niet weg te gooien, je moet ze uit de index houden. Hoe dat werkt op een Lovable-site staat in noindex of canonical.
Nul treffers op 179 properties bewijst nog niets
Ik heb op 4 september 179 properties in mijn eigen accounts nagekeken op handmatige acties. Nul treffers. Maar daar zitten ook sites tussen met een paar honderd AI-geholpen artikelen, en ik kan niet zeggen of die veilig zijn omdat ze goed zijn, of omdat Google er nog niet naar keek. Iedereen die je nu belooft dat “X artikelen per week” veilig is, gokt. Ik ook. Het enige harde is: de straf komt op een URL-patroon, dus hoe minder je site eruitziet als een patroon, hoe minder je te vrezen hebt.
Voor je de volgende batch deployt
Open Search Console en klik onder “Beveiliging en handmatige acties” op “Handmatige acties”. Als je dat nog nooit hebt gedaan bij een vibe-coded site: doe het nu, vóór je de sitemap weer aanvult. Een handmatige actie komt niet in je Lovable-dashboard en niet in je terminal. Die staat alleen daar.
Zie je een rode cirkel, dan is het pad: de map opruimen (noindex of verwijderen), en daarna een verzoek tot heroverweging met drie dingen erin: wat het probleem was, wat je hebt gedaan, en wat het resultaat is. Google rekent op dagen tot weken en waarschuwt dat je niet opnieuw indient zolang er een verzoek openstaat.
Is je site schoon maar staat hij nog niet in Google, dan is dat een ander probleem, en dat staat in Lovable-site niet in Google: indexering oplossen. En twijfel je of Search Console gewoon achterloopt, lees dan eerst Search Console loopt achter: vertraging of echt probleem.
Het volgende meetpunt is de eerstvolgende spam-update. Raakt die ook sites met honderden in plaats van duizenden gegenereerde pagina’s, dan verschuift de grens, en dan moet elke programmatische route op een vibe-coded site opnieuw langs de plaatsnaam-test.

