Pagina's blokkeren of verwijderen met een robots.txt-bestand

De tool 'Genereer robots.txt' wordt beëindigd. U kunt handmatig een robots.txt-bestand maken of een van de vele tools voor het genereren van robots.txt-bestanden op internet gebruiken.

Met een robots.txt-bestand beperkt u de toegang tot uw site voor zoekmachinerobots die het internet crawlen. Deze robots zijn geautomatiseerd en voordat ze een site bezoeken, controleren ze eerst of er een robots.txt-bestand is waardoor ze bepaalde pagina's niet kunnen crawlen. (Alle goede robots zullen de instructies in een robots.txt-bestand respecteren, hoewel sommige robots deze anders kunnen interpreteren. Een robots.txt-bestand is echter niet af te dwingen en sommige spammers en andere kwaadwillende mensen zouden het kunnen negeren. Daarom raden we u aan vertrouwelijke gegevens middels een wachtwoord te beschermen.)

Als u wilt bekijken welke URL's Google niet heeft kunnen crawlen, gaat u naar de pagina Geblokkeerde URL's van het gedeelte Crawlen van Google Webmastertools.

U heeft alleen een robots.txt-bestand nodig als uw site inhoud bevat waarvan u niet wilt dat de zoekmachines deze indexeren. Als u wilt dat zoekmachines alles op uw site indexeren, heeft u geen robots.txt-bestand nodig (zelfs geen leeg bestand).

Hoewel Google de inhoud van pagina's die zijn geblokkeerd door robots.txt niet crawlt of indexeert, kunnen we de URL's wel indexeren als we deze op andere webpagina's tegenkomen. Hierdoor kunnen de URL van de pagina en mogelijk andere openbare informatie, zoals ankertekst in links naar de site of de titel van het Open Directory Project (www.dmoz.nl), worden weergegeven in de zoekresultaten van Google.

Als u een 'robots.txt'-bestand wilt gebruiken, moet u toegang hebben tot de hoofddirectory van uw domein (raadpleeg uw webhost als u niet zeker weet of u toegang heeft). Als u geen toegang heeft tot het hoofdniveau van een domein, kunt u de toegang beperken door de robots-metatag te gebruiken.

Als u er zeker van wilt zijn dat de inhoud van een pagina niet aan de webindex van Google wordt toegevoegd, zelfs wanneer andere sites ernaar verwijzen, gebruikt u de noindex-metatag of x-robots-tag. Zolang de Googlebot de pagina ophaalt, zal deze de noindex-metatag herkennen en voorkomen dat de pagina wordt weergegeven in de webindex. De HTTP-header x-robots-tag is met name handig als u het indexeren van niet-HTML-bestanden zoals afbeeldingen of andere soorten documenten wilt beperken.

Een robots.txt-bestand maken

Het eenvoudigste robots.txt-bestand gebruikt twee regels:

  • User-agent: de robot waarop de volgende regel van toepassing is
  • Disallow: de URL die u wilt blokkeren.

Deze twee regels worden beschouwd als één item in het bestand. U kunt zoveel items opgeven als u wilt. U kunt meerdere 'Disallow'-regels en meerdere user-agents in een item zetten.

Elk gedeelte van het robots.txt-bestand functioneert afzonderlijk en is niet afhankelijk van andere gedeelten in het bestand. Bijvoorbeeld:


User-agent: *
Disallow: /map1/

User-Agent: Googlebot
Disallow: /map2/

In dit voorbeeld wordt Googlebot alleen geblokkeerd voor URL's die overeenkomen met '/map2/'.

User-agents en robots

Een user-agent is een specifieke robot van een zoekmachine. In de database met webrobots staan meerdere veelvoorkomende robots. U kunt een item instellen voor een bepaalde robot (door de naam op te geven) of voor alle robots (door een asterisk op te geven). Een item dat op alle robots van toepassing is, ziet er als volgt uit:

User-agent: *

Google gebruikt verschillende robots (user-agents). De robot die we gebruiken voor onze zoekfunctie, heet Googlebot. Onze andere robots, zoals Googlebot-Mobile en Googlebot-Image, volgen de regels die u opstelt voor Googlebot. U kunt echter ook extra regels opstellen voor deze robots.

User-agents blokkeren

In de regel 'Disallow' staan de pagina's die u wilt blokkeren. U kunt een bepaalde URL opgeven of een patroon. Het item moet beginnen met een schuine streep (/).

  • Als u de hele site wilt blokkeren, gebruikt u een schuine streep.
    Disallow: /
  • Als u een directory wilt blokkeren met alles wat erin staat, plaatst u een schuine streep na de directorynaam.
    Disallow: /rommeldirectory/
  • Als u een pagina wilt blokkeren, geeft u de pagina op.
    Disallow: /privé_bestand.html
  • Als u een bepaalde afbeelding uit Google Afbeeldingen wilt verwijderen, voegt u het volgende toe:
    User-agent: Googlebot-Image
    Disallow: /afbeeldingen/honden.jpg 
  • Als u alle afbeeldingen van uw site uit Google Afbeeldingen wilt verwijderen:
    User-agent: Googlebot-Image
    Disallow: / 
  • Als u alle bestanden van een specifiek bestandstype (bijvoorbeeld .gif) wilt blokkeren, moet u het volgende opgeven:
    User-agent: Googlebot
    Disallow: /*.gif$
  • Als u wilt voorkomen dat pagina's op uw site worden gecrawld, maar wel AdSense-advertenties wel op die pagina's wilt weergeven, moet u alle robots behalve Mediapartners-Google blokkeren. Hierdoor worden de pagina's niet meer weergegeven in de zoekresultaten, maar kan de robot Mediapartners-Google de pagina's wel analyseren om geschikte advertenties voor weergave op die pagina's te selecteren. De robot Mediapartners-Google deelt uw pagina's niet met andere user-agents van Google. Bijvoorbeeld:
    User-agent: *
    Disallow: /
    
    User-agent: Mediapartners-Google
    Allow: /

Houd er rekening mee dat instructies hoofdlettergevoelig zijn. Met Disallow: /junk_file.asp wordt bijvoorbeeld http://www.example.com/junk_file.asp geblokkeerd, maar wordt http://www.example.com/Junk_file.asp wel toegestaan. Googlebot negeert witruimte (in het bijzonder lege regels) en onbekende instructies in het robots.txt-bestand.

Googlebot ondersteunt het indienen van sitemapbestanden via het robots.txt-bestand.

Zoekpatronen

Googlebot accepteert bepaalde zoekpatronen, maar dit geldt niet voor alle zoekmachines.

  • U kunt een asterisk (*) gebruiken om te zoeken naar overeenkomende tekenreeksen. Als u bijvoorbeeld de toegang wilt blokkeren tot alle subdirectory's die beginnen met 'privé', zou u het volgende kunnen opgeven:
    User-agent: Googlebot
    Disallow: /privé*/
  • Als u de toegang wilt blokkeren tot alle URL's die een vraagteken (?) bevatten (ofwel alle URL's die beginnen met uw domeinnaam, gevolgd door een willekeurige tekenreeks, gevolgd door een vraagteken, gevolgd door een willekeurige tekenreeks), maakt u de volgende regel aan:
    User-agent: Googlebot
    Disallow: /*?
  • U kunt het teken '$' gebruiken om te zoeken naar overeenkomende laatste tekens van de URL. Geef bijvoorbeeld het volgende op als u alle URL's wilt blokkeren die eindigen op .xls:
    User-agent: Googlebot 
    Disallow: /*.xls$

    U kunt deze zoekpatronen gebruiken in combinatie met de regel 'Allow'. Als een '?' bijvoorbeeld een sessie-ID aangeeft, wilt u misschien alle URL's uitsluiten die het vraagteken bevatten, zodat Googlebot geen kopieën van pagina's crawlt. Maar URL's die eindigen met een ? kunnen ook precies de versie van de pagina zijn die u wilt toevoegen aan de index. In dat geval kunt u uw robots.txt-bestand als volgt instellen:

    User-agent: *
    Allow: /*?$
    Disallow: /*?

    Met de instructie Disallow: / *? worden alle URL's geblokkeerd die een '?' bevatten. (De regel blokkeert alle URL's die beginnen met uw domeinnaam, gevolgd door een willekeurige tekenreeks, gevolgd door een vraagteken, gevolgd door een willekeurige tekenreeks.)

    Met de instructie Allow: /*?$ worden alle URL's toegestaan die met een '?' eindigen. (De instructie staat alle URL's toe die beginnen met uw domeinnaam, gevolgd door een willekeurige tekenreeks, gevolgd door een '?', zonder tekens na '?'.)

Sla uw robots.txt-bestand op door het bestand te downloaden of de inhoud ervan naar een tekstbestand te kopiëren en dit vervolgens als 'robots.txt' op te slaan. Sla het bestand op in de hoofddirectory van uw site. Het robots.txt-bestand moet op het hoofdniveau van het domein staan en de naam 'robots.txt' hebben. Een robots.txt-bestand dat in een subdirectory staat, is niet geldig, omdat robots alleen naar het bestand zoeken op het hoofdniveau van het domein. 'http://www.example.com/robots.txt' is bijvoorbeeld een geldige locatie, terwijl 'http://www.example.com/mijnsite/robots.txt' geen geldige locatie is.

Een robots.txt-bestand testen

Met de tool robots.txt analyseren kunt u bekijken of uw robots.txt-bestand de toegang van Googlebot tot een bestand of directory op uw site toevallig blokkeert, of dat dit bestand toestaat dat Googlebot bestanden crawlt die u niet op internet wilt laten weergeven. Wanneer u een tekst van een mogelijk robots.txt-bestand opgeeft, wordt deze tekst door de tool op dezelfde manier gelezen als door Googlebot. Vervolgens worden de effecten van het bestand en eventuele gevonden problemen weergegeven.

Een robots.txt-bestand testen:

  1. Open de startpagina van Google Webmastertools en klik op de gewenste site.
  2. Klik onder Crawlen op Geblokkeerde URL's.
  3. Klik op het tabblad robots.txt. analyseren als dit nog niet is geselecteerd.
  4. Kopieer de inhoud van uw robots.txt-bestand en plak deze in het eerste vak.
  5. Vermeld de te controleren site in het vak URL's.
  6. Selecteer de gewenste user-agents in de lijst User-agents.

Wijzigingen die u in deze tool aanbrengt, worden niet opgeslagen. Als u wijzigingen wilt opslaan, moet u de inhoud ervan kopiëren en in uw robots.txt-bestand plakken.

Met deze tool worden alleen resultaten voor user-agents van Google weergegeven (zoals Googlebot). Mogelijk wordt het robots.txt-bestand door andere bots niet op dezelfde manier geïnterpreteerd. Googlebot ondersteunt bijvoorbeeld een uitgebreide definitie van het standaard robots.txt-protocol. Het begrijpt zowel 'Allow:'-instructies als bepaalde zoekpatronen. De tool Het hulpprogramma kan dus regels met deze extensies verwerken, maar dit geldt alleen voor Googlebot en wellicht niet voor andere bots die uw site crawlen.