Wat is robots.txt en hoe gebruik je het?
Auteur: Redactie Domeny.ForSale Gepubliceerd
In het kort: robots.txt is een openbaar tekstbestand dat webcrawlers vertelt welke delen van een website ze mogen ophalen en welke ze moeten overslaan. Het helpt je te bepalen hoe crawlers je website bezoeken, maar beveiligt geen gegevens en garandeert niet dat een adres uit de zoekresultaten verdwijnt. De regels werken alleen voor crawlers die ze respecteren.
Waar staat robots.txt en hoe werkt het?
Je plaatst het bestand robots.txt in de hoofdmap van de website, op een adres zoals https://example.com/robots.txt. Een crawler, een programma dat automatisch webpagina’s bezoekt, kan dit bestand lezen voordat hij de inhoud van die pagina’s ophaalt. Aan de hand van de regels bepaalt hij welke paden hij mag bezoeken.
De regels gelden voor een specifiek protocol, een specifieke host en een specifieke poort. Het bestand op https://example.com stuurt niet automatisch de crawlers op https://winkel.example.com of op de HTTP-versie aan. Een subdomein waarvoor eigen beperkingen nodig zijn, vereist een aparte configuratie.
Als het bestand ontbreekt en de server de statuscode HTTP 404, oftewel ‘niet gevonden’, teruggeeft, betekent dat in principe dat er geen beperkingen vanuit robots.txt gelden. Dat is iets anders dan een serverstoring: serverfouten bij het ophalen van dit bestand kunnen ervoor zorgen dat crawlers de website tijdelijk minder bezoeken. Hoe zulke fouten precies worden afgehandeld, verschilt per crawler.
Hoe lees en schrijf je de regels?
De basisregels vormen een groep: eerst geven ze aan voor welke crawler ze gelden, daarna welke paden toegestaan of verboden zijn. Een voorbeeldbestand kan er zo uitzien:
User-agent: *
Disallow: /zoekfunctie/
Disallow: /werkmap/
Allow: /werkmap/openbaar-voorbeeld.html
Sitemap: https://example.com/sitemap.xml
De verschillende onderdelen betekenen het volgende:
User-agent— de naam van de crawler waarvoor de regels gelden; het sterretje*duidt de algemene groep aan.Disallow— een pad dat de crawler niet mag ophalen.Allow— een toegestaan pad, vooral nuttig als uitzondering op een ruimere blokkade.Sitemap— het volledige adres van de sitemap: een bestand met een lijst van adressen die je aan de zoekmachine wilt doorgeven.
In dit voorbeeld moeten crawlers adressen overslaan die beginnen met /zoekfunctie/ en /werkmap/, maar mogen ze het aangegeven openbare bestand in de werkmap wel ophalen. Als regels voor Allow en Disallow elkaar overlappen, krijgt volgens de standaard de specifiekere overeenkomst voorrang. Paden zijn hoofdlettergevoelig.
De regel Disallow: / blokkeert het ophalen van de hele website voor crawlers die onder die groep vallen. Een lege regel Disallow: legt die blokkade niet op. Dit kleine verschil veroorzaakt vaak ernstige fouten bij het publiceren van een website.
Als je een groep voor een specifieke crawler toevoegt, controleer dan in de documentatie van die crawler hoe hij groepen selecteert. Ga er niet van uit dat de specifieke groep automatisch alle beperkingen overneemt die bij User-agent: * staan.
Ophalen blokkeren is niet hetzelfde als indexeren verbieden
Het ophalen van een pagina door een crawler, ook wel crawlen genoemd, en indexeren zijn twee verschillende processen. Indexeren betekent dat de zoekmachine informatie over een pagina analyseert en opslaat in de database waaruit de zoekresultaten worden samengesteld.
Een adres dat in robots.txt is geblokkeerd, kan nog steeds in de zoekresultaten verschijnen, bijvoorbeeld als de zoekmachine het ontdekt via links op andere websites. Een crawler hoeft de inhoud niet op te halen om te weten dat een adres bestaat.
Als een openbaar toegankelijke pagina niet in de zoekresultaten mag verschijnen, gebruik je doorgaans de instructie noindex. Die plaats je in een metatag van de pagina of in de HTTP-header X-Robots-Tag. De crawler moet het antwoord van de server kunnen ophalen om noindex te lezen. Een gelijktijdige blokkade in robots.txt kan dat verhinderen. Noindex rechtstreeks in robots.txt zetten is geen geldige manier om pagina’s uit Google te weren.
Een bedankpagina die verschijnt nadat iemand een formulier heeft verzonden, kan bijvoorbeeld toegankelijk blijven voor gebruikers en noindex krijgen. Een beheerpaneel met klantgegevens moet daarentegen inloggen en controle van toegangsrechten vereisen: alleen een verbod voor crawlers beschermt de inhoud niet.
Wanneer gebruik je robots.txt en wanneer een andere oplossing?
Robots.txt kan nuttig zijn om het ophalen van uitgebreide resultaten van een interne zoekfunctie of grote aantallen filtervarianten te beperken. Eerst moet je echter bepalen of die adressen in de zoekresultaten moeten kunnen verschijnen en of crawlers er nog andere instructies moeten kunnen lezen.
Blokkeer niet zonder onderzoek de CSS- en JavaScript-bestanden die nodig zijn om de pagina weer te geven. Als ze niet toegankelijk zijn, kan de zoekmachine moeite hebben om de vormgeving en inhoud van de website correct weer te geven. Minder bezoeken van crawlers betekenen op zichzelf niet dat de website beter zichtbaar wordt.
Het bestand robots.txt is openbaar. Zet er daarom geen wachtwoorden, tokens of lijsten met vertrouwelijke onderdelen van je website in. Bescherm een testomgeving met authenticatie of netwerkbeperkingen. Een kwaadwillende crawler kan de gepubliceerde verboden volledig negeren.
Hoe voer je het bestand veilig in en controleer je het?
Bewaar een kopie van de huidige versie voordat je robots.txt wijzigt. Voer daarna een korte controle uit:
- Open
/robots.txtop het juiste domein en controleer of de server gewone tekst teruggeeft, in plaats van een foutpagina of een inlogformulier. - Stel een lijst met voorbeeldadressen samen: de homepage, een productpagina, een artikel en een pad dat je wilt blokkeren.
- Controleer welke regels op die adressen van toepassing zijn voor de betreffende crawler. Controleer de ondersteunde syntaxis in de officiële documentatie van de zoekmachine.
- Controleer na publicatie de status van het bestand in de tools voor website-eigenaren, bijvoorbeeld Google Search Console. Crawlers kunnen een kopie van het bestand bewaren, waardoor een wijziging niet altijd meteen wordt verwerkt.
Als de website een CMS of een plug-in gebruikt die robots.txt genereert, pas dan de juiste configuratiebron aan. Een handmatig geüpload bestand kan worden overschreven of juist de automatisch gegenereerde versie vervangen. Bepaal voordat je wijzigingen opslaat het concrete doel: ophalen beperken, pagina’s uit zoekresultaten weren of gegevens beschermen. Elk doel vereist een ander hulpmiddel.
Zie ook: Wat is 2FA?
