Module 3 · 3.4
sitemap.xml: de inhoudsopgave voor zoekmachines
Module 3: De technische basis van een pagina · Leestijd: 11 minuten
Leerdoel: Na deze les kun je een sitemap.xml lezen, beoordelen of hij klopt en zorgen dat zoekmachines hem vinden.
Kernbegrippen: XML-sitemap, sitemaps.org-protocol, urlset, url, loc, lastmod, changefreq en priority (genegeerd door Google), grens van 50.000 adressen en 50 MB, sitemapindex, canonieke adressen, Sitemap:-regel in robots.txt, automatisch gemaakte sitemap
Wat een sitemap is, en wat niet
Een sitemap is een bestand met een lijst van de adressen op je site die je in de zoekresultaten wilt zien. Het is de inhoudsopgave die je aan een zoekmachine geeft. Een crawler vindt pagina's vooral door links te volgen (les 1.2). Een sitemap helpt daarbij: hij noemt ook pagina's waar weinig links naartoe gaan, en hij vertelt wanneer een pagina voor het laatst is veranderd.
Twee dingen doet een sitemap niet:
- Hij is geen garantie. Google zegt het zelf: een sitemap garandeert niet dat alles wat erin staat wordt gecrawld en geïndexeerd. Het indienen van een sitemap is een hint.
- Hij vervangt geen goede links. Een pagina die alleen in de sitemap staat en waar op je eigen site geen enkele link naartoe gaat, is voor een zoekmachine een teken dat je hem zelf niet zo belangrijk vindt.
Heb je een sitemap nodig? Volgens Google helpt hij vooral bij een grote site, een nieuwe site met weinig links van buiten, en een site met veel video of afbeeldingen. Een kleine site (Google noemt ongeveer 500 pagina's of minder) die goed intern gelinkt is, kan zonder. Maar een sitemap kost bijna niets en de meeste websitebouwers maken hem vanzelf. Heb je er een, zorg dan dat hij klopt: een sitemap vol fouten is erger dan geen sitemap.
Hoe een sitemap eruitziet
De gewone sitemap is een XML-bestand volgens het sitemaps.org-protocol, dat Google, Bing en andere zoekmachines samen gebruiken. Zo ziet de sitemap van Bloemenatelier Lotte eruit:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2026-11-02</lastmod>
</url>
<url>
<loc>https://www.example.com/bruidsboeketten</loc>
<lastmod>2026-10-14</lastmod>
</url>
<url>
<loc>https://www.example.com/contact</loc>
<lastmod>2026-06-30T09:15:00+02:00</lastmod>
</url>
</urlset>| Onderdeel | Verplicht? | Wat het doet |
|---|---|---|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> | ja | Het hoofdelement, met precies deze namespace |
<url> | ja | Eén blok per adres |
<loc> | ja | Het volledige adres: met https:// en de hostnaam, korter dan 2.048 tekens |
<lastmod> | nee | Wanneer de inhoud van de pagina voor het laatst echt veranderde, in W3C-datumformaat: 2026-11-02 of met tijd en tijdzone |
<changefreq> | nee | "Hoe vaak verandert dit?" Google negeert het |
<priority> | nee | Een getal van 0.0 tot 1.0. Google negeert het ook |
Een paar regels die vaak misgaan:
- Volledige adressen. Geen
/contact, maarhttps://www.example.com/contact. Google vraagt uitdrukkelijk om volledige, absolute adressen. - UTF-8 en escapen. Het bestand moet UTF-8 zijn, en tekens als
&in een adres schrijf je als&. Een losse&maakt de hele XML ongeldig. - Hetzelfde schema en dezelfde host. Volgens het protocol mag een sitemap alleen adressen bevatten met hetzelfde schema en dezelfde host als de sitemap zelf. Een sitemap op
https://www.example.com/met adressen ophttp://example.com/klopt dus niet. Dat is meteen een teken dat je canonical en je doorsturing niet op één lijn liggen (les 3.5 en 4.1).
lastmod: alleen als het klopt
Google gebruikt <lastmod> als het "consequent en controleerbaar" klopt. In 2023 schreef Google erbij wat telt als wijziging: de hoofdtekst, de gestructureerde gegevens of de links op de pagina. Een nieuw jaartal in de footer is geen wijziging. Zet je bij elke pagina elke dag de datum van vandaag, dan leert Google dat jouw datums niets zeggen en negeert hij ze. Een eerlijke datum, of geen datum, is beter dan een verzonnen datum.
Groot? Dan een sitemapindex
Eén sitemap mag hoogstens 50.000 adressen bevatten en hoogstens 50 MB groot zijn (zonder compressie). Is je site groter, of wil je de sitemap opsplitsen (pagina's, blog, producten), dan maak je een sitemapindex: een sitemap van sitemaps.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/sitemap-paginas.xml</loc>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-blog.xml</loc>
</sitemap>
</sitemapindex>Je dient dan alleen de index in. WordPress doet het zo: https://www.example.com/wp-sitemap.xml is een index die verwijst naar aparte sitemaps voor pagina's, berichten, categorieën en auteurs. SEO-plugins vervangen hem vaak door hun eigen index, bijvoorbeeld sitemap_index.xml.
Welke adressen horen erin?
Alleen de adressen die je in de zoekresultaten wilt zien, en dan in hun canonieke vorm (les 3.5). Dus niet:
- adressen die doorsturen (de
http://-variant, de oude naam van een pagina); - adressen die een 404 of 410 geven;
- pagina's met
noindex(les 1.3): je zegt dan tegelijk "neem dit op" en "neem dit niet op"; - pagina's die je in robots.txt blokkeert (les 3.3);
- varianten met parameters, zoals
?sorteer=prijsof?utm_source=nieuwsbrief; - bedankpagina's, winkelwagens, inlogpagina's.
Die tegenstrijdigheden zie je terug in Search Console (les 2.2 en 2.4): in het rapport Pagina's kun je filteren op de adressen uit je sitemap, en dan zie je bijvoorbeeld adressen die zijn uitgesloten door een noindex-tag of geblokkeerd door robots.txt. Elke zo'n melding is een adres dat niet in je sitemap hoort, of een pagina die per ongeluk is afgeschermd.
Hoe zoekmachines je sitemap vinden
Er zijn twee gewone manieren, en je doet ze allebei:
Een regel in robots.txt (les 3.3). Elke zoekmachine leest robots.txt, dus zo vindt ook een zoekmachine waar je nooit een account hebt hem:
Sitemap: https://www.example.com/sitemap.xmlHet adres moet volledig zijn. Je mag meerdere
Sitemap:-regels opnemen.- Indienen in Search Console en Bing Webmaster Tools (les 2.2 en 2.5). Dan zie je ook of het ophalen lukte en hoeveel adressen er zijn gevonden.
Vroeger kon je Google "pingen" met een speciaal adres. Google heeft dat in 2023 afgeschaft: zo'n ping doet niets meer. Wil je zoekmachines snel over een wijziging vertellen, dan zijn lastmod en, voor Bing en een paar andere zoekmachines, IndexNow (les 2.5) de weg.
In de praktijk: zelf maken of laten maken
Bijna niemand schrijft een sitemap met de hand. WordPress maakt sinds versie 5.5 zelf wp-sitemap.xml en zet de verwijzing in zijn (virtuele) robots.txt. De AI Builder van WebOké zet bij het publiceren een sitemap.xml in de webmap, met de datum van de laatste wijziging per pagina, en een robots.txt met de regel Sitemap: erin. Andere websitebouwers doen vergelijkbare dingen. Jouw taak is controleren:
- Open
/robots.txtop je eigen domein (bijvoorbeeldhttps://www.example.com/robots.txt) en kijk of er eenSitemap:-regel staat. - Open die sitemap in je browser. Staan er de adressen in die je verwacht, met
https://en de juiste hostnaam (met of zonderwww)? - Klik er een paar aan. Komt elke pagina meteen goed binnen, zonder doorsturing?
Samenvatting
- Een sitemap is een inhoudsopgave en een hint, geen garantie. Kleine, goed gelinkte sites kunnen zonder, maar een kloppende sitemap helpt altijd.
- Verplicht zijn
urlsetmet de juiste namespace,urlenlocmet volledige adressen;lastmodalleen als hij klopt. Google negeertchangefreqenpriority. - Hoogstens 50.000 adressen en 50 MB per bestand; daarboven een sitemapindex.
- Alleen canonieke adressen die 200 geven, zonder noindex en niet geblokkeerd.
- Zet een
Sitemap:-regel in robots.txt en dien hem in bij Google en Bing. De oude ping werkt niet meer.
Quiz
Opdracht
Opdracht A3.4: Is je sitemap geldig en te vinden? Vul het adres van je site in. Het programma zoekt je sitemap zoals een zoekmachine dat doet (eerst via robots.txt, anders op /sitemap.xml), controleert of het geldige XML volgens het protocol is, of hij in robots.txt staat, of de adressen volledig zijn en op je eigen host, en haalt er een paar op om te zien of ze echt in de index mogen. Geen eigen site? Gebruik european-union.europa.eu.
Verder lezen
De stappen in deze artikelen gelden voor de panelen van WebOké; bij andere aanbieders werkt het vergelijkbaar.
- Je website aanmelden bij zoekmachines (Google en Bing)
- Google Search Central, Een sitemap maken en indienen: https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap
- Google Search Central, Wat is een sitemap: https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview
- Het sitemaps.org-protocol: https://www.sitemaps.org/protocol.html
- Google Search Central Blog, Sitemaps ping endpoint is going away (2023): https://developers.google.com/search/blog/2023/06/sitemaps-lastmod-ping
- Je sitemap controleren
- Online gevonden worden 1.3: Sitemap en robots.txt bij de AI Builder
- Online gevonden worden 1.4: Sitemap en robots.txt bij WordPress en je eigen site
- Gratis WordPress-cursus 9.2: Vindbaarheid: de basis
