skip to content
Advertentie

Over /robots.txt

In een notendop

Eigenaars van websites gebruiken het /robots.txt-bestand om instructies over hun site te geven aan webrobots; dit wordt Het ‘Robots Exclusion Protocol’ genoemd.

Dat werkt zo: een robot wil een site-url bezoeken, laten we zeggen http://www.voorbeeld.nl/welkom.html. Voordat hij dat doet controleert hij eerst http://www.voorbeeld.nl/robots.txt, en vindt:

User-agent: *
Disallow: /

Het "User-agent: *" betekent dat deze sectie voor alle robots geldt. Het "Disallow: /" vertelt de robot dat hij geen enkele pagina van de website mag bezoeken.

Je moet met twee belangrijke zaken rekening houden bij het gebruik van /robots.txt:

  • robots kunnen je /robots.txt negeren. Vooral malware-robots die het Web afstruinen voor beveiligingskwetsbaarheden, en bots van spammers die e-mailadressen oogsten, zullen het links laten liggen.
  • /robots.txt is een publiekelijk beschikbaar bestand. Iedereen kan zien welke secties van je server je wilt afschermen van robots.

Probeer dus niet om /robots.txt te gebruiken om informatie te verbergen.

Zie ook:

De details

Het /robots.txt is een de-facto-standaard, and niet het eigendom van welk normalisatieinstituut dan ook. Er bestaan twee historische beschrijvingen:

Daarnaast zijn er externe bronnen:

De /robots.txt-standaard wordt niet actief doorontwikkeld. Zie Hoe zit het met doorontwikkeling van /robots.txt? voor meer discussie.

De rest van deze pagina geeft een overzicht van hoe /robots.txt te gebruikken op je server, met wat eenvoudige recepten. Om meer te weten te komen, zie ook de FAQ.

Hoe maak je een /robots.txt-bestand

Waar plaats je het

Het korte antwoord: op het hoogste niveau in de bestandsstructuur van je webserver.

Het langere antwoord:

Wanneer een robot het "/robots.txt"-bestand voor een url zoekt, dan verwijdert hij het pad van de url (alles vanaf de eerste enkele slash) en zet er "/robots.txt" voor in de plaats.

Bijvoorbeeld, voor "http://www.voorbeeld.nl/shop/index.html haalt hij het "/shop/index.html" weg en vervangt het met "/robots.txt", met "http://www.voorbeeld.nl/robots.txt" als resultaat.

Als website-eigenaar moet je hem dus op de juiste plek op je webserver zetten om die resulterende url werkend te krijgen. Gewoonlijk is dat dezelfde plek als waar je je sites voorpagina "index.html" plaatst. Waardat precies is, en hoe je het bestand daar krijgt, hangt af van je webserver-software.

Vergeet niet om de bestandsnaam geheekl in kleine letters te schrijven: "robots.txt", en bijvoorbeeld niet "Robots.TXT.

Zie ook:

Wat zet je erin

Het "/robots.txt"-bestand is een tekstbestand met een of meer records. Bevat gewoonlijk een enkel record zoals dit:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~pietje/

In dit voorbeeld worden drie mappen uitgesloten.

Merk op dat je een aparte “Disallow”-regel nodig hebt voor elke url-prefix die je wilt uitsluiten -- je kan niet “Disallow: /cgi-bin/ /tmp/” op één enkele regel zetten. Je mag ook geen lege regels hebben in een record, omdat die gebruikt worden om meerdere records van elkaar te scheiden.

Merk ook op dat globbing (jokertekens gebruiken) en reguliere exprfessies niet ondersteund worden, noch in de User-agent-, noch de Disallow-regels. De ‘*’ in het User-agent-veld is een bijzondere waarde die “welke robot dan ook” betekent. Je kan dan ook geen regels hebben zoals “User-agent: *bot*”, “Disallow: /tmp/*” of “Disallow: *.gif”.

Wat je wilt uitsluiten hangt af van je server. Alles wat niet expliciet wordt afgewezen, moet beschouwd worden als terugvindbaar voor bots. Wat voorbeelden:

All robots uitsluiten van de gehele server
User-agent: *
Disallow: /
Alle robots volledig tolegang geven
User-agent: *
Disallow:

(of zet eenvoudig een leeg "/robots.txt"-bestand neer, of laat ’m helemaal weg)

Alle robots uitsluiten van een deel van de server
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /rotzooi/
Eén enkele robot uitsluiten
User-agent: SlechteBot
Disallow: /
Eén enkele robot toelaten
User-agent: Google
Disallow:

User-agent: *
Disallow: /
Alle bestanden uitsluiten, behalve één

Momenteel is dit wat lastig omdat er geen “Allow”-veld is. De makkelijkste manier is om alle uit te sluiten bestanden in een aparte map te plaatsen, laten we zeggen “stuff”, en dan het ene bestand in het niveau boven deze map te houden:

User-agent: *
Disallow: /~joe/stuff/

Als alternatief kan je alle uit te sluiten pagina’s expliciet uitsluiten:

User-agent: *
Disallow: /~joe/junk.html
Disallow: /~joe/foo.html
Disallow: /~joe/bar.html
Advertentie