Headerafbeelding robots.txt

De robots.txt optimaal gebruiken

De robots.txt is een belangrijk onderdeel van een website. En toch wordt deze vaak niet of verkeerd geïmplementeerd en gebruikt. In deze blog leg ik uit wat dit is en geef ik je een aantal situaties waarvoor jij het nu ook meteen kan gebruiken. Hierdoor laat jij geen kansen meer liggen.

Wat is een robots.txt?

De robots.txt is een tekstbestand dat op een website staat. Wanneer een crawler (zoekmachine) een website bezoekt kijkt deze als eerste naar dit bestand. Dit werkt als een soort handleiding voor die website. Hier staat namelijk in welke pagina’s de crawler wel of niet mag crawlen.

Waarom is de robots.txt belangrijk?

Waarom zou je een robots.txt gebruiken? Je wilt toch altijd gevonden worden? En zo niet, dan kan ik toch alle pagina’s gewoon een noindex tag geven? En ja, dat kan. Maar waarom zou je het jezelf moeilijk maken door een groot aantal pagina’s handmatig een tag te geven en dit elke keer in de gaten te houden wanneer nieuwe pagina’s aangemaakt worden voor je website?

Een robots.txt-bestand wordt voornamelijk gebruikt om crawlverkeer naar websites te beheren. Ook helpt het ervoor te zorgen dat je bestanden zoals .pdf en .xls niet tussen de zoekresultaten belanden. Daarnaast krijg je ook meer zeggenschap over de crawlverzoeken die je webpagina’s krijgen. Hierdoor heb je meer invloed op hoe het crawlbudget wordt gebruikt. De instructies in het robots.txt-bestand wordt ook wel directives genoemd.

Let op! Je kan met de robots.txt alleen het crawlen beïnvloeden, niet het indexeren.

De basisonderdelen van de robots.txt

In het robots.txt-bestand kunnen verschillende onderdelen voorkomen. Deze worden hieronder besproken.

User agent: de user agent staat voor de crawler. In de robots.txt kan je per crawler verschillende instructies geven. In de praktijk wordt dit veelal gebruikt om specifieke crawlers te blokkeren. Wanneer een directive wordt gegeven voor een specifieke crawler zal hij de algemene directive niet meer volgen.

				
					User-agent: *
Disallow: /

User-agent: Googlebot
Disallow: /nogoogle/
				
			

Disallow en Allow: met disallow geef je aan welke pagina of paginagroepen je niet gecrawled wit hebben. Bijvoorbeeld alle pagina’s die de parameters van een zoekopdracht bevatten (zoals ‘q=’). Met allow kan je aangeven dat je specifieke pagina’s in deze groep juist wel weer gecrawled wilt hebben.

				
					User-agent: *
Disallow: /blog/pagina
Allow: /blog/pagina/1

				
			

*: De * is eigenlijk een soort joker. Net als bij Rummikub kan je deze inzetten als een teken dat elke mogelijke reeks vertegenwoordigt. Bijvoorbeeld ‘User-agent: *’ betekent dat de directive geldt voor alle crawlers.

				
					User-agent: *
Disallow: /blog/
				
			

$: Met de $ match je URL’s die hetzelfde eindigen. Hiermee kan je bijvoorbeeld gemakkelijk alle .pdf bestanden aangeven.

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


				
			

#: Net als in broncodes kunnen ook comments gezet worden in de robots.txt. Wil je een opmerking toevoegen? Plaats hiervoor dan een #. Alles na de hashtag (op dezelfde regel) wordt genegeerd door de user agents.

				
					# Group 1
User-agent: *
Disallow: / # verwijderen na livegang

# Group 2
User-agent: MJ12bot
Disallow: / # niet verwijderen na livegang
				
			

Crawldelay: Hoewel ik dit zelf zelden tegenkom kan ook een delay worden aangegeven voor crawlers. Dit komt direct na de Allow/Disallow. Hiermee kan je ervoor zorgen dat een crawler niet de website overspoelt met requests. Dit moet echter alleen gebruikt worden als tijdelijk oplossing. 

Googlebot negeert deze directive. Voor de Googlebot kan je dit instellen in de oude Search Console omgeving.

				
					User-agent: *
Disallow: /search/

User-agent: BingBot
Disallow: /search/
Crawldelay: 10
				
			
Crawdelay instellen in Search Console
Crawdelay instellen voor Googlebot in de oude Search Console omgeving

Sitemap: Door middel van ‘Sitemap’ kan je de sitemap(s) van de websites toevoegen. Hierover later in de blog meer informatie.

Bruikbare situaties

Naar mijn mening zou elke website (actief) gebruik moeten maken van een robots.txt-bestand. In deze blog geef ik vier mogelijkheden om de robots.txt in te zetten. Ik ben ervan overtuigd dat minstens een van die vier bruikbaar is voor jouw website.

Sitemap(s)

Zoals we al eerder hebben besproken, kan je ook de locatie van je sitemap aangeven in de robots.txt. Ook als je voor de rest de robots.txt niet gebruikt kan ik dit sterk adviseren. Zoekmachines beginnen namelijk op websites bij het robots.txt-bestand. Zij kunnen deze gemakkelijk vinden omdat deze altijd op dezelfde plek staat. Daarentegen heeft een Sitemap geen vaste plaats. 

Dus door je Sitemap(s) te vernoemen in de Robot.txt kan een crawler deze gemakkelijk en snel vinden. Voeg de Sitemap toe door de volgende regel toe te voegen aan het bestand. Hierbij is het belangrijk dat de gehele URL wordt opgegeven: “Sitemap: https://jouwdomein/jouwsitemap.xml”

				
					User-agent: *
Disallow: /wp-admin/
Disallow: /*pdf*/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://jouwdomein.nl/jouwsitemap.xml
Sitemap: https://jouwdomein.nl/jouwsitemap_afbeeldingen.xml

				
			

Let op! Dit is ook belangrijk wanneer je je sitemap al hebt geüpload in Search Console. Er zijn immers meerdere zoekmachines dan alleen Google.

Parameters/Duplicate content

Een website die gebruik maakt van parameters heeft al snel duplicate content. In veel gevallen kan je dit al voorspellen. Dit gebeurt namelijk vrij snel met een blogoverzicht met meerdere pagina’s (/page=3/) of een productoverzicht met verschillende filters (sort=popular&max=100&min=0&brand=0). Vaak zijn deze pagina’s zelf niet belangrijk genoeg en wil je ze ook niet tussen de zoekresultaten hebben. Je hebt liever dat het crawlbudget gebruikt wordt voor de belangrijke pagina’s. 

Een ander voordeel is dat pagina’s die automatisch aangemaakt worden, zoals nieuwe overzichtspagina’s bij blogs, bij het plaatsen van nieuwe blogs ook automatisch opgenomen zijn in de robots.txt. Dit is niet het geval met een noindex of canonical tag.

				
					User-agent: *
Disallow: *?page=*

				
			

(Media)bestanden

Sommige bestanden wil je liever niet tussen de zoekresultaten hebben. Bijvoorbeeld een whitepaper die achter een leadformulier zit. In tegenstelling tot webpagina’s kan je mediabestanden met de robots.txt wel verbergen voor zoekmachines.

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

Developmentomgevingen

In sommige gevallen wil je dat een website geheel niet gevonden wordt. Misschien zit je midden in een migratie. Het is natuurlijk vanzelfsprekend dat je van te voren een beeld wilt hebben van hoe de nieuwe website eruit komt te zien. Het is het meest praktisch om een demo omgeving te creëren om de nieuwe website. Dan kan alles van tevoren worden voorbereid zoals het vullen van de content en alles testen. 

Echter is het niet praktisch als deze terecht komt tussen de zoekresultaten. Het is dan praktisch om dan de gehele website uit te sluiten door middel van de robots.txt.

				
					User-agent: *
Disallow: /

				
			

Wees gewaarschuwd

De robots.txt heeft ook limieten. Het bestand is uiteindelijk een suggestie voor een crawler. Google geeft aan dat zij dit altijd zullen respecteren. Echter is Google niet de enige crawler. Hierdoor is het mogelijk dat de pagina’s wel op andere plekken zoals andere zoekmachines zichtbaar worden. 

Zoals eerder al gewaarschuwd kan de robots.txt alleen het crawlen beïnvloeden en niet het indexeren. Een pagina kan nog steeds geïndexeerd worden als deze vanaf een andere website gelinked is. Hiervoor hoeft een een pagina niet gecrawled te worden.

De robots.txt is dus geen foolproof plan. Dit omdat de robots.txt wel wordt geïndexeerd en genegeerd kan worden. Hiervoor moet dan alsnog een no-index tag worden gebruikt.

Daarnaast is het robots.txt-bestand openbaar. Hierdoor kan elke paginabezoeker de robots.txt checken én naar de pagina gaan. Dit is dus ook geen oplossing voor pagina’s met gevoelige informatie. Hiervoor moet dan gebruik worden gemaakt van een wachtwoordbeveiliging op de pagina.

Je (nieuwe) robots.txt testen?

Uiteindelijk wil je natuurlijk weten of je Robot.txt-bestand correct werkt. Het is niet de eerste keer dan een websitebeheerder een fout maakt met de robots.txt en dan de verkeerde pagina’s uitsluit. Zoals Ryanair in 2020, toen zij de gehele website uit zoekmachines haalde.

Tweet Francesco Baldini over Ryanair

Om te kijken of de specifieke directives werken kan je wachten tot de Search Console update. Maar er kan veel tijd overheen gaan voordat hij die specifieke pagina’s checkt. Dit kan sneller. 

Wil je kijken of een specifieke directive werkt en de pagina inderdaad wordt tegengehouden? Voor Googlebot kan je de robots.txt-tester van Google webmaster tools gebruiken. Hiervoor heb je (toegang tot) Search Console nodig.

Heb je geen toegang tot Search Console of wil je het checken voor een andere crawler? Hier heeft Merkle een makkelijke tool voor ontwikkeld.

Website verder optimaliseren?

De robots.txt is maar een van de vele onderwerpen van technische SEO. Je website verder optimaliseren?  Bekijk dan eens de technische SEO checklist.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on skype
Categories
Scroll to Top

Deze website gebruikt cookies om je de best mogelijke ervaring te bieden.