Je hebt een WordPress-site, alles staat live, maar Google laat je niet zien. Geen enkele pagina in de zoekresultaten. Dat is geen pech, dat is bijna altijd een verkeerd robots.txt-bestand. Eén verkeerd regeltje en je hele site verdwijnt uit de index. Ik heb het te vaak zien gebeuren bij klanten die zelf hun site beheren.
Een robots.txt is niks meer dan een tekstbestand in de root van je domein. Het vertelt crawlers van zoekmachines welke paden ze mogen negeren. Geen geheimzinnige code, geen plugin die het voor je regelt. Gewoon platte tekst die je in één minuut verprutst.
Wat een robots.txt-bestand precies doet (en niet doet)
Je kunt er specifieke mappen mee blokkeren, zoals /wp-admin/ of /wp-content/plugins/. Handig, want die mappen hebben niks in de zoekresultaten te zoeken. Maar het is geen slot op de deur. Het is een verkeersbord. Een crawler die lak heeft aan je bord, rijdt gewoon door.
Google zegt het zelf: een robots.txt uitsluiting is geen garantie. Een pagina die geblokkeerd is in robots.txt kan alsnog in de index belanden als er ergens een link naar wijst. Dat is geen bug, dat is hoe het werkt.
Wat het wel doet: het houdt nette crawlers weg uit mappen waar ze niks te zoeken hebben. En het houdt je sitemap vindbaar als je die erin vermeldt.
Het standaard WordPress robots.txt dat je vaak ziet (en waarom het fout kan zijn)
Een voorbeeld dat veel mensen klakkeloos kopiëren:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: /trackback/
Disallow: /comments/feed/
Disallow: /tag/
Disallow: /category/
Disallow: /author/
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/feed/
Sitemap: https://www.jouwwebsite.nl/sitemap_index.xml
Ziet er netjes uit. Toch zitten er twee dikke fouten in die je ranking slopen.
Ten eerste: Disallow: /category/ en Disallow: /tag/. Daarmee blokkeer je je eigen archiefpagina’s. Die pagina’s kunnen prima ranken op longtail-zoekwoorden. Zet je ze dicht, dan verlies je verkeer. Punt.
Ten tweede: Disallow: /author/. Bij eenmansblogs prima, maar bij meerdere auteurs kan een auteurspagina autoriteit opbouwen. Blokkeren is dan een gemiste kans.
De fout die je site onzichtbaar maakt
De grootste fout is Disallow: /. Eén regel. En Google ziet niks meer. Ik heb het gezien bij iemand die dacht dat hij alleen de homepage blokkeerde. Hij blokkeerde alles. Drie weken later stond hij nog steeds niet in de zoekresultaten.
Een andere klassieker: Disallow: /* of een verkeerd geplaatst sterretje. Wildcards werken alleen aan het eind of begin van een pad. Zet je een ster midden in een pad, dan matcht hij niks of juist alles.
En dan de sluipmoordenaar: je hosting zet automatisch een robots.txt neer die je zelf nooit hebt gemaakt. Check altijd of je echt naar jouw bestand kijkt en niet naar dat van je provider.
Hoe je een gevaarlijk robots.txt herkent in 30 seconden
Typ je domein + /robots.txt in de browser. Je ziet direct wat crawlers zien. Staat er Disallow: /? Weg ermee. Staat er een pad dat je belangrijk vindt? Haal het weg.
Gebruik daarna de robots.txt tester in Google Search Console. Die vertelt je per URL of hij geblokkeerd is. Dat is geen luxe, dat is je enige echte controle.
En check dan meteen of je sitemap klopt. Een verkeerde sitemap-URL in je robots.txt is een stille killer. Google probeert hem, krijgt een 404, en laat je site links liggen.
Robots.txt versus noindex: welke gebruik je waarvoor?
Dit is het punt waar de meeste WordPress-gebruikers de fout in gaan. Ze zetten iets in robots.txt terwijl ze noindex bedoelen.
Wil je een pagina écht uit de zoekresultaten houden? Gebruik de noindex meta-tag in de header. Robots.txt houdt crawlers weg, maar een pagina kan alsnog in de index komen via links. Noindex gooit hem eruit.
Robots.txt gebruik je voor mappen die je niet wilt crawlen: admin, includes, plugins. Noindex gebruik je voor specifieke pagina’s die je niet in de resultaten wilt: bedankpagina’s, interne zoekresultaten, dunne content.
En nooit allebei tegelijk. Een pagina die geblokkeerd is in robots.txt kan Google niet lezen, dus ziet hij de noindex niet. Resultaat: de pagina blijft in de index. Precies het tegenovergestelde van wat je wilde.
WordPress en robots.txt: wat je zelf moet regelen
WordPress maakt standaard een virtuele robots.txt aan. Die kun je niet bewerken via FTP. Je moet hem aanpassen via een plugin zoals Yoast of Rank Math, of via een filter in functions.php.
Let op: als je een fysiek robots.txt-bestand in de root zet, overschrijft die het virtuele bestand. Dat is handig, maar ook riskant. Vergeet je hem ooit bij te werken, dan blijft hij eeuwig staan.
Mijn advies: gebruik de plugin. Dan zie je direct wat je doet en kun je het terugdraaien als het misgaat.
De enige robots.txt die ik aanraad voor de meeste WordPress-sites
Houd het simpel. Blokkeer wat echt niet gecrawld hoeft te worden, laat de rest open.
- User-agent: *
- Disallow: /wp-admin/
- Allow: /wp-admin/admin-ajax.php
- Disallow: /wp-includes/
- Disallow: /wp-content/plugins/
- Disallow: /wp-content/cache/
- Disallow: /trackback/
- Disallow: */trackback/
- Disallow: */feed/
- Disallow: */comments/feed/
- Sitemap: https://www.jouwwebsite.nl/sitemap_index.xml
Let op de Allow: /wp-admin/admin-ajax.php. Die regel is cruciaal. Zonder die regel blokkeer je AJAX-verzoeken en werkt je site traag of stuk. Veel standaardbestanden vergeten dit.
Categorieën en tags laat ik open. Die pagina’s kunnen ranken op longtail-zoekwoorden. Waarom zou je gratis verkeer weggooien?
Wat je doet als je site al verdwenen is
Sta je niet in Google en vermoed je je robots.txt? Fix eerst het bestand. Haal de blokkade weg. Ga dan naar Search Console en vraag een nieuwe crawl aan via de URL-inspectie.
Wacht niet op een wonder. Het kan dagen tot weken duren voor Google alles opnieuw heeft geïndexeerd. En als je site lang genoeg geblokkeerd was, kan het zijn dat je autoriteit is weggezakt. Dan moet je opnieuw opbouwen.
Voorkomen is hier echt beter dan genezen. Check je robots.txt één keer per kwartaal. Het kost je twee minuten en het kan je hele site redden.