Wat is een robots.txt bestand?
Een robots.txt bestand is een tekstbestand dat op elke website vindbaar zou moeten zijn via jouwwebsite.nl/robots.txt en waarin Google en andere crawlers kunnen vinden welke pagina’s op je site ze wel en niet mogen crawlen.
Wat staat er in een robots.txt bestand?
User-Agent
Meestal zul je in een robots.txt bestand bovenaan de regel User-Agent: * vinden. Dit betekent dat alle regels die hierop volgen voor alle user agents gelden. Een user agent is een andere naam voor een crawler of bot.
Crawl delay
Daarnaast zie je regelmatig een crawl-delay in een robots.txt staan. Het is belangrijk om te weten dat Google crawl delays negeert. Voor andere bots kan een crawl delay wel nuttig zijn. Het betekent dat crawlers afgeremd worden in hun crawlsnelheid. Als ze te snel teveel pagina’s zouden crawlen, kan dit de website overbelasten. Een crawl delay van bijvoorbeeld 10 betekent dat er maar 1 url per 10 seconden gecrawld mag worden.
Disallow
Een robots.txt bestand bestaat vooral uit regels die beginnen met ‘Disallow:’. Het is een opsomming van pagina’s die Google en andere bots niet mogen crawlen. De belangrijkste redenen hiervoor zijn:
- Het zijn pagina’s waar crawlers niets te zoeken hebben, zoals ‘mijn account’.
- Voorkomen dat crawlers duizenden niet-relevante pagina’s bezoeken, zoals filterpagina’s (bijv. webshop.nl/pagina?categorie=a&filter=b&mode=list. Zo wordt ‘crawlbudget’ bespaard en stimuleer je dat belangrijke pagina’s wél regelmatig gecrawld worden.
- Voorkomen dat niet relevante pagina’s in de zoekresultaten verschijnen, zoals een verlanglijstpagina.
Sitemap
Het is goed om een link naar je sitemap in je robots.txt bestand te zetten. Zo kan Google je sitemap makkelijk vinden en direct alle pagina’s van je website crawlen.
Let op: is je website in meerdere talen beschikbaar via submappen (bijvoorbeeld website.com/de en website.com/fr) en hebben deze verschillende sitemaps? Link dan naar alle sitemaps.
Wat moet er niet in een robots.txt bestand staan?
Disallow: /
De grootste fout die je kunt maken is de regel Disallow: / in je robots.txt bestand te zetten. Dit betekent disallow all pages en betekent dat crawlers geen enkele pagina mogen bezoeken. Als Google je pagina’s niet kan crawlen zal de zoekmachine deze ook niet indexeren. Je website kan daarmee dus compleet onvindbaar worden in Google.
De regel Disallow: / wordt soms gebruikt in de ontwikkelingsfase van een website om te voorkomen dat de website dan al gevonden wordt. Maar als je het bij livegang vergeet weg te halen heb je een groot probleem. Het is dus beter om zoekmachines en andere bots op een andere manier te blokkeren. Bijvoorbeeld door een IP-filter op de website te zetten.
.js en .css
We zien regelmatig dat mappen met .js (Javascript) en .css (styling) bestanden in de robots.txt staan. Dat betekent dat Google deze bestanden niet kan crawlen. Ze zijn echter belangrijk voor een goede weergave van je website. Als Google hier niet bij kan, kan Google niet precies zien hoe je website eruit hoort te zien. Het is belangrijk dat Google je website goed kan renderen, dus moet Google toegang hebben tot deze bestanden.
Robots.txt vs. noindex
Een vraag die regelmatig gesteld wordt: als ik wil voorkomen dat een pagina in Google komt, moet ik dit dan via de robots.txt doen of door middel van een meta “robots” noindex?
Het is belangrijk om te weten dat beide oplossingen niet precies hetzelfde doen.
- Zet je een <meta name=”robots” content=”noindex, (no)follow”/> in de broncode van de pagina, dan zeg je tegen zoekmachines: deze pagina mag je niet in de index (resultatenpagina) opnemen.
- Zet je een pagina in de robots.txt, dan zeg je tegen zoekmachines: ik heb liever niet dat je deze pagina gaat crawlen en neem hem liever niet op in de index.
Oftewel: het robots.txt bestand geldt meer als een tip of aanwijzing en niet als een verbod. Google en andere zoekmachines kunnen dit dus negeren.
Vaak is een combinatie van de twee het beste: dan voorkom je dat de pagina geïndexeerd wordt en je voorkomt dat Google de pagina onnodig crawlt. Maar let op: als je dit tegelijkertijd doet en Google ziet in de robots.txt dat hij de pagina niet mag crawlen, dan zal hij ook de ‘noindex’ niet zien. Is de pagina al geïndexeerd, dan helpt dit dus niet om hem uit de index te halen.
In dat geval kun je het beste eerst een noindex op de pagina zetten en na een tijdje, als je zeker weet dat Google langs is geweest, de pagina pas uitsluiten door middel van de robots.txt.