Robots.txt: leer vloeiend converseren met Google

Home » Blog » SEO » Robots.txt: leer vloeiend converseren met Google

Een robots.txt is een simpel tekstbestandje dat elke website hoort te hebben. Hiermee communiceer je namelijk met zeer belangrijke robots. Zie nu niet direct Terminator-achtige taferelen voor je. De robots die hier bedoeld worden zijn de crawlers van zoekmachines zoals Google.

Deze crawlers bezoeken je site om deze in hun index op te nemen. Pas dan kan je site worden getoond aan gebruikers. Door ze goed te door je site te leiden, zorg je ervoor dat zoekers nieuwe content op je site zo snel mogelijk te zien krijgen.

In dit artikel leer je hoe je je robots.txt gebruikt om crawlers zo goed mogelijk te instrueren. Vervolgens leggen we het verschil tussen nofollow, noindex via robots metatags en je robots.txt uit. Tot slot krijg je een handige checklist om bij nieuwe of aangepaste robots.txt’s te gebruiken.

Robots.txt gemeen

Laat je niet intimideren! Deze robots luisteren naar je.

Wat kan je met een robots.txt?

Je robots.txt is een bestand met een aantal regels. Crawlers van zoekmachines bekijken als eerste dit bestand, voor ze door je website heen gaan bladeren. Door onbelangrijke pagina’s uit te sluiten via robots.txt, zorg je ervoor dat belangrijke pagina’s eerder gezien worden. Zo zorg je ervoor dat nieuwsberichten of andere updates snel vindbaar zijn.

Crawlers bekijken een beperkt aantal pagina’s van je site per dag. Dat noemen we het crawlbudget. In Google Search Console kan je zien hoeveel pagina’s Google per dag gemiddeld crawlt. Dit is je crawlbudget per dag. Als je de crawler vertelt dat hij bepaalde pagina’s niet hoeft te bezoeken, wordt de rest dus vaker gezien. Een nieuwe pagina (bijvoorbeeld een nieuwsartikel) wordt dan sneller geïndexeerd en daardoor ook sneller vindbaar.

Je kan nog meer met je robots.txt: wellicht wil je dat bepaalde bestanden, zoals pdf’s, niet gecrawld worden. Dat kan je instellen. Ook wil je de crawler graag laten weten waar hij je sitemap kan vinden, zodat hij je site optimaal kan indexeren.

De taal van een robots.txt

Nu je weet hoe nuttig een robots.txt-bestand is, kan je vast niet wachten om te beginnen. Maar zorg je ervoor dat de crawlers je begrijpen? Daarvoor moet je hun taal spreken. Voor degenen die nu flashback krijgen naar de middelbare school: schrik niet, het is veel makkelijker dan Duits leren. In de tijd die het bij Duits kost om te leren hoe je de weg vraagt en dat een Schweinhund geen dier is, kan je de hele taal van de robots.txt leren. Nadat je dit artikel hebt gelezen spreek je dus vloeiend robots.txt.

son-of-a-bitch-2613125_640

Raus, du existiert nicht!

Laten we bij het begin beginnen. Een instructie in je robots.txt bestaat uit een User Agent en een instructie, bijvoorbeeld Disallow:

User agent:

Disallow:

Bij ‘user agent’ vul je in voor welke crawler de instructie bedoeld is. Dat kan bijvoorbeeld Googlebot zijn. Bij Disallow vul je de URI in van een deel van je site dat niet bezocht mag worden door deze crawler. Als je bijvoorbeeld de map ‘https://www.voorbeeld.nl/geheim’ niet wil laten bezoeken door Googlebot, ziet de instructie er zo uit:

User agent: Googlebot

Disallow: /geheim/

Je spreekt nu al een aardig woordje over de grens. Je kan echter meer met je robots.txt. Stel je bijvoorbeeld voor dat je alleen alle .png-bestanden in de map ‘geheim’ wil blokkeren. Dan heb je natuurlijk geen zin om deze URI’s een-voor-een te gaan invullen. Gelukkig kan je voor Googlebot twee Regular Expressions gebruiken. Normaal gesproken is RegEx net zo ingewikkeld als Duitse grammatica. In de robots.txt is het echter veel simpeler: er worden alleen twee tekens uit geleend. Het teken ‘*’ is daarvan het meest nuttig. Het kan namelijk voor alles staan. In het hiervoor genoemd voorbeeld schrijf je dan dit:

User agent: Googlebot

Disallow: /geheim/*.png

Nu heb je de bestanden /geheim/moeilijk-geheim.png, /geheim/super-geheim.png, enzovoort uitgesloten. Bestanden die niet beginnen met /geheim/ of eindigen in .png worden nog steeds bezocht.

Dat betekent ook dat je instructies kan schrijven voor alle bots, in plaats van een specifieke. Als geen enkele crawler de map ‘geheim’ mag bezoeken, schrijf je dit:

User agent: *

Disallow: /geheim

Het tweede teken dat je kan gebruiken is ‘$’. Dat betekent dat alleen de exacte URL die je ingevoerd hebt geblokkeerd moet worden. Dan blokkeer je dieper gelegen pagina’s niet. Voorbeeld:

User agent: *

Disallow: /geheim/$

De URL https://www.voorbeeld.nl/geheim/ is met deze instructie geblokkeerd voor de crawler. Als de URL https://www.voorbeeld.nl/geheim/tochnietzogeheim/ bestaat, is deze echter niet geblokkeerd. Dit geldt voor alle dieper gelegen pagina’s.

Stel je voor, je wil een map van je website uitsluiten, behalve een bepaald deel ervan. Dan zou je, als je ‘disallow’ gebruikt, alle andere delen van die map apart moeten gaan blokkeren. Zonde van de tijd. Gelukkig is er de tegenhanger van ‘disallow’: ‘allow’. Handig, want zo kan je makkelijk uitzonderingen opnemen. Een voorbeeld:

User agent: *

Disallow: /geheim/

Allow: /geheim/tochnietzogeheim

Nu heb je alles achter ‘/geheim/’ uitgesloten, behalve ‘/geheim/tochnietzogeheim/’. Dit commando werkt niet voor elke crawler, maar wel voor de belangrijksten zoals Googlebot.

Goed bezig! Je spreekt al een aardig woordje robots.txt. Als we het weer met Duits vergelijken, kan je nu al een goed gesprek houden over je favoriete type braadworst.

robots.txt metafoor bratwurst

Diese Wursten sind nicht gleich!

 

Tot slot is er nog een belangrijk commando, waarvan we iedereen aanraden het te gebruiken. Heel simpel wijs je hiermee de crawler de weg naar je sitemap. Zoals we al eerder schreven, is het goed voor SEO om een sitemap te gebruiken. Neem dus de volgende instructie op in je robots.txt:

Sitemap: https://voorbeeld.nl/sitemap.xml

Let op dat de bestandsnaam van je sitemap ook anders kan zijn dan ‘sitemap.xml’. Ook kan een site meerdere sitemaps hebben (die je allemaal kan vermelden). Controleer dus of je wel de juiste URL hebt ingevoerd.

Wanneer gebruik je robots.txt en wanneer robots metatags (noindex, nofollow)?

Robots metatags zijn stukjes code in de header van elke pagina, waarmee met crawlers kan communiceren. Je kan hiermee een aantal instructies geven, waarvan de belangrijkste twee zijn:

  • Noindex: de crawler mag de pagina niet indexeren; en
  • Nofollow: de crawler mag de links op de pagina niet volgen.

Vaak worden deze twee tags gezamenlijk gebruikt. Dan vertel je de crawler dus dat hij de pagina niet mag opnemen in zijn index en de links niet mag volgen. Dat lijkt dus best op het blokkeren via de robots.txt. Toch is er een verschil.

Je instructie in robots.txt wordt gelezen door de crawler, maar niet altijd opgevolgd. Hij kan er bijvoorbeeld via een externe link terechtkomen Als de crawler denkt dat de pagina toch relevant is, wordt hij alsnog geïndexeerd. In dat geval komt hij in de zoekresultaten naar voren en krijg je in de metabeschrijving de volgende melding te zien:

“A description for this result is not available because of this site’s robots.txt – learn more”

Noindex, nofollow zorgt er wel voor dat de pagina zeker niet geïndexeerd wordt. Pagina’s met deze tags komen niet in de zoekresultaten naar voren. Ze kunnen echter nog wel door de crawler worden bezocht, via een interne of externe link die niet op nofollow staat.

robots.txt vs robots metatags

He? Wanneer gebruik ik nu welke?

Wanneer gebruik je nu dus noindex, nofollow en wanneer robots.txt? Houd de volgende regels aan:

Als er pagina’s in de zoekresultaten te zien zijn waarvan dat niet de bedoeling is, heb je een indexatieprobleem. Dan gebruik je noindex, nofollow in je robots metatags.

Als Google te veel pagina’s crawlt, wat ten koste gaat van je crawlbudget, heb je een crawlprobleem. Dan gebruik je disallow in robots.txt.

Checklist

Gebruik de volgende checklist om te controleren of je je robots.txt goed hebt ingericht:

  • Heb je je robots.txt getest via Google Search Console? Check hier ook of er niet per ongeluk belangrijke pagina’s worden geblokkeerd. Dit kan ook voordat je hem uploadt.
  • Staat de robots.txt in het eerste niveau van je sitestructuur? Dus zo: https://www.voorbeeld.nl/robots.txt. Anders kan de zoekmachine het bestand niet vinden.
  • Heeft je site subdomeinen? Deze krijgen allen een aparte robots.txt.
  • Staat je sitemap in je robots.txt?
  • Staan er geen hoofdletters in de bestandsnaam van je robots.txt? Dan kan de crawler hem niet meer vinden.

Vloeiend in de taal van robots.txt

Nu je dit artikel gelezen hebt, weet je precies waar je je robots.txt voor kan inzetten, en hoe je dit het beste doet. Kijk dus meteen even of je alles goed hebt staan en of er iets verbeterd kan worden. Vergeet niet te testen via Google Search Console voordat je veranderingen doorvoert.

Je spreekt nu vloeiend robots.txt. Om je site te optimaliseren op SEO-gebied zijn er echter nog veel meer talen die je moet kunnen spreken. Sommigen daarvan doen qua ingewikkeldheid niet onder voor Duits! Heb je een bedrijf en heb je hulp nodig van native speakers? Neem dan contact op met onze specialisten.

Relevante diensten

Meer lezen over dit onderwerp? Bekijk onze relevante diensten.

Reageren