SEO

Canonical: la guida pratica

Il canonical è un suggerimento, non un ordine: indica quale URL rappresenta un contenuto duplicato. Regole, errori e verifica su tutto il sito.

In sintesi

  • Il canonical è un segnale: Google può ignorarlo e scegliere un altro URL, come mostra la voce «Duplicata» in Search Console.
  • Ogni pagina indicizzabile dovrebbe avere un canonical che punta a se stessa, con URL assoluto.
  • Un canonical verso una pagina noindex, un redirect o un 404 è un segnale in conflitto: si corregge, non si ignora.

Un canonical è un tag che dice a Google quale URL rappresenta un contenuto quando lo stesso contenuto risponde su più indirizzi. Non è un ordine: è un segnale che Google può accettare o ignorare, e nella pratica lo ignora quando i segnali interni dicono altro.

Che cosa fa un canonical

Il tag <link rel="canonical" href="..."> dichiara l'URL preferito per una pagina, e Google lo tratta come un suggerimento tra altri: link interni, sitemap, hreflang e reindirizzamenti pesano insieme. Se la maggioranza dei segnali punta altrove, Google sceglie l'altro URL e lo dichiara nel report Indicizzazione come «Duplicata, Google ha scelto un canonical diverso».

Le regole che non cambiano

Primo: ogni pagina indicizzabile ha un canonical verso se stessa, con URL assoluto e senza parametri. Secondo: un solo canonical per pagina, nel <head> o nell'intestazione HTTP Link per i file non HTML. Terzo: il canonical punta a una pagina viva, indicizzabile e con lo stesso contenuto. Quarto: canonical e noindex non convivono, perché dicono cose opposte.

Paginazione e lingue

Le pagine di un elenco paginato sono pagine distinte: la seconda pagina ha un canonical verso se stessa, non verso la prima, altrimenti il contenuto esce dall'indice. Con hreflang ogni versione linguistica ha un canonical verso se stessa e un set di link alternati che si richiamano a vicenda; un canonical italiano che punta all'inglese annulla l'hreflang.

La verifica su un sito intero

curl -s https://ui.eneawork.it/sitemap-blog.xml | grep -o "[^ urls.txt
while read -r u; do printf "%s\t%s\n" "$u" "$(curl -s "$u" | grep -o 'rel="canonical" href="[^"]*"' | head -n1)"; done < urls.txt

Il comando prende i primi dieci URL dalla sitemap del blog, scarica ogni pagina e stampa l'URL accanto al canonical dichiarato. Ogni riga deve mostrare lo stesso indirizzo due volte. Una riga vuota significa canonical assente; un indirizzo diverso è il caso da aprire per primo.

Gli errori che si vedono nel report

«Pagina alternativa con tag canonical appropriato» è normale quando esiste un duplicato consapevole. «Duplicata, Google ha scelto un canonical diverso» vuol dire che il tuo canonical è stato ignorato: cerca link interni o voci di sitemap che puntano all'altro URL. «Esclusa da tag noindex» con canonical presente è un conflitto da risolvere, non un errore di Google.

Il catalogo EneUI

Sui cataloghi grandi il canonical è la difesa principale contro i parametri: filtri, ordinamenti e pagine di categoria generano varianti dello stesso elenco. Il catalogo EneUI ha 111.985 componenti e 1.556 blocchi da 1.472 librerie, con URL stabili per record e per categoria, per esempio la categoria pricing e i blocchi. I record vivono sotto /components, con un indirizzo per pezzo, non un indirizzo per filtro. Dati verificati il 1 novembre 2026.

La limitazione

Il canonical non unisce i segnali in tempo reale: serve una nuova scansione, e Google può decidere diversamente per mesi. Non corregge link interni sbagliati, non risolve contenuti diversi sullo stesso URL e non sostituisce un redirect quando la pagina vecchia è stata ritirata.

Dove continuare

La sequenza per farsi indicizzare è in indicizzare un sito su Google; come si legge il report che segnala i duplicati è in Search Console: leggere l'indicizzazione; la scelta tra WordPress e React cambia i canonical di default, come mostra il confronto WordPress, Wix o componenti React.

Domande frequenti

Un canonical è un ordine per Google?

No, è un suggerimento. Google lo usa come segnale e può scegliere un altro URL, segnalando la scelta come canonical diverso.

Ogni pagina deve avere un canonical?

Sì, ogni pagina indicizzabile dovrebbe avere un canonical verso se stessa. È il modo più semplice per evitare ambiguità quando arrivano parametri, maiuscole o varianti di percorso.

Canonical e noindex insieme?

Sono segnali in conflitto: un canonical verso una pagina noindex dice di mostrare un URL che non vuoi in indice. Scegli un solo segnale per caso.

Meglio un redirect o un canonical?

Per una pagina ritirata, un redirect 301. Il canonical serve a due URL vivi con lo stesso contenuto, non a nascondere una pagina vecchia.

Il canonical funziona tra domini diversi?

Sì, se il contenuto è davvero identico e il dominio di destinazione è raggiungibile. Non funziona per spostare autorità da un sito che non controlli.