Il tag Canonical
Come indicare la versione di riferimento di una pagina duplicata da parametri URL, ed evitare gli errori che deindicizzano intere pagine.
Il tag canonical indica ai motori quale URL debba essere considerato come versione di riferimento quando più indirizzi mostrano un contenuto identico o molto simile. Se impostato male, può far sparire intere pagine dai risultati.
Il problema del contenuto duplicato
Uno stesso contenuto accessibile tramite più URL (con o senza slash finale, con parametri di ordinamento, in versione "stampa", via HTTP e HTTPS contemporaneamente) crea ambiguità: il motore deve indovinare quale di questi URL indicizzare e mostrare. Senza un'indicazione chiara, sceglie da solo, a volte in modo diverso da un motore all'altro, il che diluisce l'autorità della pagina tra più indirizzi invece di concentrarla su uno solo.
Questa diluizione ha un costo concreto: i link esterni che puntano a diverse varianti della stessa pagina (alcuni verso la versione con slash, altri senza) ripartiscono il loro valore tra più URL invece di concentrarlo su un unico indirizzo di riferimento. Un canonical impostato correttamente raggruppa questo segnale su un unico URL, il che rafforza la sua posizione rispetto a una situazione in cui l'autorità resterebbe frammentata.
Il caso frequente dei parametri URL
Filtri, ordinamenti e identificatori di campagna generano spesso decine di varianti della stessa pagina:
https://esempio.com/scarpe?colore=rosso&ordina=prezzo
https://esempio.com/scarpe?ordina=prezzo&colore=rosso
https://esempio.com/scarpe?utm_source=newsletter
Questi tre URL mostrano lo stesso contenuto di fondo. Ognuno deve puntare, tramite il proprio tag canonical, alla versione "pulita" della pagina:
<link rel="canonical" href="https://esempio.com/scarpe">
Sintassi e buone pratiche
Il tag va inserito nel <head> del documento, con un URL assoluto (mai relativo) che punta alla versione che volete vedere indicizzata. Un URL relativo (/prodotto/nome-del-prodotto invece di https://esempio.com/prodotto/nome-del-prodotto) può essere interpretato male a seconda del contesto di risoluzione del browser o del robot, e rappresenta una fonte di errore facilmente evitabile:
<head>
<link rel="canonical" href="https://esempio.com/prodotto/nome-del-prodotto">
</head>
Alcune regole da rispettare:
- una pagina canonica verso se stessa è la situazione predefinita corretta (non è un errore, anzi è consigliata);
- l'URL canonico deve essere accessibile (nessun redirect, nessun 404) e coerente con il protocollo e il sottodominio effettivamente utilizzati (https vs http, www vs senza www);
- indicate un solo URL canonico per pagina — un tag canonical non è un elenco.
Quando impostare un canonical (e quando evitarlo)
Impostate un canonical quando più URL mostrano un contenuto identico o quasi identico (paginazione tecnica, ordinamento, tracking). Non usatelo come sostituto di un redirect: se una vecchia pagina non ha più motivo di esistere, un redirect 301 è lo strumento giusto, non un canonical che lascia entrambi gli URL attivi.
Un fraintendimento frequente consiste nel credere che il canonical sia un ordine imperativo rivolto al motore. In realtà, si tratta di un forte suggerimento: se altri segnali contraddicono nettamente la vostra scelta (link esterni massicci che puntano alla versione "non canonica", ad esempio), alcuni motori possono comunque scegliere di indicizzare un URL diverso da quello indicato. Questa situazione resta rara quando il markup è coerente con il resto del sito, ma spiega perché un canonical poco giustificato dal contesto reale della pagina ha più probabilità di essere ignorato.
Errori frequenti
- Canonical che punta a una pagina diversa per errore di configurazione (spesso dopo una migrazione o un cambio di CMS), il che può deindicizzare una pagina per sbaglio.
- Canonical contraddittori tra loro (la pagina A punta a B, che punta a C), quella che viene chiamata una catena di canonical — da evitare tanto quanto una catena di redirect.
- Dimenticare il canonical sulle versioni multilingue, che va combinato con il tag hreflang piuttosto che farle puntare le une verso le altre come duplicati.
- Impostare un canonical verso una pagina bloccata dal robots.txt, il che impedisce al motore di verificare la coerenza del contenuto.
Il caso della paginazione e del contenuto simile ma non identico
La paginazione (pagina 1, pagina 2, pagina 3 di un elenco di articoli) merita un'attenzione particolare: ogni pagina di risultati mostra un contenuto diverso, anche se la struttura generale si somiglia. Impostare un unico canonical verso la pagina 1 per tutte le pagine successive equivale a chiedere al motore di ignorare il contenuto specifico delle pagine 2, 3, ecc. — il che è raramente auspicabile se questo contenuto ha un valore proprio. La buona pratica consiste, nella maggior parte dei casi, nel lasciare ogni pagina di paginazione canonica verso se stessa, e affidarsi a un link interno chiaro piuttosto che al canonical per segnalare la relazione tra le pagine.
Il caso del contenuto "quasi" duplicato (due schede prodotto molto simili ma con una variante di colore o taglia) richiede anch'esso discernimento: se la differenza è significativa per l'utente (e quindi per la query che digita), ogni variante merita in genere una propria indicizzazione piuttosto che una canonicalizzazione verso un'unica versione.
Per una visione d'insieme di tutti i punti tecnici da verificare prima di pubblicare, consultate la checklist tecnica completa.