Ga naar de hoofdinhoud
Terug naar blog
Technische SEO

Canonical e-commerce: varianten, filters, paginatie

De canonical-tag wordt op e-commerce sites vaak verkeerd gebruikt. Hier zijn 4 concrete gevallen met de juiste implementatie.

#canonical#duplicate content#technische seo
Canonical e-commerce: varianten, filters, paginatie

Canonical e-commerce: varianten, filters, paginatie

De tag <link rel="canonical"> is een van de krachtigste SEO-tools — en een van de meest verkeerd gebruikte op e-commerce sites. Als die goed is ingesteld, lost die duplicate content op, bundelt die SEO-autoriteit en maakt die het mogelijk om de duizenden technische URL's die een catalogus genereert netjes te beheren.

Hier zijn de 4 concrete gevallen die u op 90% van de webshops tegenkomt, met voor elk de juiste implementatie.

De self-referential canonical: de basis

Elke pagina van uw site moet een canonical hebben die naar zichzelf verwijst. Dat voelt in het begin tegenstrijdig, maar het is de regel.

<!-- Pagina: https://example.com/products/chaussure-derby -->
<link rel="canonical" href="https://example.com/products/chaussure-derby" />

Waarom:

  • Geeft aan Google door dat deze URL de referentieversie is (geen kopie, geen variant)
  • Beschermt tegen storende parameters (UTM, tracking, enz.): als iemand linkt naar /products/chaussure-derby?ref=newsletter, ziet Google de canonical en weet het dat de echte URL de schone versie is
  • Maakt het mogelijk om URL's met/zonder trailing slash, met/zonder www, http vs https te normaliseren

Zonder canonical moet Google raden welke URL gecanonicaliseerd moet worden, en die keuzes zijn niet altijd optimaal.

Geval 1 — Productvarianten

Dit is het meest voorkomende geval. Een product met 5 kleuren × 4 maten = 20 varianten. Elke variant kan een aparte URL hebben:

/products/chaussure-derby                          ← hoofdproduct
/products/chaussure-derby?variant=12345            ← variant 44 zwart
/products/chaussure-derby?variant=12346            ← variant 45 zwart
/products/chaussure-derby?variant=12347            ← variant 44 bruin

Op de meeste platforms (Shopify, WooCommerce) veranderen varianten de prijs en de getoonde afbeeldingen, maar maken ze geen echte nieuwe pagina aan — alleen dezelfde pagina met een andere state.

Canonical-implementatie:

<!-- Op AL deze URL's verwijst de canonical naar het hoofdproduct -->
<link rel="canonical" href="https://example.com/products/chaussure-derby" />

Zelfs als de huidige URL ?variant=12346 is, is de canonical de versie zonder parameter. Google bundelt alle "link juice" op de URL van het hoofdproduct, en de varianten verschijnen nooit in de SERP.

Veelgemaakte fout: elke variant een self-canonical laten hebben met zijn eigen parameter. Resultaat: Google ziet 20 bijna identieke pagina's en laat geen enkele goed ranken.

Geval 2 — Varianten met aparte pagina's

Als uw catalogus varianten behandelt als volwaardige pagina's met eigen URL's (bijvoorbeeld: /products/chaussure-derby-noir-44), verandert de logica.

Als de varianten aparte SEO-content hebben (andere titel, aangepaste beschrijving, aparte reviews):

  • Self-referential canonical op elke variant
  • hreflang of interne linklogica om ze met elkaar te verbinden

Als de varianten 90%+ van de content delen:

  • Canonical naar één "hoofdvariant" (meestal de populairste)
  • Of canonical naar het generieke hoofdproduct

Voorbeeld:

<!-- /products/chaussure-derby-noir-44 -->
<link rel="canonical" href="https://example.com/products/chaussure-derby-noir" />

<!-- /products/chaussure-derby-noir-45 -->
<link rel="canonical" href="https://example.com/products/chaussure-derby-noir" />

Resultaat: Google indexeert chaussure-derby-noir als canonieke versie, de specifieke maten verschijnen niet in de SERP.

Geval 3 — Paginatie van categorieën

U hebt een categorie "Schoenen" met 200 producten, verdeeld over 10 pagina's:

/collections/chaussures          ← pagina 1
/collections/chaussures?page=2   ← pagina 2
/collections/chaussures?page=3   ← pagina 3

Aanpak 2026 (na rel=next/prev):

Google heeft de ondersteuning voor rel=next/prev in 2019 stopgezet. De huidige best practice:

<!-- Op /collections/chaussures -->
<link rel="canonical" href="https://example.com/collections/chaussures" />

<!-- Op /collections/chaussures?page=2 -->
<link rel="canonical" href="https://example.com/collections/chaussures?page=2" />

<!-- Op /collections/chaussures?page=3 -->
<link rel="canonical" href="https://example.com/collections/chaussures?page=3" />

Elke pagina is self-referential — ze bevatten verschillende content (verschillende producten), dus ze verdienen het om apart geïndexeerd te worden.

Wat u NIET moet doen: alle gepagineerde pagina's canonicaliseren naar pagina 1. Dat is een veelgemaakte fout. Resultaat: Google indexeert alleen pagina 1, en uw producten op pagina 3-10 worden onzichtbaar.

Geval 4 — Faceted filters

Dit is het meest complexe geval. Een categorie met filters:

/collections/chaussures                      ← niet gefilterd
/collections/chaussures?color=noir           ← gefilterd op kleur
/collections/chaussures?color=noir&size=44   ← gefilterd op kleur + maat
/collections/chaussures?sort_by=price-asc    ← gesorteerd op prijs

Drie mogelijke strategieën:

Strategie 1 — Alle gefilterde varianten canonicaliseren naar de hoofdcategorie

<!-- Op /collections/chaussures?color=noir -->
<link rel="canonical" href="https://example.com/collections/chaussures" />

Eenvoudig. Geschikt als u gefilterde pagina's niet wilt indexeren. Nadeel: zoekopdrachten als "zwarte schoenen" zullen niet ranken op de juiste gefilterde pagina.

Strategie 2 — Schone URL's voor belangrijke filters, self canonical

Voor combinaties met veel zoekvolume maakt u schone URL's:

/collections/chaussures-noir
/collections/chaussures-noir-homme

Elke URL heeft een self-referential canonical, en de URL's met parameters (?color=noir) canonicaliseren naar deze schone versies.

Strategie 3 — Gefilterde URL's blokkeren via robots.txt

Google ze helemaal niet laten crawlen. Zie robots.txt e-commerce.

Aanbeveling: Strategie 2 voor commercieel belangrijke filters, Strategie 3 voor oneindige combinaties.

Canonical en i18n: niet verwarren met hreflang

Klassieke valkuil. U hebt een FR-pagina en de EN-vertaling:

/fr/products/chaussure-derby
/en/products/leather-derby-shoes

❌ Fout: een canonical van de EN-versie naar de FR-versie zetten.

<!-- Op /en/products/leather-derby-shoes -->
<link rel="canonical" href="https://example.com/fr/products/chaussure-derby" />

Gevolg: Google negeert de EN-versie, ziet die als een duplicate van FR en indexeert die niet.

✅ Best practice: elke gelokaliseerde pagina heeft zijn eigen canonical + hreflang.

<!-- Op /en/products/leather-derby-shoes -->
<link rel="canonical" href="https://example.com/en/products/leather-derby-shoes" />
<link rel="alternate" hreflang="en" href="https://example.com/en/products/leather-derby-shoes" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/products/chaussure-derby" />

Zie onze volledige gids hreflang e-commerce meertalig.

Implementatie per platform

Shopify

Shopify genereert automatisch een canonical op elke productpagina, die verwijst naar de schone URL zonder parameters. Meestal standaard correct. U kunt dit overschrijven via de template:

<!-- theme.liquid in de <head> -->
<link rel="canonical" href="{{ canonical_url }}" />

Voor URL's met varianten als parameter canonicaliseert Shopify standaard correct.

WooCommerce

Geen native canonical op alle pagina's. SEO-plugins (Yoast, RankMath, AIO SEO) regelen dit. Ze doen standaard allemaal een self-referential canonical, met een optie voor aanpassing per pagina.

Controleer via een site: in Google of met Screaming Frog of elke URL van uw site een canonical heeft en of die naar de juiste URL verwijst.

Headless

Handmatige generatie in de component van elke pagina. In Next.js regelt het veld alternates.canonical binnen generateMetadata dit netjes.

Canonical-audit in 15 min

Stappen:

  1. Crawl met Screaming Frog: het rapport "Canonical" identificeert alle URL's en hun canonicals
  2. Filter de afwijkingen:
    • URL's zonder canonical → corrigeren
    • Canonicals naar een 4xx- of 5xx-URL → corrigeren
    • Canonical-ketens (A → B → C) → vereenvoudigen naar direct A → C
    • Pagina's in noindex met een canonical → tegenstrijdigheid oplossen
  3. Controleer de varianten: controleer voor 10 producten met varianten of alle variant-URL's een correcte canonical hebben
  4. Controleer de paginatie: controleer voor elke gepagineerde categorie de self-reference op elke pagina

FAQ

Wordt een pagina zonder canonical bestraft?

Niet direct, maar ze loopt wel risico. Google kiest dan zelf een canonieke URL, en dat is mogelijk niet de URL die u wilt. Op een e-commerce site moet u de canonical altijd expliciet instellen.

Wordt de canonical door Google voor 100% gevolgd?

Nee. De canonical is een signaal; Google kan die negeren als het vindt dat een andere URL geschikter is. Veelvoorkomende redenen: canonical naar een pagina van lagere kwaliteit, naar een pagina met minder backlinks, of een tegenspraak met andere signalen (hreflang, internal linking).

Kan ik meerdere canonicals op één pagina hebben?

Nee. Slechts één tag <link rel="canonical"> per pagina. Als er meerdere aanwezig zijn, negeert Google de instructie volledig.

Canonical vs 301: wat is het verschil?

301 is een fysieke redirect: de gebruiker en de bot worden naar een andere URL gestuurd. Canonical laat de huidige URL toegankelijk, maar geeft aan dat een andere URL de referentieversie is. Gebruik 301 voor URL's die definitief zijn verplaatst, canonical voor opzettelijke duplicates (varianten, parameters).

Wordt een pagina met een canonical naar een andere pagina geïndexeerd?

Nee, normaal gesproken niet. Google "voegt" de pagina samen met de canonical en indexeert alleen de canonieke URL. Als u wilt dat beide worden geïndexeerd (zeldzaam), moet u de content van beide onderscheiden en op elk een self-referential canonical gebruiken.

Mag de canonical relatief zijn (bijv. /products/foo)?

Technisch gezien wel, in de praktijk niet. Gebruik altijd de absolute URL met protocol (https://example.com/products/foo). Relatieve URL's zijn een bron van fouten (verkeerd scheme, verkeerde host).


Voor het auditen en corrigeren van de canonicals van uw catalogus op grote schaal, bekijk Ecomptimize voor Shopify of Ecomptimize voor WooCommerce.

Vond je dit artikel interessant?