Faceted Navigation
Filternavigatie in webshops die SEO-uitdagingen creëert door duizenden URL-combinaties.
Faceted navigation (filternavigatie) is het systeem in webshops waarmee bezoekers producten filteren op kenmerken als kleur, maat, prijs, merk en meer. Elke filtercombinatie genereert vaak een unieke URL, wat kan leiden tot duizenden of miljoenen indexeerbare pagina's.
Het SEO-probleem
Ongereglementeerde faceted navigation veroorzaakt crawlbudget-verspilling, duplicaatcontent (dezelfde producten in andere volgorde) en dunne content (filterpagina's met weinig resultaten). Dit kan je algehele SEO — bibliotheekterm-prestaties ondermijnen.
Oplossingen
Gebruik robots.txt — bibliotheekterm of noindex voor niet-waardevolle filtercombinaties. Implementeer canonical tags naar de hoofdcategoriepagina. Maak bewuste keuzes: welke filtercombinaties zijn SEO-waardevolle landingspagina's, en welke moeten geblokkeerd worden? Ajax-filtering zonder URL-verandering is een alternatief voor niet-essentiële filters.
Beslisboom: indexeren of blokkeren?
Niet elke filtercombinatie verdient een plek in de zoekindex. Gebruik deze beslisboom om per filtertype te bepalen wat de juiste aanpak is:
- Heeft deze filtercombinatie zoekvolume?
- Ja (bijv. "Nike hardloopschoenen dames") → ga naar stap 2
- Nee (bijv. "maat 42 + kleur blauw + merk Nike + materiaal mesh") → blokkeren
- Levert de filterpagina unieke, waardevolle content?
- Ja (voldoende producten, unieke tekst mogelijk) → ga naar stap 3
- Nee (minder dan 3 producten, geen unieke content) → blokkeren
- Is het een primair kenmerk (merk, categorie, type) of secundair (kleur, maat, prijs)?
- Primair kenmerk → indexeerbaar maken als aparte landingspagina met unieke H1, meta title, en introductietekst
- Secundair kenmerk → blokkeren, tenzij er aantoonbaar zoekvolume is
- Combinatiefilters (meerdere facetten tegelijk)?
- Vrijwel altijd blokkeren. De hoeveelheid URL's explodeert exponentieel en de meeste combinaties hebben geen zoekvolume.
Codevoorbeelden: robots.txt regels
Blokkeer niet-waardevolle filterpaden in je robots.txt. Let op: dit voorkomt crawling — bibliotheekterm maar niet per se indexering — bibliotheekterm (als andere pagina's er naartoe linken).
# Blokkeer alle filter-URL's met parameters
User-agent: *
Disallow: /*?kleur=
Disallow: /*?maat=
Disallow: /*?prijs=
Disallow: /*?sorteer=
Disallow: /*&kleur=
Disallow: /*&maat=
Disallow: /*&prijs=
Disallow: /*&sorteer=
# Sta waardevolle merkfilters toe
Allow: /schoenen/nike/
Allow: /schoenen/adidas/
# Blokkeer paginering van filterresultaten
Disallow: /*?pagina=
Codevoorbeelden: canonical tags
Implementeer canonical tags op filterpagina's die naar de hoofdcategoriepagina verwijzen. Dit is effectiever dan robots.txt omdat het een duidelijk signaal aan Google geeft over de voorkeursversie.
<!-- Op de gefilterde pagina /schoenen?kleur=blauw&maat=42 -->
<link rel="canonical" href="https://www.example.nl/schoenen" />
<!-- Op een waardevolle merklandingspagina /schoenen/nike -->
<!-- Self-referencing canonical: deze pagina IS de voorkeursversie -->
<link rel="canonical" href="https://www.example.nl/schoenen/nike" />
<!-- Combineer met noindex voor extra zekerheid -->
<meta name="robots" content="noindex, follow" />
Impact op crawlbudget
Een webshop met 500 producten en 5 filtertypen (merk, kleur, maat, prijs, materiaal) met elk gemiddeld 10 opties kan exponentieel groeien:
| Scenario | Aantal URL's | Crawlbudget impact |
|---|---|---|
| Geen filters (alleen categorieen) | 50 | Minimaal |
| 1 filter per keer | 50 + (50 × 50) = 2.550 | Beheersbaar |
| 2 filters gecombineerd | ~125.000 | Problematisch |
| 3+ filters gecombineerd | ~5.000.000+ | Catastrofaal |
| + sortering × paginering | Tientallen miljoenen | Google stopt met crawlen |
Elke URL die Google moet crawlen gaat ten koste van het crawlbudget voor je belangrijke pagina's. Bij grote webshops kan dit ertoe leiden dat nieuwe producten of gewijzigde pagina's pas na weken worden geindexeerd.
Veelgestelde vragen
Moet ik Ajax-filtering gebruiken om SEO-problemen te voorkomen?
Ajax-filtering (waarbij de URL niet verandert) is een effectieve oplossing voor secundaire filters. De content wordt dynamisch geladen zonder een nieuwe URL te genereren, waardoor er geen duplicaatcontent of crawlbudget-verspilling ontstaat. Nadeel: als de filtercombinatie zoekvolume heeft, kun je dat verkeer niet vangen. Gebruik Ajax dus alleen voor filters zonder zoekvolume (prijsrange, sortering, maat) en statische URL's voor waardevolle filters (merk, categorie).
Is noindex of robots.txt beter voor faceted navigation?
Beide hebben voor- en nadelen. robots.txt voorkomt dat Google de pagina crawlt, maar als andere pagina's ernaar linken kan Google de URL alsnog indexeren (zonder de content te kennen). noindex vereist dat Google de pagina eerst crawlt om de tag te zien, wat crawlbudget kost, maar garandeert dat de pagina niet in de index terechtkomt. De beste aanpak is een combinatie: noindex, follow op de pagina zelf, zodat Google de links op de pagina nog kan volgen maar de pagina niet indexeert.
Hoe weet ik welke filterpagina's Google al heeft geindexeerd?
Gebruik Google Search Console (Pagina's > "Geindexeerd, niet ingediend in sitemap — bibliotheekterm") of zoek in Google met site:example.nl inurl:kleur= om te zien welke filterpagina's in de index staan. Screaming Frog kan ook een volledige crawl doen om alle gefacetteerde URL's in kaart te brengen.
Wat als mijn webshopplatform geen controle biedt over faceted URLs?
Veel platforms (Shopify, Magento, WooCommerce) bieden plugins of configuratieopties voor faceted navigation. Als je platform geen directe controle biedt, kun je alsnog canonical tags en meta robots tags server-side toevoegen via middleware of template-aanpassingen. Als laatste redmiddel kun je het probleem aanpakken via Google Search Console's URL Parameters tool (indien beschikbaar) of via een serverside redirect-strategie.