Vai al contenuto principale
Torna al blog
SEO tecnico

Canonical e-commerce: varianti, filtri, paginazione

Il canonical è spesso usato male negli e-commerce. Ecco 4 casi concreti: varianti, filtri, paginazione e lingue, con l'implementazione corretta.

#canonical#contenuto duplicato#seo tecnico
Canonical e-commerce: varianti, filtri, paginazione

Canonical e-commerce: varianti, filtri, paginazione

Il tag <link rel="canonical"> è uno degli strumenti SEO più potenti — e più usati male sui siti e-commerce. Se configurato bene, risolve il contenuto duplicato, concentra l'autorità SEO e permette di gestire in modo pulito le migliaia di URL tecniche generate da un catalogo.

Ecco i 4 casi concreti che si incontrano nel 90% degli shop, e l'implementazione corretta per ciascuno.

Il self-referential canonical: la base

Ogni pagina del vostro sito deve avere un canonical che punti a sé stessa. All'inizio sembra controintuitivo, ma è la regola.

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

Perché:

  • Segnala a Google che questo URL è la versione di riferimento, non una copia né una variante
  • Protegge dai parametri parassiti (UTM, tracking, ecc.): se qualcuno linka /products/chaussure-derby?ref=newsletter, Google vede il canonical e capisce che il vero URL è la versione pulita
  • Permette di normalizzare gli URL con/senza trailing slash, con/senza www, http vs https

Senza canonical, Google deve indovinare quale URL canonizzare, e le sue scelte non sono sempre ottimali.

Caso 1 — Varianti di prodotto

È il caso più frequente. Un prodotto con 5 colori × 4 taglie = 20 varianti. Ogni variante ha potenzialmente un URL distinto:

/products/chaussure-derby                          ← prodotto parent
/products/chaussure-derby?variant=12345            ← variante 44 nero
/products/chaussure-derby?variant=12346            ← variante 45 nero
/products/chaussure-derby?variant=12347            ← variante 44 marrone

Sulla maggior parte delle piattaforme (Shopify, WooCommerce), le varianti cambiano il prezzo e le immagini mostrate ma non creano una vera nuova pagina — solo la stessa pagina con uno state diverso.

Implementazione canonical:

<!-- Su TUTTI questi URL, il canonical punta al parent -->
<link rel="canonical" href="https://example.com/products/chaussure-derby" />

Anche se l'URL corrente è ?variant=12346, il canonical è la versione senza parametro. Google concentra tutto il "link juice" sull'URL parent, e le varianti non compaiono mai nelle SERP.

Errore frequente: lasciare che ogni variante faccia self-canonical con il proprio parametro. Risultato: Google vede 20 pagine quasi identiche e non ne posiziona correttamente nessuna.

Caso 2 — Varianti con pagine distinte

Se il vostro catalogo tratta le varianti come pagine a tutti gli effetti con URL propri (es: /products/chaussure-derby-noir-44), la logica cambia.

Se le varianti hanno contenuti SEO distinti (titolo diverso, descrizione adattata, review distinte):

  • Self-referential canonical su ogni variante
  • hreflang o logica di internal linking per collegarle tra loro

Se le varianti condividono il 90%+ del contenuto:

  • Canonical verso una variante "principale" (di solito la più popolare)
  • Oppure canonical verso il prodotto parent generico

Esempio:

<!-- /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" />

Risultato: Google indicizza chaussure-derby-noir come versione canonica, le taglie specifiche non compaiono nelle SERP.

Caso 3 — Paginazione delle categorie

Avete una categoria "Scarpe" con 200 prodotti, paginata in 10 pagine:

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

Approccio 2026 (post rel=next/prev):

Google ha deprecato il supporto di rel=next/prev nel 2019. La best practice oggi è:

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

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

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

Ogni pagina è self-referential — contiene contenuti diversi (prodotti diversi), quindi merita di essere indicizzata separatamente.

Da NON fare: canonicalizzare tutte le pagine paginate verso la pagina 1. È un errore frequente. Risultato: Google indicizza solo la pagina 1, e i vostri prodotti nelle pagine 3-10 diventano invisibili.

Caso 4 — Filtri a faccette

È il caso più complesso. Una categoria con filtri:

/collections/chaussures                      ← non filtrato
/collections/chaussures?color=noir           ← filtrato per colore
/collections/chaussures?color=noir&size=44   ← filtrato per colore + taglia
/collections/chaussures?sort_by=price-asc    ← ordinato per prezzo

Tre strategie possibili:

Strategia 1 — Canonical di tutte le varianti filtrate verso la categoria parent

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

Semplice. Va bene se non volete indicizzare le pagine filtrate. Perdita: le query come "scarpe nere" non si posizioneranno sulla pagina filtrata corretta.

Strategia 2 — URL puliti per i filtri importanti, canonical self

Per le combinazioni con alto volume di ricerca, create URL puliti:

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

Ogni URL ha il proprio self-referential canonical, e gli URL con parametri (?color=noir) canonicalizzano verso queste versioni pulite.

Strategia 3 — Bloccare gli URL filtrati via robots.txt

Non lasciare che Google li scansioni affatto. Vedi robots.txt e-commerce.

Raccomandazione: Strategia 2 per i filtri commercialmente importanti, Strategia 3 per le combinazioni infinite.

Canonical e i18n: non confonderlo con hreflang

Trappola classica. Avete una pagina FR e la sua traduzione EN:

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

❌ Errore: mettere un canonical dalla versione EN verso la versione FR.

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

Conseguenza: Google ignora la versione EN, pensa che sia un duplicato della FR, non la indicizza.

✅ Buona pratica: ogni pagina localizzata ha il proprio canonical + hreflang.

<!-- Su /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" />

Vedi la nostra guida completa hreflang e-commerce multilingue.

Implementazione per piattaforma

Shopify

Shopify genera automaticamente un canonical su ogni prodotto, che punta all'URL pulito senza parametri. In genere è corretto di default. Potete fare override tramite il template:

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

Per gli URL con varianti in parametro, Shopify canonicalizza correttamente di default.

WooCommerce

Nessun canonical nativo su tutte le pagine. I plugin SEO (Yoast, RankMath, AIO SEO) gestiscono questo aspetto. Tutti fanno un self-referential canonical di default, con opzione di personalizzazione per pagina.

Verificate con un site: in Google o con Screaming Frog che ogni URL del vostro sito abbia un canonical e che punti all'URL corretto.

Headless

Generazione manuale nel componente di ogni pagina. Su Next.js con generateMetadata, il campo alternates.canonical gestisce tutto in modo pulito.

Audit canonical in 15 minuti

Passaggi:

  1. Crawl con Screaming Frog: il report "Canonical" identifica tutti gli URL e i loro canonical
  2. Filtrate le anomalie:
    • URL senza canonical → da correggere
    • Canonical verso un URL 4xx o 5xx → da correggere
    • Canonical in catena (A → B → C) → da semplificare direttamente in A → C
    • Pagine in noindex con un canonical → contraddizione da risolvere
  3. Verificate le varianti: per 10 prodotti con varianti, controllate che tutti gli URL delle varianti abbiano un canonical corretto
  4. Verificate la paginazione: per ogni categoria paginata, controllate il self-reference su ogni pagina

FAQ

Una pagina senza canonical viene penalizzata?

Non direttamente, ma è a rischio. Google sceglie il proprio URL canonico, che potrebbe non essere quello che volete. Su uno shop e-commerce, definite sempre il canonical in modo esplicito.

Il canonical è rispettato da Google al 100%?

No. Il canonical è un segnale, Google può ignorarlo se ritiene che un altro URL sia più appropriato. Motivi frequenti: canonical verso una pagina di qualità inferiore, verso una pagina con meno backlink, o contraddizione con altri segnali (hreflang, internal linking).

Posso avere più canonical su una pagina?

No. Un solo tag <link rel="canonical"> per pagina. Se ce ne sono più di uno, Google ignora completamente la direttiva.

Canonical vs 301: che differenza c'è?

301 è un redirect fisico: l'utente e il bot vengono inviati a un altro URL. Il canonical lascia accessibile l'URL attuale ma segnala che un altro è la versione di riferimento. Usate 301 per URL spostati in modo definitivo, canonical per duplicati intenzionali (varianti, parametri).

Una pagina con canonical verso un'altra viene indicizzata?

No, normalmente no. Google "fonde" la pagina con il suo canonical e indicizza solo l'URL canonico. Se volete che entrambe siano indicizzate (caso raro), dovete differenziare il contenuto e usare un self-referential canonical su ciascuna.

Il canonical può essere relativo (es: /products/foo)?

Tecnicamente sì, praticamente no. Usate sempre l'URL assoluto con protocollo (https://example.com/products/foo). Gli URL relativi sono fonte di errori (scheme sbagliato, host sbagliato).


Per verificare e correggere i canonical del vostro catalogo su larga scala, vedi Ecomptimize per Shopify o Ecomptimize per WooCommerce.


Ti è piaciuto questo articolo?