Robots.txt en Sitemap.xml: Uitleg en Best Practices
Alles over robots.txt en XML sitemaps: hoe ze werken, hoe je ze maakt, veelgemaakte fouten en best practices. Inclusief Next.js implementatie en testen met Google tools.
Introductie
Robots.txt en sitemap.xml zijn twee fundamentele bestanden die bepalen hoe zoekmachines je website ontdekken en crawlen. Ondanks hun belang worden ze vaak verkeerd geconfigureerd of zelfs helemaal vergeten. Een fout in je robots.txt kan ervoor zorgen dat Google je belangrijkste pagina's niet indexeert, terwijl een goed opgezette sitemap ervoor zorgt dat al je content efficient wordt gevonden.
In deze gids leggen we uit wat robots.txt en sitemap.xml zijn, hoe je ze correct instelt, welke fouten je moet vermijden en hoe ze samenwerken om zoekmachines optimaal door je website te leiden.
Robots.txt: De Poortwachter van Je Website
Wat is Robots.txt?
Robots.txt is een tekstbestand dat in de root van je website staat (bijvoorbeeld jouwdomein.nl/robots.txt). Het vertelt webcrawlers welke delen van je website ze mogen bezoeken en welke niet. Het volgt het Robots Exclusion Protocol, een standaard die al sinds 1994 bestaat.
Het is belangrijk om te begrijpen dat robots.txt een verzoek is, geen blokkade. Goed opgevoede crawlers zoals Googlebot respecteren de instructies, maar kwaadwillende crawlers of scrapers kunnen ze negeren. Robots.txt is dus geen beveiligingsmechanisme. Gebruik het niet om gevoelige informatie te beschermen.
De Basissyntax
Een robots.txt bestand bestaat uit een of meer groepen regels. Elke groep begint met een User-agent regel die aangeeft voor welke crawler de regels gelden, gevolgd door Disallow en/of Allow regels.
User-agent: Specificeert de crawler waarvoor de regels gelden. Gebruik een asterisk (*) voor alle crawlers, of specificeer een specifieke crawler zoals "Googlebot" of "Bingbot".
Disallow: Blokkeert de crawler voor het opgegeven pad. "Disallow: /admin/" voorkomt dat crawlers pagina's bezoeken die beginnen met /admin/.
Allow: Staat een specifiek pad toe dat anders geblokkeerd zou zijn door een Disallow-regel. Dit is nuttig voor uitzonderingen.
Sitemap: Verwijst naar de locatie van je XML sitemap. Dit is de enige regel die buiten een User-agent groep mag staan.
Voorbeelden van Robots.txt Configuraties
Alles toestaan (standaard, als je geen robots.txt hebt):
User-agent: *
Disallow:
Dit is hetzelfde als geen robots.txt hebben. Alle crawlers mogen alle pagina's bezoeken.
Specifieke mappen blokkeren:
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /intern/
Allow: /api/public/
Hier blokkeer je de admin-, api- en interne mappen voor alle crawlers, maar sta je de publieke API-pagina's wel toe.
Specifieke bestandstypen blokkeren:
User-agent: *
Disallow: /*.pdf$
Disallow: /*.doc$
Dit blokkeert het crawlen van PDF- en Word-bestanden.
Verschillende regels per crawler:
User-agent: Googlebot
Disallow: /no-google/
User-agent: Bingbot
Disallow: /no-bing/
User-agent: *
Disallow: /private/
Veelgemaakte Fouten
Per ongeluk de hele site blokkeren: "Disallow: /" blokkeert je volledige website. Dit is een van de meest voorkomende en desastreuze fouten. Het kan gebeuren bij een sitewijziging of migratie en heeft als gevolg dat Google je volledige site de-indexeert.
Blokkeren van CSS en JavaScript: Blokkeer nooit CSS- en JavaScript-bestanden voor Googlebot. Google rendert je pagina's en heeft toegang tot deze bestanden nodig om je pagina correct te begrijpen en te beoordelen. Blokkering kan leiden tot slechte rankings.
Vertrouwen op robots.txt voor beveiliging: Robots.txt is publiek toegankelijk. Iedereen kan jouwdomein.nl/robots.txt bezoeken en zien welke paden je probeert te verbergen. Gebruik het nooit om gevoelige mappen of pagina's te beschermen. Gebruik in plaats daarvan server-side authenticatie.
Geen robots.txt hebben: Hoewel het niet verplicht is, genereert een ontbrekend robots.txt 404-fouten in de serverlogs elke keer dat een crawler het probeert op te vragen. Maak altijd een robots.txt aan, al is het een leeg bestand.
Blokkeren en tegelijk een noindex-tag verwachten: Als je een pagina blokkeert met robots.txt, kan Google de noindex meta tag op die pagina niet lezen (want de pagina wordt niet gecrawled). Het resultaat: de pagina kan in de index blijven staan. Als je wilt dat een pagina niet wordt geindexeerd, gebruik dan noindex en blokkeer de pagina niet in robots.txt.
XML Sitemaps: De Routekaart voor Zoekmachines
Wat is een XML Sitemap?
Een XML sitemap is een bestand dat alle pagina's van je website opsomt die je door zoekmachines wilt laten indexeren. Het is als een routekaart die crawlers helpt om al je content te vinden, vooral pagina's die moeilijk te bereiken zijn via interne links.
Het formaat is gestandaardiseerd in het Sitemaps Protocol en wordt ondersteund door alle grote zoekmachines: Google, Bing en anderen.
Het XML Sitemap Formaat
Een XML sitemap heeft een eenvoudige structuur. Het root-element is urlset, en voor elke pagina voeg je een url-element toe met daarin:
loc (verplicht): De volledige URL van de pagina. Dit moet een absolute URL zijn, inclusief het protocol (https://).
lastmod (optioneel maar aanbevolen): De datum van de laatste significante wijziging van de pagina. Gebruik het ISO 8601 formaat (YYYY-MM-DD). Wees eerlijk; voer niet elke dag een nieuwe datum in als de content niet is gewijzigd. Google herkent valse lastmod-datums en kan ze gaan negeren.
changefreq (optioneel): Hoe vaak de pagina waarschijnlijk verandert (always, hourly, daily, weekly, monthly, yearly, never). Google negeert dit veld grotendeels, dus het is optioneel.
priority (optioneel): Een waarde van 0.0 tot 1.0 die het relatieve belang van de pagina aangeeft. Google negeert dit veld ook, dus besteed er niet te veel tijd aan.
Sitemap Index voor Grote Websites
Een enkele sitemap mag maximaal 50.000 URL's bevatten en niet groter zijn dan 50 MB. Voor grotere websites gebruik je een sitemap index: een XML-bestand dat verwijst naar meerdere sitemap-bestanden.
Dit is vooral relevant voor webshops, nieuwssites en andere grote websites. Verdeel je sitemaps logisch, bijvoorbeeld per categorie of per content-type (pagina's, producten, blogposts).
Wat Hoort er Wel en Niet in je Sitemap?
Wel opnemen: Alle pagina's die je wilt laten indexeren, inclusief je belangrijkste landingspagina's, producten, blogartikelen en categoriepagina's. Elke URL in je sitemap moet een HTTP 200-status teruggeven.
Niet opnemen: Pagina's met een noindex-tag, pagina's die doorverwijzen (301/302), pagina's die geblokkeerd zijn in robots.txt, paginering (pagina 2, 3, etc. van overzichten), URL's met parameters die dubbele content creeren.
Sitemap Genereren
De meeste CMS'en en frameworks bieden ingebouwde of plug-in-gebaseerde sitemap-generatie. In WordPress kun je plugins als Yoast SEO of Rank Math gebruiken. Voor headless of custom websites genereer je de sitemap programmatisch.
Dynamische Sitemaps in Next.js
Moderne frameworks zoals Next.js maken het mogelijk om sitemaps dynamisch te genereren. In Next.js 13+ (App Router) kun je een sitemap.ts bestand aanmaken in je app-directory. Dit bestand exporteert een functie die een MetadataRoute.Sitemap retourneert.
Het voordeel van een dynamische sitemap is dat deze automatisch wordt bijgewerkt wanneer je content toevoegt of wijzigt. Je hoeft niet handmatig URL's toe te voegen of te verwijderen. De sitemap wordt gegenereerd op basis van je daadwerkelijke content, bijvoorbeeld door je database of CMS te raadplegen.
Een effectieve implementatie haalt alle gepubliceerde pagina's op uit je database, genereert de URL's met hun lastmod-datum en retourneert het resultaat. Next.js converteert dit automatisch naar het correcte XML-formaat.
Hoe Robots.txt en Sitemap Samenwerken
Robots.txt en je sitemap vullen elkaar aan:
Robots.txt vertelt crawlers waar ze niet mogen komen. Het beperkt de crawl-ruimte.
Sitemap.xml vertelt crawlers waar ze naartoe moeten. Het wijst de weg naar je belangrijke content.
De sitemap-verwijzing in robots.txt verbindt de twee. Door je sitemap-locatie op te nemen in robots.txt, weten crawlers direct waar ze je routekaart kunnen vinden.
De ideale configuratie werkt als volgt: je robots.txt blokkeert paden die niet gecrawled hoeven te worden (admin, api, interne tools) en verwijst naar je sitemap. Je sitemap bevat alle pagina's die je wilt laten indexeren. Er is geen overlap: pagina's die in robots.txt zijn geblokkeerd, staan niet in je sitemap.
Indienen bij Google Search Console
Je Sitemap Indienen
Ga naar Google Search Console, selecteer je website en navigeer naar "Sitemaps" in het linkermenu. Voer de URL van je sitemap in (bijvoorbeeld /sitemap.xml) en klik op "Indienen".
Na het indienen toont Search Console de status: hoeveel URL's zijn ontdekt, hoeveel er zijn geindexeerd en of er fouten zijn opgetreden.
Monitoren en Fouten Oplossen
Controleer regelmatig de status van je sitemap in Search Console. Let op waarschuwingen over URL's die niet kunnen worden geindexeerd. Veelvoorkomende problemen zijn:
- URL's die een 404-fout retourneren
- URL's met een noindex-tag die toch in de sitemap staan
- URL's die doorverwijzen naar andere pagina's
- URL's die worden geblokkeerd door robots.txt
Robots.txt Testen
Google's Robots.txt Tester
Google Search Console biedt een robots.txt tester waarmee je kunt controleren of een specifieke URL wordt geblokkeerd door je robots.txt. Voer de URL in en de tool toont of deze is toegestaan of geblokkeerd, en welke regel van toepassing is.
Handmatig Controleren
Bezoek jouwdomein.nl/robots.txt in je browser om te verifieren dat het bestand correct wordt geserveerd. Controleer of het Content-Type header text/plain is. Een veelgemaakte fout is dat het bestand als text/html wordt geserveerd, wat tot parsing-problemen kan leiden.
Na Een Website Migratie
Bij een websitemigratie is het cruciaal om je robots.txt te controleren. Veel staging-omgevingen hebben een robots.txt die alle crawlers blokkeert. Als deze per ongeluk mee migreert naar productie, wordt je volledige website geblokkeerd voor zoekmachines. Maak een checklist en controleer robots.txt altijd als een van de eerste stappen na een migratie.
Best Practices Samengevat
Robots.txt Best Practices
1. Plaats het bestand altijd in de root van je domein
2. Blokkeer geen CSS of JavaScript
3. Verwijs naar je sitemap
4. Test na elke wijziging
5. Houd het simpel en overzichtelijk
6. Gebruik het niet als beveiligingsmechanisme
7. Controleer na elke site-migratie
Sitemap Best Practices
1. Bevat alleen indexeerbare, canonieke URL's
2. Gebruik correcte lastmod-datums
3. Houd de sitemap up-to-date
4. Dien in via Google Search Console
5. Gebruik een sitemap index voor grote sites
6. Genereer dynamisch waar mogelijk
7. Valideer regelmatig op fouten
Conclusie
Robots.txt en sitemap.xml zijn de technische ruggengraat van hoe zoekmachines je website ontdekken en begrijpen. Een correct geconfigureerde robots.txt voorkomt dat crawlers tijd verspillen aan irrelevante pagina's, terwijl een goed onderhouden sitemap ervoor zorgt dat al je waardevolle content wordt gevonden en geindexeerd. Investeer tijd in het correct opzetten en regelmatig controleren van beide bestanden. Het is een kleine inspanning met een potentieel grote impact op je technische SEO en uiteindelijk je zichtbaarheid in de zoekresultaten.
Tags
Deel dit artikel
Thomas van der Berg
SEO Specialist bij CleverKeywords
Gerelateerde Artikelen
Klaar om je SEO te verbeteren?
Probeer CleverKeywords gratis en ontdek de beste keywords voor jouw website.
Start Gratis Proefperiode