Wat is een robots.txt bestand?

Een robots.txt bestand is een tekstbestand dat instructies bevat voor zoekmachines. Door deze instructies in het robots.txt bestand weet de crawler van een zoekmachine hoe het moet om gaan met de website. De instructies in het robots.txt bestand geven aan welke pagina’s zoekmachines wel of niet mogen crawlen. Het robots.txt bestand is te zien als de handleiding van je website voor alle zoekmachines.

Wat is crawling?

Alle zoekmachines bezoeken je website op dagelijkse, wekelijkse of maandelijkse basis. Dit wordt ook wel crawlen genoemd. Door crawling word je opgenomen in de zoekresultaten. Het crawl proces start bij het robots.txt bestand.

De locatie van het robots.txt bestand

Het robots.txt bestand wordt geplaatst in de hoofdmap van de website, ook wel de root genoemd. Wanneer een crawler je website bezoekt, bezoekt deze eerst het robots.txt bestand. Wanneer er geen robots.txt bestand aanwezig is, crawlt de crawler automatisch alle pagina’s die de crawler binnen je crawl budget tegenkomt.

Hoe ziet een robots.txt bestand er uit?

Een robots.txt bestand is een tekstbestand met instructies. Op elke regel wordt één instructie geplaatst. Je vindt het robots.txt bestand door /robots.txt toe te voegen aan jouw hoofddomein.

Het robots.txt bestand van onze website vind je via de URL: https://smartranking.nl/robots.txt. Je ziet hier onze robots.txt, waarin een aantal regels met instructies staan. Hierdoor weet de crawler hoe het moet omgaan met onze website.

Waarom is een robots.txt bestand belangrijk?

Wanneer je geen robots.txt bestand hebt, crawlt de crawler de gehele website. Dit betekent dat ook onnodige pagina’s, zoals de inlogpagina van de website, worden gecrawld. Deze hoeven niet in de zoekresultaten te belanden en slokken het crawlbudget op.

Het robots.txt bestand geeft instructies aan de zoekmachines en staat aan de basis van het crawlproces. In de meeste gevallen worden de instructies ook opgevolgd, waardoor dit bestand belangrijk is. De zoekmachine kan jouw robots.txt bestand negeren. Dit zal het geval zijn wanneer zoekmachines denken dat de inhoud irrelevant is. Dit komt niet vaak voor.

Wat is het crawlbudget?

Het crawlbudget is de tijd die een crawler neemt voor het bezoeken van je website. Hoe meer crawlbudget, een crawler voor jouw website heeft, hoe meer pagina’s deze bezoekt. Grote websites, zoals nieuwssites, krijgen over het algemeen meer crawlbudget, dan een kleine website met pagina’s die niet vaak worden aangepast.

Hoe lang de crawler er precies over doet, weet je niet van tevoren. Wel kun je een inschatting krijgen via de crawlstatistieken die je Google Search Console vindt. Daarom is het slim om ervoor te zorgen dat onnodige pagina’s, zoals een inlogpagina, niet worden gecrawld.

Hoe stel je een robots.txt bestand op?

Vrijwel alle grote zoekmachines, zoals Google en Bing, maken gebruik van de robots.txt en hebben ook richtlijnen opgesteld. Deze richtlijnen geven aan hoe je de instructies moet opstellen. Wanneer je de instructies incorrect opneemt in het robots.txt bestand raken zoekmachines in de war. De belangrijkste instructies zijn:

  • Het gebruik van User-agent.
  • Het gebruik van Disallow en Allow.
  • Het gebruik van Wildcards.

User-agent: welke zoekmachines mogen de website crawlen?

Het robots.txt bestand start vaak met User-agent: *. Deze User-agent instructie geeft aan voor welke zoekmachine de instructie is bedoeld. Wanneer je de instructie User-agent: * gebruikt, geef je aan dat de instructies gelden voor alle crawlers, waaronder de crawlers van zoekmachines en overige bots op het internet.

Daarnaast is het mogelijk specifiek een zoekmachine instructies te geven. Elke zoekmachine heeft zijn eigen naam. Zo heet de user-agent van Google GoogleBot en die van Bing heet BingBot.

Heb je een instructie voor één specifieke crawler, is het belangrijk dit specifiek aan te geven. Heb je bijvoorbeeld een instructie specifiek voor Google, dan gebruik je User-agent: Googlebot. Wanneer je dit gebruikt, zal Google de instructies daaronder ook opvolgen en andere crawlers zullen de instructies negeren.

Dit betekent ook dat je eerst instructies voor crawlers kunt opgeven en later specifiek voor één crawler. Je vult dus eerst instructies in met als user-agent de regel User-agent: * en geeft verderop in het robots.txt bestand instructies voor een specifieke crawler. Dit zit er bijvoorbeeld zo uit:

User-agent: *
Disallow: /over/
Disallow: /over/smartranking/

User-agent: Googlebot
DIsallow: /over/smartranking/

Disallow en Allow regels: toegang geven of verbieden

Disallow en Allow zijn de twee instructies waarmee je de zoekmachine juist wel of geen toegang geeft tot bepaalde delen van de website. Met een disallow instructie verbied je toegang tot een pagina of een groep pagina’s en met de allow instructie geef je juist toegang tot een pagina of een groep pagina’s.

Dit ziet er bijvoorbeeld zo uit in je robots.txt:

User-agent: *
Disallow: /wp-admin/
Sitemap: https://smartranking.nl/sitemap.xml

In het dit voorbeeld sluiten wij door middel van Disallow: /wp-admin/ de back-end van de website uit. Vrijwel iedereen weet dat /wp-admin/ de inlogpagina is van een WordPress website. Deze hoeft niet te worden gecrawld.

Met de instructie: Disallow verbied je de zoekmachine toegang tot deze pagina. Hierdoor wordt de pagina niet gecrawld, tenzij een backlink naar deze pagina vindbaar is op de website zelf. Dan zal de crawler alsnog de pagina vinden. Sluit dus niet alleen de pagina uit via de robots.txt, maar zorg ook dat deze niet zichtbaar aanwezig is op de website.

Uiteraard komt het ook voor dat je specifieke toegang wilt geven tot een pagina. Gebruik dan de Allow instructie. Wil je bijvoorbeeld zeker weten dat jouw blog wordt gecrawld? Plaats dan simpelweg: Allow: /blog/ in het robots.txt bestand.

Wildcards: instructies voor een groep pagina’s

De instructie User-agent: * bevat een wildcard en daarmee geeft het een instructie aan meerdere zoekmachines. Een wildcard is een symbool dat een karakter of reeks karakters vervangt, waardoor je niet voor elke URL of crawler een instructie hoeft op te stellen. Er zijn verschillende soorten wildcards, die je kunt gebruiken in het robots.txt bestand.

Wildcard: *

Met een asterisk als wildcard geef je aan dat elke parameter, karakter of herhaling hiermee vervangen kan worden in een oneindig lange reeks. Alles wat in de plaats van de wildcard geplaatst kan worden, valt onder de instructie die je opstelt. Bijvoorbeeld:

User-agent: * 
Disallow: /*? 

Dit betekent dat de zoekmachine elke URL waarin iets voor een vraagteken komt niet hoeft te crawlen. Dat is natuurlijk geen gewenste situatie, dus je moet deze disallow niet in je eigen robots.txt bestand plaatsen.

Wildcard: $

Het dollarteken geeft een einde van een URL aan. De wildcard $ wordt vaak gebruikt voor bestanden op de website, zoals Pdf-bestanden of PHP-bestanden. In de praktijk gebruik je deze wildcard niet veel. Een voorbeeld van het gebruik is:

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

Let op voor tegenstrijdige instructies in het robots.txt bestand

De instructies in het robots.txt bestand mogen niet tegenstrijdig zijn. Wanneer zich dit voordoet, dan zal de crawler in de war raken. Tegenstrijdige instructies kunnen ontstaan door verkeerd gebruik van wildcards of Allow en Disallow instructies die door elkaar gebruikt worden.

Voorbeeld van tegenstrijdige richtlijnen

User-agent: * 
Allow: /blog/
Disallow: /*.html

In dit voorbeeld is een instructie geplaatst om sowieso URL’s die het pad /blog/ bevatten te crawlen, maar de zoekmachine krijgt voor de hele website geen toegang tot alle URL’s met /.html. Als de URL dus /blog/{blognaam}.html bevat, wordt de crawler tegengehouden. De crawler zal hiervan in de war raken en zal de betreffende blog niet crawlen.

Sitemap verwijzingen toevoegen in het robots.txt bestand

Naast de instructies die hierboven staan is het robots.txt bestand de locatie voor een verwijzing van je sitemap. Hiermee laat je aan de crawler weten waar zij de sitemap kunnen vinden. In een sitemap staan alle URL’s van je website. Een voorbeeld van een sitemap vind je hier.

Plaats altijd een absolute URL (een volledig uitgeschreven URL) naar je sitemap. Wij adviseren ook om de sitemap in te dienen in Google Search Console of Bing Webmaster Tools, zodat je er zeker van bent dat de zoekmachine de sitemap indexeert.

Voorbeeld van een sitemap verwijzing

User-agent: *
Sitemap: https://smartranking.nl/sitemap.xml

Meerdere sitemap verwijzingen in het robots.txt bestand

Het is ook mogelijk om meerdere sitemap verwijzingen in je robots.txt op te nemen. Dit doe je wanneer je verschillende domeinen hebt voor je website of verschillende sitemaps gebruikt. De bekende WordPress SEO plugin Yoast maakt sitemaps aan voor blog, pagina’s, categorieën, auteurs en tags. Links naar deze verschillende sitemaps staan dus idealiter in je robots.txt.

Ook kan het zijn dat je een blog op een subdomein host. Verwijzingen naar meerdere sitemaps is mogelijk, zolang je dit maar correct doet. Op één regel noteer je één sitemapverwijzing. Zo zal de crawler de sitemap herkennen en bezoeken.

Voorbeeld van meerdere XML sitemapverwijzingen

User-agent: *
Sitemap: https://smartranking.nl/sitemap.xml
Sitemap: https://blog.smartranking.nl/sitemap.xml

Sitemap: https://diensten.smartranking.nl/sitemap.xml

Hoe maak ik een robots.txt bestand aan?

Het aanmaken van een robots.txt bestand is niet moeilijk. Binnen WordPress maak je gebruik van diverse SEO plugins, waaronder Yoast. Deze genereert voor jou een robots.txt en tegelijkertijd ook een XML sitemap. Hierna plaats je de sitemap handmatig in het robots.txt bestand.

Wil je het robots.txt bestand zelf maken, dan kan dit met een HTML Editor of een FTP programma. In het robots.txt bestand zet je alle instructies die jij wilt voor je website. Is het bestand klaar, dan upload je dit naar de root van de website.

Je robots.txt bestand testen

Uiteraard wil je dat je robots.txt klopt en niet tegenstrijdige instructies geeft aan de zoekmachines. Daarom is het slim om de robots.txt te controleren wanneer deze online staat.

Met Google Search Console of met onze bulk robots.txt checker controleer je gemakkelijk of het robots.txt bestand klopt. Wanneer je je website hebt gekoppeld, ga je in Google Search Console naar “Crawlen” en klik je op “robots.txt-tester”. De eventuele fouten worden vervolgens door Google aangegeven.

Waar moet ik op letten bij een robots.txt bestand?

Elke zoekmachine gaat anders om met de robots.txt. Daarom zijn er aantal punten waar je op moet letten.

De volgorde van de instructies in de robots.txt

In principe wordt altijd de eerste instructies in de robots.txt opgevolgd en daarna van boven naar beneden de andere instructies. Toch zijn er uitzonderingen, zo kijken Google en Bing meer naar specifieke instructies, waarbij de langste instructie als eerste wordt opgevolgd. Bijvoorbeeld:

User-agent: *
Disallow: /over/
Allow: /over/smartranking/ 

In het dit voorbeeld zal de Allow instructie eerder worden opgevolgd, dan de Disallow. Namelijk, de redenatie is hoe langer de instructie, hoe specifieker. Wil je meerdere zoekmachines apart instructies geven in de robots.txt, dan moet je op de volgorde letten.

Wees specifiek bij het opgeven van Disallows en Allows

Voor alle instructies geldt dat je zo specifiek mogelijk moet zijn. Alleen op die manier geef je correcte en goede instructies aan de zoekmachines. Met Disallow verbied je simpelweg toegang tot delen van de website en met Allow waar je wel toegang toe wil geven.

Gebruik deze instructies niet door elkaar en stel ze zo specifiek mogelijk op. Daarmee voorkom je tegenstrijdige instructies.

Pas op voor tegenstrijdige instructies

Gebruik geen specifieke instructies en wildcards door elkaar heen. Een ander probleem is het geven van instructies voor alle zoekmachines en daarna instructies voor specifieke zoekmachines. Bijvoorbeeld:

User-agent: *
Disallow: /over/
Disallow: /over/smartranking/

User-agent: Googlebot
Allow: /over/

In dit voorbeeld krijgen alle zoekmachines geen toegang tot /over/ en /over/smartranking/, maar GoogleBot wordt later geïnstrueerd om juist wel de pagina met /over/ te bezoeken. Dit is tegenstrijdig voor Google en zal in de war raken van deze instructies.

Maak voor elk domein een aparte robots.txt aan

Voor elk domein moet je een aparte robots.txt aanmaken en plaatsen. Mocht je een .com en .nl versie hebben, plaats dan ook op domein een robots.txt bestand. Dit geldt ook voor subdomeinen.

Google Search Console & robots.txt

In Google Search Console geef je aan hoe Google met jouw website om moet gaan. Dit doe je ook in de robots.txt. Mochten deze instructies van elkaar verschillen en daardoor dus met elkaar conflicteren, dan kiest Google voor de instructies van Google Search Console. Controleer altijd wat je hebt vermeld in Google Search Console en wat je vermeldt in de robots.txt.

Noindex tags en Allows in je robots.txt bestand

Met een noindex tag geef je gemakkelijk aan een crawler aan dat de (zoekmachine vriendelijke) URL niet geïndexeerd hoeft te worden. Google waarschuwt deze tag niet te gebruiken bij URL’s die je opneemt in de robots.txt. Waarom dit zo is, vertelt Google ons niet. We raden je aan om deze waarschuwing op te volgen.

Maximale grootte van 500 kb

Google geeft aan een robots.txt van maximaal 500 KB te ondersteunen. Alle inhoud van de robots.txt na 500 KB wordt genegeerd. Welke richtlijnen andere zoekmachines hanteren hiervoor is onduidelijk.

Let op voor hoofdletters

Een URL is hoofdlettergevoelig en je robots.txt ook. Gebruik daarom geen hoofdletters in de bestandsnaam.

Opmerkingen plaatsen in je robots.txt

Wanneer je opmerkingen in je robots.txt bestand plaatst, gebruik je hiervoor de hashtag. Opmerkingen plaats je om aan te geven waarvoor de instructie dient. Zoekmachines gebruiken deze opmerkingen niet, dus deze zijn bedoeld voor je collega’s en jezelf.

Voorbeeld van opmerkingen

# Alle user-agents moeten deze sitemaps kunnen crawlen
User-agent: *
# Opsomming van onze sitemaps, nieuwe sitemaps moeten hier ook worden toegevoegd

Sitemap: https://smartranking.nl/sitemap.xml
Sitemap: https://blog.smartranking.nl/sitemap.xml

Sitemap: https://diensten.smartranking.nl/sitemap.xml

Veelgestelde vragen over de robots.txt

Voorkomt een robots.txt dat bepaalde URL’s in de zoekresultaten belanden?

Wanneer een pagina de tag <meta name="robots" content="index, follow"> bevat, maar de crawler geen toegang krijgt via de robots.txt, wordt de URL alsnog geïndexeerd. Een robots.txt geeft geen garantie dat de pagina’s niet in de zoekresultaten belanden. Toch zijn instructies in de robots.txt wel belangrijke richtlijnen waar zoekmachines zich in de meeste gevallen aan houden.

Tip: wil je de URL verwijderen uit de zoekresultaten? Dat kan via Google Search Console. Let wel op dat hier de URL tijdelijk uit de zoekresultaten verwijderd. Iedere 90 dagen moet je terug komen om deze handmatig te verwijderen uit de zoekresultaten.

Welke zoekmachines maken gebruik van de robots.txt?

Vrijwel alle grote zoekmachines maken gebruik van de robots.txt. Dit zijn onder meer Google, Bing, Yahoo, DuckDuckGo, Yandex en Baidu. Een robots.txt bestand is dus ook een belangrijk onderdeel van internationale SEO.

Wat is crawl-delay in het robots.txt bestand?

Het is mogelijk om de instructie crawl-delay te geven aan de zoekmachines in het robots.txt bestand. Dit voorkomt dat de serves overbelast worden door de verzoeken.

Zoekmachines kunnen de server overbelasten en dan is het toevoegen van deze instructie verstandig. Uiteindelijk zul je toch een beter hosting platform moeten zoeken voor je website, want de crawl-delay instructie is slechts een tijdelijke oplossing. Google negeert een crawl-delay en bepaalt zelf hoeveel URL’s er per seconde worden gecrawld.

Jarik Oosting

Dit artikel is geschreven door Jarik Oosting

Met een passie voor SEO en een ongeëvenaarde drive om resultaten te behalen, is Jarik Oosting de drijvende kracht achter SmartRanking. Met meer dan 13 jaar ervaring in het veld heeft Jarik een schat aan kennis opgebouwd, variërend van technische SEO tot complexe migraties. Als oprichter van SmartRanking heeft hij een team van gelijkgestemde SEO specialisten samengebracht die bedrijven helpen hun online potentieel te realiseren.

Zijn academische achtergrond in Informatiewetenschappen aan de Rijksuniversiteit Groningen, met een specialisatie in Natural Language Processing, geeft hem een unieke kijk op de wereld van SEO. Voor Jarik gaat het niet alleen om vindbaarheid in zoekmachines, maar om het delen van kennis en het begeleiden van bedrijven naar duurzaam online succes.

Meer over SmartRanking