Zoekmachine Optimalisatie met Robots.txt

Een van de eerste dingen die je moet weten als webmaster is weten hoe robots.txt werkt. Wat doet robots.txt precies? Met robots.txt laat je de spiderbots weten welke pagina's en mappen wel in de zoekmachine index mogen worden opgenomen, en welke pagina's en mappen niet niet mogen worden geïndexeerd. Robots.txt vormt daarom een belangrijk onderdeel van je zoekmachine optimalisatie

robots.txt basics

robots.txt (kleine letters allemaal) is in feite een simpel text bestand. Je plaatst dit bestand altijd in je webserver root directory. Met andere woorden, als je domein www.seoking.nl is, dan vind je robots.txt op www.seoking.nl/robots.txt. Nooit in subdirectories zoals www.seoking.nl/map/robots.txt. Hetzelfde geldt voor subdomeinen. Als je subdomein poker.seoking.nl is, dan staat je robots.txt op poker.seoking.nl/robots.txt.

Een simpel robots.txt staat hieronder:

CODE:
  1. # Commentaar wordt niet gelezen door bots
  2. User-agent: *
  3. Disallow:

Laten we dit even ontleden. Op de eerste regel staat commentaar, voorafgaand door een hash/pound karakter. Deze regels worden niet gelezen door spiderbots. Hier kan je van alles typen, maar gebruik het om voor jezelf duidelijk te maken waarom je bepaalde regels gebruikt in je robots.txt.

Op de tweede regel staat User-agent, hiermee kun je een spiderbot identificeren. Elk spiderbot heeft een naam en met User-agent kun je deze individueel aanspreken. Hieronder heb ik een lijst van bekende spiderbots.

  • Google: Googlebot, Googlebot-Image (Google Image), Googlebot-Mobile (Google Mobile) en Mediapartners-Google (Google AdSense).
  • Yahoo: Slurp
  • Live: msnbot
  • Ask: teoma
  • DMOZ Checker: robozilla
  • Alexa: ia_archiver

Hier is een volledige lijst van User-Agents.

In mijn voorbeeld heb ik een asterisk (ster) gebruikt. Dit is een wildcard en dat betekent dat alle spiderbots deze regels moeten volgen.

Op de derde regel staat Disallow. Hiermee laat je de spiderbot weten welke pagina's mogen worden opgenomen en welke niet. In dit geval staat er niets. Dit betekent dat spiderbots alle pagina's mag indexeren. Het bovenstaande voorbeeld kun je vergelijken met een niet bestaande robots.txt. Zodra een spiderbot langskomt op je website en als die geen robots.txt kan vinden, dan gaat de bot ervan uit dat het alle pagina's mag opnemen in de zoekmachine index.

Laat ik een ander voorbeeld nemen voor robots.txt:

CODE:
  1. User-agent: Googlebot
  2. Disallow: /
  3. User-agent: *
  4. Disallow:

Nu zeg ik: "Googlebot, jij mag niks indexeren van mijn website. Alle andere spiderbots, jullie mogen alles indexeren." In dit voorbeeld geef ik expliciet aan dat User-agent Googlebot, de search spiderbot van Google, niets mag indexeren. Dit maal heb ik bij Disallow een forward slash. Dit betekent dat je webserver root directory niet mag worden opgenomen in de zoekmachine index. Met andere woorden, geen enkele pagina en map wordt geindexeerd. Dit voorbeeld kun je verkorten naar dit:

CODE:
  1. User-agent: Googlebot
  2. Disallow: /

Omdat ik nu alleen expliciet Googlebot aanspreek, mogen alle andere bots doen wat zij willen.

NOOT: Vergeet niet de forward slash te gebruiken bij een Disallow commando.

Nu een iets gecompliceerder voorbeeld.

CODE:
  1. User-agent: *
  2. Disallow: /secret/
  3. # Slurp = Yahoo bot
  4. User-agent: Slurp
  5. Disallow: /pages/
  6. Disallow: /poker.html
  7. Disallow: /Poker.html
  8. Disallow: /POKER.html

Wees gerust, dit is geen rocket science. De eerste twee regels geven aan dat alle spiderbots alle pagina's en mappen mogen indexen, behalve de map secret en alle pagina's die daarin zich bevinden.

Daarna geef ik expliciet aan dat Slurp (Yahoo spiderbot) ook de map pages en de pagina's daarin niet mag indexeren. Ook mag Slurp de bestanden poker.html, Poker.html en POKER.html niet indexeren.

Om het overzichtelijk te maken, hieronder laat ik zien wat de bots niet mogen indexeren.
Alle spiderbots behalve Slurp:
/secret/

Slurp:
/secret/
/pages/
/poker.html
/Poker.html
/POKER.html

Als je een uitgebreide robots.txt gaat samenstellen, dan kun je snel de fout in gaan. Je kunt ineens mappen gaan blokkeren voor bots terwijl je dat niet wilt. Het is daarom verstandig dit systematisch aan te pakken. Pak desnoods een vel papier en outline welke bots welke mappen/bestanden niet mag indexeren.

Wat ook erg belangrijk is, is dat robots.txt case-sensitive is. Met andere woorden, hoofdletters en kleine letters in bestandsnamen/mappen worden als verschillende bestanden/mappen gezien. Het bovenstaande voorbeeld geeft aan dat de laatste drie regels niet hetzelfde zijn. De drie exclusion regels worden als drie verschillende regels gezien, omdat de bestandsnamen verschillend zijn.

Inclusion Rules: Allow

De Googlebot kent ook nog een nieuwe feature, namelijk de inclusion feature (tegenover gestelde van de exclusion feature, disallow). In plaats van zeggen welke mappen en bestanden de Googlebot niet mag indexeren, kun je ook aangeven welke bestanden wel in de index mogen komen. Dit doe je met de Allow commando. Een voorbeeld staat hieronder:

CODE:
  1. User-agent: Googlebot
  2. Disallow: /
  3. Allow: /directory/

NOOT: Alleen Google bots kennen de inclusion regel.

Hiermee geef je aan dat de Googlebot geen enkele bestand mag indexeren, behalve de bestanden in de map directory. Waarom zou je de inclusion regel willen gebruiken? Dit is vooral handig voor de Google AdSense bot. Stel je voor dat de Googlebot niet een directory mag indexeren, maar je wilt wel de AdSense advertenties weergeven. Dan kun je hetvolgende robots.txt gebruiken.

CODE:
  1. User-agent: Googlebot
  2. Disallow: /tags/
  3. # MediaPartners-Google = AdSense bot
  4. User-agent: MediaPartners-Google
  5. Allow: /tags/

Een ander scenario zou kunnen zijn dat je de hele directory wilt afschermen voor spidebots, behalve voor een enkel bestand in die directory. Dan komt een Allow dus goed uit. Je zou dan het volgende doen:

CODE:
  1. User-agent: Googlebot
  2. Disallow: /tags/
  3. Allow: /tags/seo.html

Ook al staat aangegeven dat de hele directory is afgeschermd, de inclusion laat toe dat een bestand in een afgeschermde directory mag worden geindexeerd.

robots.txt is niet voor beveiliging!

robots.txt is niet bedoeld voor beveiligingsdoeleinden! Dat de spiderbots niet de bestanden indexeert betekent niet dat je bestanden veilig verborgen zijn. Immers kan iedereen je robots.txt lezen, tenzij je die cloakt. Als je je bestanden veilig opgeborgen wilt hebben, plaats deze dan niet online.

Upload altijd een robots.txt

De laatste tip die ik wil geven is dit: upload altijd een robots.txt, ookal is deze leeg (dat betekent dus dat spiderbots alles mogen indexeren). Er gaat een fabel rond dat als je geen robots.txt uploadt, dan krijgen sommige spiderbots problemen met het indexeren van je website. Deze fabel is niet waar. Waarom dit advies wordt gegeven is simpelweg voor bandbreedte redenen. Elke keer dat een spiderbot geen robots.txt kan vinden, dan krijg je een 404 en dat betekent laaaaangggeee error logs. Want een spiderbot komt vaak langs als je website een beetje PageRank heeft. Om dataverkeer te besparen kun je het beste altijd een robots.txt op je webserver zetten.

Valideer je robots.txt

Wat je zeker wilt doen is altijd je robots.txt valideren. Dan kan met behulp van Robots.txt Checker. Daarnaast kan je bij Google Webmaster Central ook je zien of alles correct is met Google's robots.txt validator.

Google Webmaster Central Robots.txt Validator

Er zijn nog meer gevorderde mogelijkheden voor robots.txt. Ook zal ik laten zien hoe je robots.txt moet gebruiken om duplicate content te voorkomen. Dat allemaal komt een andere keer aan bod.

Tags:
Stem op dit artikel of voeg het toe aan: Plaatsen/stemmen op NUjij Plaatsen/stemmen op eKudos Plaatsen/stemmen op MSN Reporter Plaatsen/stemmen op Digg Voeg dit artikel toe aan Del.icio.us Voeg toe aan je favorieten op Technorati Voeg toe aan je Google bladwijzers Verstuur deze pagina per e-mail via Feedburner Maak een notitie op deze pagina met Fleck

Gerelateerde posts:

  • Google AdSense Authenticatie Mogelijkheden
  • Wordpress TITLE Optimalisatie Plugin
  • NoFollow op Internal Links: Goed of Slecht?
  • About
  • Volg je Concurrenten met Google Alerts
  • 10 reacties

    1. Eduard Blacquière on April 26th, 2007

      Prima post! Geeft volledig van A t/m Z aan wat robots.txt is en wat je ermee kunt. Je kunt ook sinds kort in de robots.txt aangeven waar je sitemap zich bevindt: http://www.edwords.nl/2007/04/11/google/sitemap-protocol-breder-ondersteund-en-uitgebreid/

    2. Nigel on April 26th, 2007

      En we hebben weer wat geleerd.

      Heb in ieder geval een robots.txt gemaakt en geplaatst, ook al zie ik nog geen reden er iets in te zetten :) Scheelt idd 404’s, die zie ik vrij veel in de logs terug.

    3. SEO Handleiding on April 26th, 2007

      Nog een leuke toevoeging is het feit dat je sinds kort ook je sitemaps url erin kan definieren.

      Bijv:

      Sitemap: http://www.seohandleiding.nl/sitemap.xml

      Erg Handig.

    4. […] Alles over robots.txt-filles vind je bij SEO KING. […]

    5. Korting on April 29th, 2007

      Jammer dat Google een ‘disallowed’ link wel opneemt in de index. Niet qua content maar wel de link zelf.

    6. Nigel on April 29th, 2007

      En ook de sitemap staat erin nu :)

      Ben onder de indruk van wat voor ‘wetenschap’ het sturen aan zoekresultaten is. Wat doe je als ‘dayjob’ Tri Pham - SEO-consultant?

    7. Wilco on April 29th, 2007

      Zoals “korting” al zei, URL’s zullen wel opgenomen worden (als ze gelinkt worden), maar niet gelezen worden. Deze zullen dan ook zelden ergens in de resultaten tevoorschijn komen, veelal enkel als je een domein via “site:url.tld” bekijkt.

      Zoals TriPham al zei, secret files horen niet op internet thuis ;-)

    8. Tri Pham on April 29th, 2007

      @Nigel, ik heb niet echt een dayjob. Overdag heb ik college en ’s avonds tot de late uren doe ik wat SEO consulting :-)

    9. Nigel on May 1st, 2007

      Ah leuk :)
      Studeren rocks :P

      Je hebt in ieder geval geen folder meer nodig met zo’n weblog!

    10. kladblok on October 29th, 2007

      Ik zou niet weten welk gedeelte van mijn site de spiders niet mogen indexeren. Maar het is wel beter dat mijn error log een stuk korter is sinds er een robots.txt en favicon.ico in de root staan.

    Laat een reactie achter!

    Als je een specifieke anchortext wilt gebruiken: <a href="url">anchor</a>