robots.txt en sitemap.xml hebben verschillende functies
| Mechanisme | Doel | Bereik | Belangrijkste effect |
|---|---|---|---|
| robots.txt | Crawling sturen | Paden voor crawlers | Garandeert geen de-indexering |
| sitemap.xml | Belangrijke URL's melden | URL's en metadata | Hint, geen indexeringsgarantie |
| noindex | Uit index uitsluiten | URL of resource | Werkt nadat crawler de regel leest |
| rel="canonical" | Voorkeursversie aangeven | URL of resource | Sterk signaal, geen absolute richtlijn |
robots.txt maakt deel uit van het Robots Exclusion Protocol en regelt crawler-toegang tot URL-paden. RFC 9309 stelt expliciet dat dit geen toegangsautorisatie is. [4]
Een sitemap informeert zoekmachines over belangrijke pagina's, video's en andere bestanden en hun metadata. [6]
Locatie en bereik van robots.txt
Het bestand moet `robots.txt` heten en in de root van de host staan, bijvoorbeeld `https://example.com/robots.txt`. [2][4]
Het bereik is gekoppeld aan protocol, host en poort. Google hanteert ook een limiet van 500 KiB. [2][3]
Basissyntaxis
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://example.com/sitemap.xml
Google ondersteunt `user-agent`, `allow`, `disallow` en `sitemap`. `crawl-delay` wordt niet ondersteund. [3]
Het `sitemap`-veld bevat een absolute URL en mag meerdere keren voorkomen. [2][3]
Regelmatching, hoofdletters en wildcards
Google kiest de meest specifieke passende regel. Bij gelijke specificiteit van `allow` en `disallow` gebruikt Google de minst beperkende regel, `allow`. [3][4]
Padwaarden zijn hoofdlettergevoelig. Google ondersteunt `*` als wildcard en `$` als einde van de URL. [3]
robots.txt is geen noindex
Een door robots.txt geblokkeerde URL kan nog steeds in Google verschijnen als de URL via andere links wordt ontdekt. [1][3]
Gebruik `noindex` via robots meta of `X-Robots-Tag` om een URL uit de index te houden. Google moet de pagina kunnen crawlen om die regel te lezen. [5][16]
HTTP-fouten en caching van robots.txt
| Status | Gedrag van Google |
|---|---|
| 2xx | Verwerkt het robots.txt-bestand |
| 3xx | Volgt minstens 5 redirects |
| 4xx except 429 | Behandelt als geen crawlbeperkingen |
| 5xx / network | Kan crawling pauzeren en laatste geldige versie gebruiken |
Google verwerkt `2xx`, volgt bij `3xx` minstens vijf redirects en behandelt de meeste `4xx`, behalve `429`, alsof er geen crawlbeperkingen zijn. [3]
Bij `5xx` of netwerkproblemen kan Google crawling tijdelijk pauzeren en de laatst geldige versie gebruiken. robots.txt wordt normaal tot ongeveer 24 uur gecachet. [3]
Waar sitemap.xml voor dient
Een sitemap helpt belangrijke URL's ontdekken en kan wijzigingsdatums, taalvarianten, afbeeldingen, video's en nieuws bevatten. [6][7]
Google geeft aan dat een kleine site van ongeveer 500 pagina's of minder met goede interne links mogelijk geen sitemap nodig heeft. [6]
Ondersteunde sitemapformaten
Google ondersteunt XML, RSS, mRSS, Atom 1.0 en tekstsitemaps. XML is het meest veelzijdig. [7]
Google spreekt geen algemene voorkeur uit voor een van de ondersteunde formaten. [7]
Limieten voor sitemap en sitemapindex
| Bestand | Maximale items | Maximale grootte | Opmerking |
|---|---|---|---|
| Enkele sitemap | 50,000 | 50 MB | Ongecomprimeerde limiet; gzip toegestaan |
| Sitemapindex | 50,000 sitemaps | 50 MB | Ongecomprimeerde limiet; gzip toegestaan |
Eén sitemap is beperkt tot 50.000 URL's of 50 MB ongecomprimeerd. Grotere verzamelingen moeten worden opgesplitst. [7][8]
Een sitemapindex kan maximaal 50.000 sitemaps bevatten en heeft eveneens een limiet van 50 MB. gzip is toegestaan. [8]
Welke URL's in de sitemap horen
Google adviseert absolute URL's op te nemen die je in zoekresultaten wilt zien. [7]
Bij duplicaten hoort meestal de voorkeurs-canonical in de sitemap. Sitemapopname is een zwakker canonicals signaal dan een redirect of `rel="canonical"`. [7][9]
`<lastmod>`, `<priority>` en `<changefreq>`
Google negeert `<priority>` en `<changefreq>`. [7]
`<lastmod>` kan worden gebruikt als de waarde consequent betrouwbaar is en een belangrijke wijziging aan content, structured data of links weerspiegelt. [7]
Een sitemap indienen bij Google
Je kunt een sitemap indienen via Search Console, de Search Console API of via `Sitemap:` in robots.txt. [7][11][12]
Indienen is slechts een hint en garandeert geen download, crawling of indexering. [7]
Meertalige sites en speciale sitemaps
Google ondersteunt `hreflang`-relaties in XML-sitemaps. Elke taalvariant moet alle varianten, inclusief zichzelf, vermelden. [10]
Er zijn uitbreidingen voor afbeeldingen, video's en nieuws. [13][14][15]
Veelgemaakte technische SEO-fouten
Een pagina blokkeren in robots.txt en tegelijk verwachten dat Google de `noindex` leest, is een ernstige fout. [5][16]
Ook tegenstrijdige signalen tussen sitemap en `rel="canonical"` moeten worden vermeden. [9]
- Gebruik robots.txt niet als vervanging voor `noindex`.
- Plaats geen onnodige redirects, 404's of duplicaten in de sitemap.
- Wijzig `<lastmod>` niet bij iedere deployment zonder echte pagina-aanpassing.
- Houd canonical en sitemap consistent.
- Controleer subdomeinen en protocollen afzonderlijk.
Deploymentchecklist
Controleer echte HTTP-responses. robots.txt moet als tekst worden geserveerd en de sitemap in een ondersteund formaat. [2][7]
Controleer na publicatie het Sitemaps-rapport in Search Console. Bij migraties kan een sitemap helpen nieuwe URL's sneller te ontdekken. [11][17]
- Is `/robots.txt` bereikbaar?
- Zijn belangrijke URL's per ongeluk geblokkeerd?
- Blijven noindex-pagina's crawlbaar?
- Bevat de sitemap alleen absolute voorkeurs-URL's?
- Blijft elk bestand onder 50.000 URL's en 50 MB?
- Zijn canonical en sitemap consistent?
- Zijn hreflang-relaties correct?
- Meldt Search Console fouten?

