Het bestand robots.txt

Het bestand is een gewoon tekstbestand en plaats je in de root van je host, meestal is dat dezelfde locatie als waar je index.php staat. Wat er in het bestand hoort te staan is vrij simpel; eerst definieer je een zoekmachine en vervolgens definieer je voor die zoekmachine wat hij wel en niet mag indexeren. De meest simpele vorm is de volgende:

User-agent: *
Disallow:

Dit bestand zou alle zoekmachines (en andere spiders die robots.txt gebruiken) toelaten, en is dus in feite hetzelfde als wanneer je het bestand niet zou plaatsen. Merk op dat het gebruik van zogenaamde wildcards (*) is toegestaan in het veld ‘user-agent’; hiermee specificeer je dus in één keer alle robots. In tegenstelling tot wat je zou verwachten, bestaan er geen veld ‘Allow’.

Het gebruik van wildcards in het veld ‘disallow’ is officieel niet toegestaan, alhoewel sommige zoekmachines (waaronder Google) hier wel mee kunnen werken.

Zou je willen dat geen enkele spider die gebruik maakt van robots.txt je site indexeert, dan plaats je een / achter het veld disallow.
Je krijgt dan:

User-agent: *
Disallow: /

Een andere situatie: je site mag wel geïndexeerd worden door alle robots, maar je hebt enkele directories die je liever niet tussen de zoekresultaten wilt terugzien. De reeds genoemde phpMyAdmin is bijvoorbeeld niet slim om te laten indexeren, evenals de directory /cgi-bin en ook /images wil je niet delen.
Je maakt het volgende bestand aan:

User-agent: *
Disallow: /phpMyAdmin/
Disallow: /cgi-bin/
Disallow: /images/

Een kleine kanttekening: zou je de laatse / weghalen, dan worden ook bestanden in de huidige directory geweigerd. Stel dat je naast de directory images ook een bestand hebt, genaamd images.html die in de rootdirectory staat, dan wordt dat bestand eveneens geweigerd. Een beginnende / is verplicht!

Ander voorbeeld: je wilt dat je site alleen beschikbaar is voor de grote zoekmachines Google, MSN Search, Altavista en eventueel andere (Nederlandse) zoekmachines. Dat kan:

User-agent: *
Disallow: /

User-agent: googlebot
Disallow:

User-agent: msnbot
Disallow:

User-agent: scooter
Disallow:

Ook hier kan je meerdere disallows gebruiken. Je hebt bijvoorbeeld directories aangemaakt voor de vorige drie zoekmachines. Ze mogen alleen in hun eigen directory snuffelen.

User-agent: *
Disallow: /

User-agent: googlebot
Disallow: /msn
Disallow: /altavista

User-agent: msnbot
Disallow: /google
Disallow: /altavista

User-agent: scooter
Disallow: /google
Disallow: /msn

Zoals je wellicht wel eens hebt gezien, staan er soms achter een hit in Google de link ‘meerdere resultaten van <domein>’. Als je erop klikt krijg je vele pagina’s, vaak dynamisch gegenereerd (te herkennen aan de ?, bv. http://www.jouwdomein.com/?page=contact). Wil je die dynamisch gegenereerde pagina’s nou uit Google krijgen, dan moet je het volgende toevoegen.

User-agent: googlebot
Disallow: /*?

Hier zie je het gebruik van de wildcard specifiek voor Google in het disallow veld. Eigenlijk mag dit niet, en als je je robots.txt laat valideren, dan zul je een waarschuwing krijgen.
Je kan het ook toepassen op specifieke bestandsextensies. /*.gif$ zal bijvoorbeeld alle plaatjes met de gif-extensie blokkeren. Je moet dan wel het $-teken gebruiken op het einde.

Het gebruik van commentaar is ook toegestaan: alles na een # en op dezelfde regel wordt genegeerd.

#Dit is commentaar
User-agent: googlebot # maar dit ook
Disallow: /*?

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Het bestand robots.txt
  2. Validatie en user-agents
  3. Zonder robots.txt
  4. Verdere informatie

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.