Robots.txt en wat het betekent voor SEO

Een kleine robot

Robots.txt is een bestand waar weinigen zich van aantrekken. Nochtans is dit uiterst belangrijk voor jouw SEO.

Met dit bestand kan je zoekmachines toegang weigeren tot bepaalde delen van je website of problemen met duplicate content vermijden.

Wat is een robots.txt bestand?

Een robots.txt bestand vertelt zoekmachines zoals Google welke pagina’s van je website ze wel of niet mogen bezoeken of ‘crawlen’.

Vooraleer ‘spiders’ van zoekmachines je website crawlen, zullen ze het robots.txt bestand raadplegen voor eventuele instructies. Zonder robots.txt bestand of duidelijke instructies gaan spiders ervan uit dat ze je volledige website mogen crawlen.

Soms wil je echter dat bepaalde pagina’s niet gecrawld worden. Denk maar aan een bedankingpagina waarop een bezoeker landt na een aankoop te doen.

Je kan via het robots.txt bestand ook specifieke spiders blokkeren. Zo kan je bepaalde zoekmachines wel toegang geven tot je website en anderen weigeren.

Soms zijn bedrijven niet bewust dat bepaalde delen van hun website geblokkeerd worden voor zoekmachines. Het komt veel vaker voor dan je zou denken. Dit kan voor een verlies van websitebezoekers zorgen.

Hoe ziet een robots.txt bestand er uit?

Een robots.txt is in principe gewoon een tekstbestand. Je kan het daarom zelfs in kladblok maken.

De regels in een robots.txt bestand hebben altijd dezelfde structuur:

User-agent: X 

[directive]: Y
[directive]: Z

Voorbeeld: 

User-agent: Googlebot 

Disallow: /blog

Met bovenstaand voorbeeld vertel je aan de spiderbot van Google dat het je blog en alle pagina’s onder die directory niet mag crawlen.

Geen zorgen. Het ziet er voor sommigen wellicht als Chinees uit, maar eigenlijk is het vrij eenvoudig. Je vertelt aan bepaalde user-agents wat ze wel of niet mogen aan de hand van directives.

Laten we in meer detail bekijken wat user-agents en directives zijn.

Wat zijn user-agents?

Een user-agent is een robot of ‘spiderbot’ van een bepaalde zoekmachine. Spiderbots zoeken het internet continu af voor webpagina’s om te crawlen.

Er bestaan heel wat user-agents maar de drie voornaamste zijn:

  • Googlebot (Google)
  • Bingbot (Bing)
  • Slurp (Yahoo)

Het is dus mogelijk om specifieke zoekmachines instructies te geven. Je kan uiteraard ook alle user-agents tegelijk aanspreken. In dat geval gebruik je de wildcard (*).

User-agent: Googlebot

Hiermee geef je instructies aan de spiders van Google. Spiderbots van andere zoekmachines zoals Bing of Yahoo zullen deze regels negeren.

User-agent: *

Hiermee spreek je de spiderbots van alle zoekmachines aan.

Wat zijn directives?

Directives zijn de instructies die je aan een user-agent geeft. Begin elke directive op een nieuwe regel. Plaats verschillende directives dus niet achter elkaar op dezelfde regel.

Disallow

Met deze directive vertel je een user-agent dat het bepaalde pagina’s en bestanden niet mag bezoeken. Zoals in het vorige voorbeeld zal de directive ‘disallow’ aan zoekmachines vertellen dat ze je blog en andere pagina’s onder die directory niet mogen bezoeken.

User-agent: * 

Disallow: /blog

De volgende pagina’s zullen door bovenstaand voorbeeld niet gecrawld worden:

  • voorbeeld.be/blog
  • voorbeeld.be/blog/een-willekeurige-blogpost
  • voorbeeld.be/blog/een-andere-blogpost

Allow

Deze directive vertelt een spiderbot dat het bepaalde pagina’s wel mag bezoeken.

Allow is de standaardwaarde van elke pagina van je website. Je moet deze directive dus niet expliciet vermelden om toegang te geven tot je website.

 

Wanneer gebruik je deze directive dan wel? Om bepaalde pagina’s wel toegankelijk te maken die anders geweigerd worden door een ‘disallow’ directive.

 

Het volgende voorbeeld weigert toegang tot je blog en alle onderliggende pagina’s, met twee uitzonderingen:

User-agent: Googlebot 

Disallow: /blog
Allow: /blog/een-toegelaten-pagina
Allow: /blog/deze-pagina-mag-ook-bezocht-worden

Spiders van Google zullen hierdoor geen toegang hebben tot je blogposts behalve de twee toegelaten pagina’s. De volgende pagina’s zouden bijvoorbeeld niet gecrawld worden:

  • voorbeeld.be/blog/voorbeeld.be/blog/deze-pagina-wordt-geblokkeerd
  • voorbeeld.be/blog/ook-deze-pagina-mag-niet-bezocht-worden

Deze twee pagina’s worden wel gecrawld:

  • voorbeeld.be/blog/een-toegelaten-pagina
  • voorbeeld.be/blog/deze-pagina-mag-ook-bezocht-worden

Verwijzing naar je sitemap

Je robots.txt bestand heeft nog een nuttige functie. Je kan er namelijk mee verwijzen naar de locatie van je XML-sitemap.

 

Een sitemap geeft een overzicht van alle pagina’s van je website.

 

De volgende regel kan je hiervoor vermelden in je robots.txt bestand:

Sitemap: https://www.voorbeeld.be/sitemap.xml

Zelfs al heb je jouw XML-bestand al ingediend in Google Search Console, blijft het toch aangeraden om deze regel te voorzien. Het is namelijk nog steeds handig voor andere zoekmachines zoals Bing of Yahoo.

Andere tekens die je kan gebruiken in je robots.txt bestand

Het is mogelijk om specifieke tekens te gebruiken voor bepaalde redenen. Je kan een perfect bruikbaar robots.txt bestand maken zonder deze tekens te gebruiken. Echter kunnen sommige tekens bepaalde zaken gemakkelijker of overzichtelijker maken.

Gebruik wildcards (*) in directives

Het wildcard-teken (*) is niet uitsluitend voor user-agents bedoeld. Je kan het ook gebruiken in directives.

Soms worden extra parameters toegevoegd aan een URL met een querystring. Dat is bijvoorbeeld het geval als je een filter gebruikt in een webshop. Meestal begint die querystring met een ‘?’.

 

Stel dat je wil voorkomen dat alle URL’s met een ‘?’ worden gecrawld. Dan kan je de volgende directive gebruiken:

User-agent: *
Disallow: /*?

Plaats opmerkingen in je robots.txt bestand

Opmerkingen zijn bedoeld voor mensen. Je kan er extra uitleg mee geven aan developers, collega’s of je toekomstige zelf. Spiders zullen opmerkingen negeren.

Een opmerking wordt voorafgegaan door een ‘#’.

De volgende opmerking zou je kunnen plaatsen in een robots.txt bestand:

#Deze instructie verbiedt spiders van Google om het blog-gedeelte van de website te crawlen 

User-agent: Googlebot
Disallow: /blog

Duid het einde van een URL aan

Gebruik het dollarteken ($) om het einde van een URL aan te geven. Het volgende voorbeeld verbiedt toegang tot alle pagina’s die eindigen met .pdf.

User-agent: * 

Disallow: /*.pdf$

Opmerking: Een URL dat eindigt met /bestand.pdf?id=75348 kan wel bezocht worden omdat de URL niet eindigt met .pdf.

Kunnen pagina’s met ‘Disallow’ nog steeds vertoond worden in de zoekresultaten?

Kort gezegd: ja!

Spiders zullen deze pagina’s niet crawlen. Als andere sites linken naar deze pagina’s kunnen ze echter nog steeds worden geïndexeerd. Ze kunnen dan nog steeds vertoond worden in zoekresultaten.

Om te voorkomen dat een pagina geïndexeerd wordt, moet je de metatag ‘noindex’ gebruiken in de HTML-code. Hier lees je meer over robots meta tags.

Een pagina met de metatag ‘noindex’ mag niet geblokkeerd worden door je robots.txt bestand! Anders zullen spiders deze pagina niet crawlen en de noindex metatag dus niet zien.

Op deze pagina van Google vind je hier ook meer informatie over.

Disallow in een robots.txt bestand betekent dus dat zoekmachines de pagina niet mogen crawlen. Ze mogen deze echter wel indexeren en vertonen in zoekresultaten.

De metatag ‘noindex’ betekent dat zoekmachines de pagina wel mogen crawlen. Ze mogen deze echter niet indexeren en dus ook niet vertonen in zoekresultaten.

Heb je een robots.txt bestand nodig?

Het is zeker niet noodzakelijk voor elke website. Echter kan het geen kwaad om het wel te gebruiken.

Opmerking: Let wel goed op dat er geen fouten in staan. Die kunnen er namelijk voor zorgen dat je volledige website niet gecrawld wordt.

Enkele best practices en belangrijke weetjes

Gebruik de juiste bestandsnaam

Het bestand moet exact ‘robots.txt’ heten. Deze naam is hoofdlettergevoelig. De volgende namen zijn dus niet geldig:

  • Robots.txt
  • robot.txt

Plaats het bestand in je root directory

Is jouw website voorbeeld.be?
Dan moet jouw robots.txt toegankelijk zijn via voorbeeld.be/robots.txt.

Je robots.txt bestand is voor iedereen toegankelijk

Door ‘/robots.txt’ toe te voegen aan een hoofddomein kan je het robots.txt bestand zien van elke website (indien die er één heeft natuurlijk).

Iedereen kan dus zien welke pagina’s je niet wil laten crawlen. Pagina’s die je privé wil houden scherm je beter af met een wachtwoord of een ‘noindex’ metatag.

Elk subdomein van je website gebruikt een apart robots.txt bestand

Gebruik je een subdomein zoals blog.voorbeeld.be? Dan moet je voor elk subdomein een robots.txt bestand voorzien:

  • blog.voorbeeld.be/robots.txt
  • voorbeeld.be/robots.txt

Controleer op fouten

Een fout in je robots.txt kan zware gevolgen hebben. Mogelijks voorkom je hiermee dat je website gecrawld wordt. Dit is eerder een uitzonderlijk geval, maar een gewaarschuwd mens telt voor twee.

Als je op veilig wil spelen kan je een tool gebruiken om je robots.txt bestand te maken. Google heeft ook een robots.txt-tester waarmee je jouw bestand kan controleren op eventuele fouten.

Groepeer meerdere directives voor dezelfde user-agent

Vermijd om directives voor dezelfde user-agent te verspreiden. Dit verwart zoekmachines alleen maar.

Gebruik dus niet:

User-agent: Googlebot

Disallow: /blog

User-agent: Googlebot

Disallow: /categorie

Maar gebruik wel:

User-agent: Googlebot

Disallow: /blog

Disallow: /categorie

Gerelateerde berichten

Scroll to Top