Het tektbestand (.txt) met de naam robots.txt is geplaatst in de root van een website of subdoimein. Dit is de map waar ook de index-pagina van een website is opgeslagen. Robots.txt bestand vertelt de diverse zoekbots van de diverse zoekmachines welke pagina's en/of mappen wel of niet doorzocht of geïndexeerd mogen worden. De robots.txt mag en kan geen andere naam hebben. Deze moet opgeslagen worden als robots.txt. Wordt deze wel anders opgeslagen wordt deze gewoon als tekst-bestand gezien en dus ook als dusdanig gecrawld.

Dat de meeste zoekmachines nu weten dat bepaalde mappen en bestanden niet gecrawled of geïndexeerd mogen worden betekend natuurlijk niet dat deze bestanden ineens beveiligd zijn. Door zoekbots die geprogrammeerd zijn om zich niets aan te trekken van de robots.txt of zelfs geprogrammeerd zijn om juist de niet toegestane bestanden en mappen te doorzoeken. Hiernaast zijn hiermee niet ineens de mappen en bestanden beveiligd. Ze zijn dus nog steeds te doorzoeken door een gebruiker. Zelfs dan kan de URL nog steeds in de zoekresultaten voorkomen maar dan alleen als URL zonder titel of omschrijving.

Wat valt er dan nog te optimaliseren? Niet zo veel. Alleen controleren dat de inhoud goed is ingesteld, zorgen dat de mappen die gecrawld moeten worden ook bereikbaar zijn en andersom. Het is bij de optimalisatie van de Robots.txt van belang om specifiek te zijn.

Lees verder

Robots.txt voorbeelden

Hier een aantal simpele voorbeelden van hoe een robots.txt bestand er uit kan zien.


User-agent: *
Disallow: /mapnaam/

Disallow

Binnen een Robots.txt bestand is het de bedoeling dat er aangegeven wordt voor wie de regel bestemd is. Hiervoor zijn een aantal richtlijnen. Bij User-agent kan aangegeven worden voor welke zoekmachine de regel bedoeld is. Het sterretje ("*") geeft in dit geval aan dat deze richtlijn geldt voor alle zoekmachines. Hier is het ook mogelijk om verschillende zoekmachines andere rechten te geven bij de toegang tot verschillende mappen. Verschillende zoekmachines kunnen zijn:
Google: "Googlebot";
Yahoo: "Slurp";
Bing: "Bingbot".

Allow

Andersom is het ook mogelijk om een zoekmachine juist specifiek toegang te geven tot bepaalde mappen. Heel logisch gebruiken we dan de regel "Allow".


User-agent: *
Disallow: /mapnaam/
Allow: /mapnaam/een-willekeurig-bestand.pdf

Deze regel wordt gebruikt om een specifiek bestand te laten crawlen door een zoekmachine die zonder deze regel in een geblokkeerde map staat. Bij het bovenstaande voorbeeld is dit specifieke pdf-bestand bereikbaar voor de zoekmachines maar de rest van de bestanden in de map niet.

Wildcard

De wildcard in robots.txt is feitelijk een sterretje ("*") die aangeeft dat de inhoud alles kan zijn. In het geval van de User-agent geven we aan dat dit dus voor alle zoekmachines geldt. Daarnaast kunnen ook andere willekeurige blokades geplaatst worden.


User-agent: *
Disallow: /*?

In bovenstaand voorbeeld worden alle zoekmachines verboden URL's met een vraagteken te crawlen. Onderstaand voorbeeld verbiedt alle zoekmachines .php bestanden te crawlen. Het dollarteken ("$") wordt gebruikt om het einde van een URL aan te geven.


User-agent: *
Disallow: /*.php$

Opmerkingen

Net als in een stuk HTML code kan er in de Robots.txt een losse opmerking geplaatst worden voor een ontwikkelaar. Deze opmerking begint, net als alle opdrachten in de robots.txt, op een nieuwe regel. Daarnaast begint een opmerking altijd met een hekje ("#").


# Blokkeerd /mapnaam/ voor alle zoekmachines en robots
User-agent: *
Disallow: /mapnaam/

Wees specifiek

Bij gedeeltelijke richtlijnen zal een zoekmachine alle overeenkomsten negeren bij een "Disallow" richtlijn.


User-agent: *
Disallow: /mapnaam

Bij dit voorbeeld wordt er meer geblokkeerd dan alleen de betreffende map. Ook eventuele bestanden als "mapnaam.html" of "mapnaam.php" of "mapnaam-met-wat-dan-ook-erachter" worden geblokkeerd.
Hiernaast zullen specifieke zoekmachines die specifieke richtlijnen krijgen de richtlijnen voor alle andere zoekmachines negeren.


User-agent: *
Disallow: /mapnaam/
Disallow: /mapnaam2/

User-agent: googlebot
Disallow: /mapnaam/

Bij bovenstaand voorbeeld zal de Googlebot geen toegang krijgen tot "/mapnaam/" maar zal de map "/mapnaam2/" wel gewoon crawlen.

Robots.txt in subdomeinen

Hiernaast is het van belang dat ieder subdomein zijn eigen Robots.txt bestand heeft. Een robots bestand in http://voorbeeld.nl/robots.txt zal gelden voor alle bestanden in dit subdomein en niet voor http://www.voorbeeld.nl/robots.txt. Met een .HTACCESS bestand kan je zorgen dat dit geen dubbele hits opleverd bij de zoekmachines. Bij geheel andere subdomeinen als http://subdomein.voorbeeld.nl maak je een nieuw robots.txt bestand aan zoals http://subdomein.voorbeeld.nl/robots.txt.

.HTACCESS optimaliseren