De kracht van robots.txt

22 december 2006, 10:13

Dit keer een artikel met een iets meer technische insteek over het kleine en vaak vergeten bestand robots.txt. Veel webbeheerders onderschatten de mogelijkheden van dit kleine bestand, en sommige zijn keihard in aanraking gekomen met de kracht die het bestand heeft. Dit artikel is een reminder om iedereen weer attent te maken op dit bestand.

Wat doet het dan

Voor de mensen die het fenomeen helemaal niet kennen een korte introductie. Het robots.txt bestand wordt altijd in de root (de hoofdmap) van een website geplaatst en is bedoeld om aan te geven welke delen van de site door robots bekeken mogen worden. Over het algemeen worden met deze robots de zogenaamde spiderbots van de zoekmachines bedoeld. Voordat een zoekmachine begint een site te indexeren zal hij eerst kijken of de robots.txt bestaat en eventuele informatie geeft over wat hij wel en niet mag indexeren.

Hoe ziet het er uit

De basis van een robots.txt ziet er zo uit

User-Agent: *

Disallow: /prive/

Eerst wordt de zogenaamde User-Agent genoemd, dat is de naam waarmee een spiderbot zich bekend maakt. Een * staat voor alles, dus in dit voorbeeld zullen alle spiderbots aangesproken worden. Namen van andere grote spiderbots zijn msnbot (Live Search), googlebot (Google), slurp (Yahoo) en teoma (Ask). De tweede regel geeft aan dat de map prive door alle robots niet bezocht mag worden.

Altijd online plaatsen

Om verwarring te voorkomen is het een goed gebruik ALTIJD een lege robots.txt in je webroot te plaatsen, dan weten zoekmachines in ieder geval dat het bestand bestaat. Het komt namelijk wel eens voor dat webbeheerders een site zo ingesteld hebben dat er een speciale pagina getoond word (met status 200 en niet 404) wanneer een bestand niet gevonden kan worden. Als dat gebeurd wanneer een robots.txt door een spider opgevraagd word kan het zijn dat die een hoop code (html) terugkrijgt en voor de zekerheid niets meer spidert omdat hij er geen wijs uit kan worden. Door het plaatsen van een lege robots.txt voorkom je dit soort zaken.

Hoe te gebruiken

Standaard staan zoekmachines ingesteld om je site te indexeren, het is daarom onzinnig extra aan te geven dat het mag. Het is voornamelijk handig om te zaken die niet geïndexeerd mogen worden te blokkeren. Hierbij kun je denken aan gedeeltes waar een adminpanel staat of delen waar je eerst voor moet inloggen (al zal een zoekmachine daar als het goed is sowieso niet komen).

Een stap verder is het blokkeren van bepaalde type bestanden. Een bekend fenomeen zijn de print-pagina’s die beter scoren dan hun originele pagina omdat ze simpeler en kaler van opzet zijn. En aangezien zoekmachines niet 2 keer dezelfde pagina in de index willen hebben kiezen zij een van beide uit. Dit zou je kunnen voorkomen door dit in je robots.txt te plaatsen:

User-Agent: *

Disallow: *version=print*

De wildcards in de tweede regel zeggen dat het voor alle adressen geldt die dit gedeelte in de url hebben. Op deze manier gaan de zoekmachines de print pagina’s negeren en zullen de originele pagina’s in de zoekresultaten verschijnen. Tegelijk heb je geen duplicate content probleem meer.

Een andere handigheid is het blokkeren van bijvoorbeeld alleen de Google-Images bot. Als je een site hebt die niet gericht is op afbeeldingen hoef je er ook niet op gevonden te worden. Je kunt dan de Google-Images bot blokkeren of heel simpel de hele /images/ folder voor alle bots (mochten ze daar allemaal in staan).

Er is een Firefox extensie die bij het bekijken van een pagina alvast de achterliggende gelinkte pagina’s gaat downloaden. Dit kan een hele belasting zijn voor je server, maar ook deze kun je prima blokkeren:

User-Agent: Fasterfox

Disallow: /

Zo zijn er nog veel meer voorbeelden te bedenken wanneer bepaalde bots bepaalde gedeeltes niet hoeven te spideren. Bedenk eens voor je eigen site wanneer dat het geval zou zijn, heb je dat ook in je robots.txt geregeld?

Conclusie

Gebruik altijd een robots.txt en plaats alle delen die niet in de zoekmachine hoeven daar in. Dit scheelt bandbreedte en een hoop vervuiling van de zoekmachines.

Let op: test een robots.txt altijd in daarvoor bestemde tools. Want een site in zijn geheel uit de zoekmachines gooien kan een kwestie zijn van 1 typefout.

Links

http://www.robotstxt.org/

http://en.wikipedia.org/wiki/Robots_Exclusion_Standard

André Scholten
Google Analytics, Tag Manager, SEO & Site Speed Specialist bij andrescholten.nl

Als zelfstandig specialist houd ik me bezig met Google Analytics, Site Speed en SEO. Heb je een probleem met de techniek, de organisatie of je kennis? Ik kan je helpen dit op de rails te krijgen. In de laatste jaren heb ik veel ervaring opgedaan met deze onderdelen bij diverse top 100 sites in Nederland. Of het nou gaat om het opzetten van een strategie of het wijzigen van een stukje javascript, laat het weten.

Categorie
Tags

13 Reacties

    Thomas

    Zoek eens op robots.txt validator op google.

    Daarnaast zit er ook in google sitemaps een robots.txt tooltje.


    22 december 2006 om 12:23
    Peter Boer

    Op zich is die /prive/ melding in de robots.txt file natuurlijk een open uitnodiging voor hackers om juist op de /prive/ map te focussen…


    22 december 2006 om 13:55
    André Scholten

    Robots.txt is er NIET voor om iets te beveiligen, het zegt alleen dat je iets liever niet in de zoekmachines wil hebben. Je bent daarbij afhankelijk van de juiste interpretatie door de zoekbot, want niet alle spiders lezen de robots.txt. Als je echt iets wil beveiligen zet je dat achter een login die je middels script of htaccess geregeld hebt.

    Echte hackers zijn ook geen robots bestand nodig om gevoelige mappen te kunnen vinden 😉


    22 december 2006 om 14:02
    Han ter Braak

    Sterker nog, na het lezen van dit artikel eens wat testjes gedaan met diverse sites. Kwam daardoor wel heel eenvoudige bij juist gevoelige mappen van diverse sites. Ik sluit me dan ook aan bij de opmerkingen van Andre Scholten.

    Kwam daardoor bij een van de sites bij de naam van de admin dir van de site. Welke wel een heel eenvoudig password had !


    22 december 2006 om 14:11
    Bas

    Voor dit soort artikelen ga ik wel naar bv. naarvoren.nl of een andere “leuk geschreven” technisch digizine of weblog. Jullie marketeers gaan toch niet zelf de handjes vuil maken aan dit soort coderij? Daarnaast is het artikel nogal oppervlakkig.


    23 december 2006 om 13:11
    André Scholten

    Bas, helemaal mee eens, maar als jij eens wist hoeveel webbouwers hier geen kaas van gegeten hebben zou ik daar als marketeer toch zeker wel van op de hoogte willen zijn.

    Om die reden heb ik het ook oppervlakkig gehouden en niet heel erg technisch uitgediept.


    23 december 2006 om 15:13
    media

    Ik vind het juist een prima stuk voor Marketingfacts; inderdaad niet al te technisch maar voldoende prikkelend om de online marketeers aan het denken te zetten.


    23 december 2006 om 15:19
    Tobias

    Inderdaad een interessant artikel. Afgelopen zomer heb ik voor het eerst gebruik moeten maken van zo’n robots.txt bestandje omdat ik opeens van allerlei kanten bestookt werd. Die tip om altijd een robots.txt bestandje te plaatsen is inderdaad een slimme, het duurde bij mij namelijk een aantal weken voordat het effect had. Overigens heeft Google ook een tool waarmee ze bepaalde pagina’s (of gedeelten van pagina’s) binnen een paar dagen kunnen verwijderen. Nadeel daarvan is dat ze je minimaal een half jaar niet meer indexeren.


    24 december 2006 om 15:56
    Willem

    Als je een pagina uit Google wil verwijderen moet je hem in een harde 404 error laten lopen door de bewuste pagina gewoon te verwijderen. De volledige tekst kan je vinden in google webmasters hulp.


    9 maart 2007 om 20:16

Marketingfacts. Elke dag vers. Mis niks!