Op deze pagina
Een vangnet naast je links
Een sitemap staat meestal op /sitemap.xml: een lijst in XML met per pagina het volledige adres en eventueel de datum waarop ze voor het laatst echt veranderde. Google en Bing lezen die lijst en weten zo welke pagina's er zijn, ook als er nog geen enkele link naar wijst.
Google vindt pagina's vooral door links te volgen, van je homepage naar je diensten en van andere sites naar de jouwe. De sitemap is het vangnet: een nieuwe pagina, een product diep in je webshop of een gids die nog nergens in een menu hangt, staat er toch in. Een garantie is het niet. Google zegt zelf dat een sitemap het crawlen helpt, maar niet belooft dat elke pagina erin geïndexeerd wordt.
Sitemap betekenis in twee vormen. De XML-sitemap is voor machines. Een HTML-sitemap is een gewone pagina met links naar al je pagina's, voor bezoekers die iets niet vinden in het menu. Als iemand in SEO over een sitemap spreekt, bedoelt hij bijna altijd de XML-versie.
Een standaard die Google, Yahoo en Microsoft samen afspraken
Het Sitemaps-protocol ontstond in 2005, om zoekmachines nieuwe adressen sneller te laten ontdekken. Het groeide uit tot een gedeelde standaard op sitemaps.org, versie 0.90, gesteund door Google, Yahoo! en Microsoft en vrij te gebruiken onder een Creative Commons-licentie. Wie een sitemap opent, ziet die geschiedenis nog in de eerste regel: het adres sitemaps.org/schemas/sitemap/0.9. In juni 2023 schrapte Google het pingen van sitemaps, een adres waarmee je Google kon laten weten dat je sitemap veranderd was: de meeste pings bleken spam. Je meldt je sitemap nu aan in Search Console of met een regel in je robots.txt. WordPress maakt sinds versie 5.5 zelf een sitemap aan op /wp-sitemap.xml, met hooguit 2.000 adressen per bestand.
Wie er een nodig heeft, en wie niet
Google zegt dat een kleine site van ongeveer 500 pagina's of minder, waar elke pagina via links bereikbaar is, vaak zonder kan. Toch zetten we er altijd een: hij kost niets, en hij is de plek waar je zelf zegt welke adressen tellen.
| Situatie | Sitemap nodig? | Waarom |
|---|---|---|
| Site van 15 pagina's, alles in het menu | Handig, niet nodig | Google vindt alles via je links |
| Nieuwe site zonder links van andere sites | Ja | Er is nog geen pad van buiten naar je pagina's |
| Webshop met 3.000 producten | Ja | Producten diep in filters en categorieën ziet Google anders over het hoofd |
| Site in vier talen | Ja | Elke taalversie moet apart gevonden worden |
| Veel video, beeld of nieuws | Ja | Google noemt die sites zelf als geval waar een sitemap helpt |
Een nieuwe site die er een heeft, staat daarom niet meteen in Google. Hoeveel tijd dat vraagt, lees je in hoe lang het duurt voor je website op Google staat.
Opzetten en aanmelden in vier stappen
- Laten genererenJe CMS of je build maakt hem: WordPress op /wp-sitemap.xml, een site op maat bij elke publicatie. Nooit met de hand bijhouden.
- OpschonenAlleen adressen die 200 geven, geen noindex dragen, niet doorverwijzen en de voorkeursversie zijn. Volledige adressen met https.
- AanmeldenIn Search Console bij Sitemaps, en met een regel Sitemap: gevolgd door het volledige adres in je robots.txt, zodat ook Bing hem vindt.
- OpvolgenSearch Console toont per sitemap hoeveel adressen het vond en welke niet geïndexeerd zijn, met de reden erbij.
Vier velden, waarvan Google er twee negeert
Een XML-sitemap heeft maar twee verplichte onderdelen per pagina: een url-blok en daarin loc, het volledige adres. De rest is optioneel, en Google gebruikt er maar een van.
| Onderdeel | Verplicht | Wat Google ermee doet |
|---|---|---|
| loc | Ja | Het adres dat Google bezoekt; altijd volledig, met https en domein |
| lastmod | Nee | Gebruikt om te plannen wanneer het terugkomt, maar alleen als je datums kloppen |
| changefreq | Nee | Genegeerd |
| priority | Nee | Genegeerd; standaard 0,5 in het protocol |
| sitemapindex | Pas boven de limiet | Een lijst van sitemaps, hooguit 50.000 |
Een bestand mag hooguit 50.000 adressen bevatten en 50 MB groot zijn, en moet in UTF-8 staan. Wordt je site groter, dan splits je hem en maak je een sitemapindex die naar de delen wijst. Stel: een webshop in Kortrijk verkoopt 3.000 producten in het Nederlands en het Frans, met 200 categoriepagina's per taal. Dat zijn 6.400 adressen: een bestand volstaat. Toch splitsen we zoiets per taal en per soort pagina, want dan zie je in Search Console meteen dat 1.100 Franse producten niet geïndexeerd zijn, in plaats van een vaag getal over de hele site. Hoe je zo'n winkel vindbaar maakt, staat bij SEO voor webshops.
Voor lastmod geldt een eerlijkheidsregel. Google zegt het letterlijk: wie elke dag een nieuwe datum zet terwijl de pagina niet veranderde, wordt op den duur niet meer geloofd. Zet de datum alleen bij een echte wijziging van de tekst, de gegevens of de links.
Naast robots.txt, noindex en een 301
De sitemap nodigt uit, de rest stuurt bij. Robots.txt zegt welke delen Google niet mag bezoeken; onze AI-crawler-checker laat zien wat de jouwe toelaat. Noindex houdt een pagina uit de resultaten. Een 301 redirect stuurt een oud adres naar een nieuw. Zet je een adres in je sitemap dat noindex draagt of doorverwijst, dan geef je Google twee tegenstrijdige signalen. Google noemt opname in een sitemap een zwak signaal dat dit de voorkeursversie is; een canonical of een redirect weegt zwaarder. Hou de lijst dus zuiver: alleen de pagina's die je echt in Google wilt, elk op hun definitieve adres, met een eigen title tag die zegt waar ze over gaan.
Gratis bij elk systeem, werk bij een grote site
In geld bijna niets. WordPress maakt hem gratis aan, een site op maat schrijft hem bij elke build, en Search Console is gratis. Het werk zit in het opschonen en opvolgen: een sitemap van een oude site staat vaak vol met adressen die doorverwijzen, testpagina's en dubbele versies met en zonder www. Wil je zien wat jouw site nu aan Google geeft, dan toont onze SEO-check per pagina de statuscode, de canonical en of er noindex op staat. Ontbreken pagina's in Google, dan zoekt de check voor een website die niet vindbaar is de oorzaak.
Het bestand ontleed: vier regels die tellen
voorbeeld.be/sitemap.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
- <url>
- <loc>https://voorbeeld.be/warmtepomp</loc>
- <lastmod>2026-10-14</lastmod>
- <changefreq>weekly</changefreq>
- <priority>0.8</priority>
- </url>
- <url>
- <loc>https://voorbeeld.be/contact</loc>
- </url>
- </urlset>
locverplicht
Het volledige adres, met https en domein. Alleen de versie die je in Google wilt.
lastmodtelt als hij klopt
Google plant er zijn volgende bezoek mee, zolang je datums eerlijk zijn.
3changefreqgenegeerd
Hoe vaak de pagina zou veranderen. Google leest het niet.
4prioritygenegeerd
Hoe belangrijk je de pagina vindt. Google leest het niet.
Per bestand
hooguit 50.000 adressen of 50 MB
Daarboven: een sitemapindex
- sitemap-nl.xml
- sitemap-fr.xml
- sitemap-producten.xml
Wat site-eigenaars vragen
Wat is het verschil tussen een XML-sitemap en een HTML-sitemap?
Een XML-sitemap is een bestand voor zoekmachines, met alleen adressen en eventueel een datum. Een HTML-sitemap is een gewone pagina met links, voor bezoekers. Voor Google telt de XML-versie; een HTML-sitemap helpt alleen als je menu tekortschiet.
Waar vind ik de sitemap van mijn website?
Probeer je domein met /sitemap.xml erachter, of /wp-sitemap.xml bij WordPress. Kijk ook in je robots.txt: daar staat vaak een regel Sitemap: met het volledige adres. In Search Console zie je onder Sitemaps welke Google al kent.
Moet ik mijn sitemap na elke wijziging opnieuw aanmelden?
Nee. Je meldt hem een keer aan; Google leest hem daarna zelf opnieuw. Het oude pingen werkt sinds eind 2023 niet meer. Wat wel helpt: een lastmod die klopt, zodat Google weet welke pagina's echt veranderden.
Waarom staan pagina's uit mijn sitemap niet in Google?
Een sitemap is een uitnodiging, geen garantie. Search Console toont per adres de reden: een dubbele pagina waarvan Google een andere versie koos, een noindex, een redirect, of een pagina die Google gezien heeft maar (nog) niet waardevol genoeg vond om op te nemen.
