XML sitemaps: best practices
Een XML sitemap is een bestand dat zoekmachines vertelt welke pagina's op je site bestaan en wanneer ze voor het laatst zijn gewijzigd. Het is geen rankingfactor. Het is een discovery-tool: het helpt crawlers pagina's vinden die ze via interne links misschien niet zouden ontdekken.
Voor kleine sites met goede interne linking is een sitemap optioneel. Voor sites met meer dan 500 pagina's, dynamische content, of slechte interne linking is het essentieel. In deze gids: de tags die Google echt gebruikt, hoe je sitemaps segmenteert, en de fouten die je crawlbudget verspillen.
Inhoudsopgave
- Wanneer heb je een sitemap nodig?
- Anatomie van een sitemap.xml
- Welke tags gebruikt Google echt?
- Sitemap index: meerdere sitemaps beheren
- Specialty sitemaps
- Sitemaps dynamisch genereren
- Hreflang in sitemaps
- Indienen en monitoren
- Veelgemaakte fouten
- Veelgestelde vragen
Wanneer heb je een sitemap nodig?
Google's eigen documentatie noemt drie scenario's waarin een sitemap cruciaal is:
- Grote sites (500+ pagina's): hoe groter de site, hoe waarschijnlijker dat Googlebot pagina's mist via enkel interne links
- Nieuwe sites of sites met weinig backlinks: zonder externe links heeft Google minder ingangen om je site te ontdekken
- Sites met veel media of rich content: afbeeldingen, video's, en nieuwscontent hebben aparte sitemap-extensies nodig
Je hebt waarschijnlijk geen sitemap nodig als je site minder dan 100 pagina's heeft, alle pagina's sterk intern gelinkt zijn, en je niet afhankelijk bent van media-indexering.
Anatomie van een sitemap.xml
De basisstructuur van een XML sitemap:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.nl/</loc>
<lastmod>2026-05-03</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.nl/diensten/</loc>
<lastmod>2026-04-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Vier tags per URL. Maar niet alle vier zijn even belangrijk.
Welke tags gebruikt Google echt?
Dit is het punt waar veel SEO-advies achterhaald is. Google's huidige documentatie is glashelder:
| Tag | Gebruikt door Google? | Toelichting |
|---|---|---|
<loc> | Ja | De URL. Verplicht. Moet de canonical URL zijn. |
<lastmod> | Ja, als nauwkeurig | Datum van de laatste significante wijziging. Google gebruikt dit om crawl-prioriteit te bepalen. |
<changefreq> | Nee | Google negeert deze tag volledig. |
<priority> | Nee | Google negeert deze tag volledig. |
De enige twee tags die ertoe doen zijn <loc> en <lastmod>. Besteed je tijd niet aan het finetunen van changefreq en priority. Google kijkt er niet naar.
Lastmod correct gebruiken
Google gebruikt lastmod wanneer de waarde "consistent en verifieerbaar nauwkeurig" is. Dat betekent:
- Update
lastmodalleen bij significante content-wijzigingen (nieuwe tekst, bijgewerkte structured data, gewijzigde links) - Update het niet bij cosmetische wijzigingen (footer-copyright, sidebar-widget)
- Gebruik het W3C datetime formaat:
YYYY-MM-DDofYYYY-MM-DDThh:mm:ss+00:00 - Lieg niet. Als je elke dag alle pagina's op vandaag zet, leert Google de waarde te negeren
<!-- Goed: specifieke datum na content-update -->
<lastmod>2026-05-03</lastmod>
<!-- Goed: met tijdstempel -->
<lastmod>2026-05-03T14:30:00+02:00</lastmod>
<!-- Fout: elke dag alles op vandaag zetten -->
<!-- Google verliest vertrouwen in je lastmod waarden -->
Sitemap index: meerdere sitemaps beheren
Een enkele sitemap mag maximaal 50.000 URL's bevatten en maximaal 50 MB (ongecomprimeerd) groot zijn. Voor de meeste serieuze sites heb je daarom een sitemap index nodig: een meta-sitemap die naar individuele sitemaps verwijst.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.nl/sitemap-pages.xml</loc>
<lastmod>2026-05-03</lastmod>
</sitemap>
<sitemap>
<loc>https://example.nl/sitemap-products.xml</loc>
<lastmod>2026-05-02</lastmod>
</sitemap>
<sitemap>
<loc>https://example.nl/sitemap-blog.xml</loc>
<lastmod>2026-05-03</lastmod>
</sitemap>
</sitemapindex>
Segmentatie-strategie: splits sitemaps per content-type. Niet per willekeurige URL-grens. Dit geeft je:
- Inzicht in indexering per sectie via Search Console
- Mogelijkheid om problemen te isoleren (als je product-sitemap slecht indexeert, weet je waar het probleem zit)
- Betere crawlbudget-allocatie
Voor handler.gg segmenteerden we sitemaps per regio (Amsterdam, Rotterdam, Utrecht, etc.) en per content-type (banen, locaties, blog). Dat gaf direct inzicht in welke regio's beter indexeerden en waar de crawl-aandacht naartoe ging.
Specialty sitemaps
Image sitemap
Voor sites die afhankelijk zijn van image search traffic. Je kunt image-tags toevoegen aan je reguliere sitemap:
<url>
<loc>https://example.nl/product/canvas-tas</loc>
<image:image>
<image:loc>https://example.nl/images/canvas-tas-front.jpg</image:loc>
</image:image>
<image:image>
<image:loc>https://example.nl/images/canvas-tas-detail.jpg</image:loc>
</image:image>
</url>
Vergeet niet de namespace te declareren: xmlns:image="http://www.google.com/schemas/sitemap-image/1.1".
Video sitemap
Voor sites met video-content. Vereist meer metadata dan image sitemaps:
<url>
<loc>https://example.nl/tutorials/seo-basics</loc>
<video:video>
<video:thumbnail_loc>https://example.nl/thumbs/seo-basics.jpg</video:thumbnail_loc>
<video:title>SEO Basics Tutorial</video:title>
<video:description>Leer de fundamenten van SEO in 10 minuten.</video:description>
</video:video>
</url>
Video's moeten toegankelijk zijn via HTTP(S). Streaming protocols worden niet ondersteund. En de video moet gerelateerd zijn aan de pagina-content.
News sitemap
Voor nieuwsuitgevers. Strenge regels: maximaal 1.000 URL's, alleen artikelen van de laatste 2 dagen. Oudere artikelen moeten verwijderd worden uit de news sitemap (ze mogen wel in je reguliere sitemap blijven).
Sitemaps dynamisch genereren
Statische sitemaps werken voor kleine sites. Voor alles boven de 100 pagina's wil je een dynamische generator die automatisch bijwerkt wanneer content wijzigt.
Populaire aanpakken:
| Methode | Geschikt voor | Voorbeeld |
|---|---|---|
| CMS-plugin | WordPress, Shopify | Yoast SEO, Rank Math |
| Build-time generatie | SSG frameworks | Next.js getServerSideProps, Astro sitemap integration |
| Server-side script | Custom sites | Node.js/Python script dat de database queryt |
| Headless CMS webhook | JAMstack | Contentful webhook triggert sitemap rebuild |
Bij Hiveminds genereren we sitemaps als onderdeel van de build pipeline. Voor hiveminds.nl zelf draait een TypeScript script dat markdown-content scant en automatisch sitemap entries genereert met correcte lastmod dates.
Essentieel: je generator moet canonical URL's produceren. Als je site www en non-www varianten heeft, of HTTP en HTTPS, dan mag de sitemap alleen de canonical variant bevatten.
Hreflang in sitemaps
Als je site meerdere talen bedient, kun je hreflang-annotaties in je sitemap opnemen als alternatief voor HTML-tags:
<url>
<loc>https://example.nl/diensten/</loc>
<xhtml:link rel="alternate" hreflang="nl" href="https://example.nl/diensten/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/services/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/services/"/>
</url>
Vergeet niet de xhtml namespace: xmlns:xhtml="http://www.w3.org/1999/xhtml".
Volledige hreflang-gids: Hreflang voor meertalige sites
Indienen en monitoren
Indienen via Search Console
Ga naar Sitemaps in Google Search Console en voeg je sitemap URL toe. Google bevestigt of de sitemap gelezen kan worden en toont het aantal ontdekte URL's.
Indienen via robots.txt
Voeg een Sitemap: directive toe aan je robots.txt:
Sitemap: https://example.nl/sitemap.xml
Dit is een aanvulling op Search Console, niet een vervanging. Het voordeel: andere zoekmachines die robots.txt lezen vinden je sitemap automatisch.
Monitoren
In Search Console zie je per sitemap:
- Ontdekte URL's: hoeveel URL's Google in de sitemap vond
- Geïndexeerde URL's: hoeveel daarvan in de index staan
- Fouten: ongeldige URL's, onbereikbare URL's
Een groot verschil tussen "ontdekt" en "geïndexeerd" is een rode vlag. Het betekent dat Google je pagina's wel vindt maar niet waardevol genoeg vindt om te indexeren. Dat is geen sitemap-probleem maar een content-kwaliteitsprobleem.
Veelgemaakte fouten
1. Niet-canonicale URL's opnemen
De #1 sitemap-fout. Je sitemap bevat https://www.example.nl/page maar je canonical tag wijst naar https://example.nl/page. Google ziet een conflict en negeert de sitemap-entry.
Fix: zorg dat elke <loc> in je sitemap exact overeenkomt met de canonical URL van die pagina.
2. Lastmod altijd op vandaag zetten
Als je sitemap-generator bij elke build alle lastmod-datums op vandaag zet, verliest Google vertrouwen in de waarde. Het leert dat je lastmod onbetrouwbaar is en negeert het.
Fix: update lastmod alleen bij werkelijke content-wijzigingen. Koppel het aan je CMS of git history.
3. Geblokkeerde URL's opnemen
URL's die in robots.txt staan als Disallow horen niet in je sitemap. Het stuurt tegenstrijdige signalen: "crawl deze URL" vs. "crawl deze URL niet".
4. Redirect URL's opnemen
URL's die een 301 of 302 teruggeven horen niet in je sitemap. Alleen de eindbestemmings-URL hoort erin.
5. Geen sitemap-index bij grote sites
Sites met 10.000+ URL's die alles in een enkele sitemap proppen, missen de voordelen van segmentatie. Je kunt niet per sectie monitoren en problemen isoleren.
6. Vergeten de sitemap te updaten
Een sitemap die maanden niet is bijgewerkt, verliest waarde. Als je wekelijks content publiceert maar je sitemap reflecteert dat niet, stuurt Google minder crawlbudget naar je nieuwe pagina's.
Veelgestelde vragen
Moet ik changefreq en priority tags gebruiken?
Nee, niet voor Google. Google negeert beide tags volledig. Bing en sommige andere crawlers gebruiken ze mogelijk nog, maar het is geen prioriteit. Focus op nauwkeurige lastmod waarden.
Hoe groot mag een sitemap zijn?
Maximaal 50 MB ongecomprimeerd en 50.000 URL's per sitemap. Gebruik gzip-compressie voor grote sitemaps (Google ondersteunt .xml.gz formaat). Bij meer dan 50.000 URL's: gebruik een sitemap index.
Moet ik afbeeldingen in een aparte sitemap zetten? Niet per se. Je kunt image-tags toevoegen aan je reguliere sitemap. Een aparte image-sitemap is alleen nodig als je heel veel afbeeldingen hebt die niet via HTML op pagina's staan (bijv. CDN-hosted media).
Hoe snel indexeert Google pagina's uit mijn sitemap? Dat varieert van uren tot weken. Een sitemap is geen indexering-garantie. Het is een verzoek aan Google om te crawlen. Of de pagina geïndexeerd wordt, hangt af van content-kwaliteit, technische gezondheid, en crawlbudget.
Helpt een sitemap voor AI-zoekmachines? Indirect. AI-crawlers (GPTBot, PerplexityBot) gebruiken geen sitemaps in de traditionele zin. Maar een goede sitemap verbetert je Google-indexering, wat indirect je zichtbaarheid in AI-search kan beïnvloeden via trainingsdata.
Volgende stap
Sitemaps, robots.txt, en crawlbudget zijn drie onderdelen van hetzelfde systeem: hoe crawlers je site vinden, lezen, en prioriteren. Wil je weten of AI-systemen je content ook correct oppikken?
Gerelateerde artikelen
Hoe scoort jouw bedrijf?
Vraag een gratis AI Visibility Snapshot aan: 1 pagina, geen verplichtingen.
Vraag een Snapshot aan →