Cosa fa effettivamente un canonical checker
Un canonical checker recupera un URL, analizza la sezione HTML <head> per <link rel="canonical" href="...">, legge le intestazioni di risposta HTTP per un'intestazione Link: <...>; rel="canonical", e confronta i due. Se entrambi sono presenti e differenti, c'è un conflitto. Se nessuno dei due è presente, la pagina non ha un canonical esplicito e rischia problemi di contenuto duplicato.
Genera anche varianti URL comuni e testa ognuna. Dato https://www.example.com/page, testiamo http://www.example.com/page, https://example.com/page, http://example.com/page, https://www.example.com/page/, e https://www.example.com/page?utm_source=test. Ogni variante potrebbe restituire un canonical diverso, un redirect, o lo stesso canonical dell'originale. Il nostro checker mappa i risultati in modo che tu veda il quadro completo in un'unica tabella.
Tre problemi si presentano ripetutamente. Il primo è canonical cross-domain—dove il tag punta a un dominio completamente diverso, di solito dopo una migrazione o misconfigurazioni CDN. Il secondo è catene di redirect—dove un URL si canalizza a un altro URL che reindirizza a un terzo. Il terzo è canonical mancanti su pagine paginata o filtrate, che porta a penalità per contenuto duplicato.
Come usare questo canonical checker
- Incolla il tuo URL in Primary URL. Usa la versione che consideri canonica—di solito https, www se la usi, e senza slash finale a meno che il tuo CMS non lo richieda.
- Incolla varianti aggiuntive in Extra variants to check se vuoi testare URL specifici. Uno per riga. Auto-generiamo le varianti comuni (protocollo, sottodominio, slash finale), quindi questo campo è opzionale.
- Clicca Check canonicals. Ottieni una tabella con una riga per ogni URL testato. Ogni riga mostra l'URL, il codice di stato HTTP, il canonical trovato nel tag HTML, il canonical trovato nell'intestazione HTTP, e se corrispondono.
- Guarda la colonna Conflicts. Una bandiera rossa significa che il canonical HTML differisce dal canonical HTTP, o l'URL si canalizza a se stesso quando non dovrebbe, o il canonical punta a un URL che restituisce 404.
- Clicca Download report per esportare la tabella come CSV. Usalo per batch-fixare i canonical nel tuo CMS o passarlo a uno sviluppatore.
Prova a controllare https://www.example.com/page su un sito WordPress. Potresti scoprire che la versione www si canalizza a https://www.example.com/page (non-www) e che la versione non-www si canalizza a se stessa. Se entrambe le versioni restituiscono 200, Google potrebbe trattarle come duplicati a meno che una non reindirizza all'altra. Il checker mostra questo conflitto in un solo passaggio.
Perché le varianti URL creano contenuto duplicato
Google tratta https://example.com/page, https://www.example.com/page, http://example.com/page, e https://example.com/page/ come quattro URL separati. Se tutti e quattro restituiscono 200 e mostrano contenuti identici, Google deve indovinare quale è l'originale. I tag canonical rimuovono l'incertezza dichiarando un URL come sorgente. Gli altri tre dovrebbero o reindirizzare al canonical o includere un tag canonical che vi punta.
Tre conseguenze pratiche.
Diluizione dell'equity di link. Se metà dei tuoi backlink puntano alla versione www e metà alla versione non-www, Google vede due pagine che dividono l'autorità. Un canonical consolida quell'equity su un singolo URL.
Spreco del budget di crawl. Se Google esegue il crawl di tutte e quattro le varianti, usa quattro richieste per indicizzare una pagina. Su siti grandi, questo si moltiplica per migliaia di pagine. I tag canonical o i reindirizzamenti 301 fermano la duplicazione.
Confusione nell'indice. Google potrebbe indicizzare la variante sbagliata—la versione http anziché https, o la versione con slash finale quando preferisci senza slash. Un tag canonical dice a Google quale mostrare nei risultati di ricerca.
Canonical HTML vs canonical intestazione HTTP
Il canonical HTML si trova nel <head>: <link rel="canonical" href="https://example.com/page">. Il canonical intestazione HTTP si trova nelle intestazioni di risposta: Link: <https://example.com/page>; rel="canonical". Entrambi servono lo stesso scopo. Se entrambi sono presenti e concordano, perfetto. Se entrambi sono presenti e discordano, Google ne sceglie uno—di solito l'intestazione HTTP perché viene inviata prima che l'HTML sia analizzato.
Le CDN, i proxy e i reindirizzamenti lato server a volte aggiungono canonical intestazione HTTP senza che il proprietario del sito lo sappia. Se il tuo CMS emette un canonical HTML che punta all'URL A, ma la tua CDN aggiunge un'intestazione HTTP che punta all'URL B, hai un conflitto silenzioso. Il nostro checker mostra entrambi in modo da poter individuare gli errori.
Alcuni CMS e framework impostano i canonical in modo scorretto per impostazione predefinita. Shopify a volte canalizza gli URL dei prodotti alla prima collezione in cui appaiono, anche se il prodotto è in cinque collezioni. Le installazioni WordPress multisite possono canalizzare al sottodominio sbagliato se l'impostazione dell'URL del sito è obsoleta. Testare le varianti rivela questi casi particolari.
Canonical auto-referenziati e quando importano
Un canonical auto-referenziato significa che il tag canonical dell'URL punta a se stesso: <link rel="canonical" href="https://example.com/page"> su https://example.com/page. Questo è corretto per la versione canonica di una pagina. Dice a Google "questo è l'originale, non un duplicato."
Tuttavia, se una variante si auto-referenzia—https://example.com/page/ si canalizza a se stessa anziché alla versione senza slash—hai un problema. Google vede due URL auto-referenziati con contenuti identici e deve sceglierne uno. La correzione migliore è reindirizzare la versione con slash a quella senza slash tramite 301 o canalizzare la versione con slash a quella senza slash.
Gli URL paginati—/blog/page/2, /blog/page/3—dovrebbero canalizzarsi a se stessi, non a /blog, perché ogni pagina ha contenuti unici. Gli URL filtrati o ordinati—/products?sort=price—spesso dovrebbero canalizzarsi alla versione non filtrata /products perché il contenuto si sovrappone. Il nostro checker non applica automaticamente queste regole; mostra il canonical che hai impostato e segnala incoerenze. Decidi tu la politica.
Errori comuni
- Ogni URL che si canalizza alla homepage. Alcuni plugin e temi si impostano così per impostazione predefinita. Dice a Google che ogni pagina è un duplicato della home. Controlla una pagina profonda—un articolo blog o un prodotto—per confermare che si canalizza a se stessa, non a
/. - Il canonical punta a un 404. Dopo una migrazione o un cambio di URL, le vecchie pagine potrebbero ancora canalizzarsi a URL che non esistono più. Il nostro checker recupera l'URL canonical e riporta il codice di stato. Se è 404, rimuovi il canonical o aggiornalo.
- Il canonical punta a un redirect. Se il canonical è
https://example.com/oldma quell'URL reindirizza a 301/new, Google deve seguire il redirect. È meglio canalizzarsi direttamente a/new. - Usare URL relativi nel tag canonical.
<link rel="canonical" href="/page">funziona nella maggior parte dei browser ma è tecnicamente non valido. Usa URL assoluti:href="https://example.com/page". - Canalizzare http a https ma non reindirizzare. Se la versione http si canalizza a https ma restituisce comunque 200, gli utenti sull'URL http vedono avvisi di contenuto misto e rimangono su http. Un reindirizzamento 301 è meglio di un tag canonical per i cambi di protocollo.
- Testare solo la versione canonica. Devi testare le varianti per vedere cosa fanno. Se la versione www non si canalizza alla versione non-www, hai un duplicato.
Suggerimenti avanzati
- Testa un URL da ogni tipo di pagina: homepage, categoria, prodotto, articolo blog, archivio paginato. I canonical spesso differiscono per template, e un problema in un template colpisce tutte le pagine che lo usano.
- Controlla i parametri di query.
?utm_source=twittere?ref=emaildovrebbero canalizzarsi all'URL pulito se il contenuto è identico. Se non lo fanno, stai creando infinite varianti. - Cerca canonical cross-domain dopo una migrazione. Se ti sei trasferito da
old-domain.comanew-domain.comma hai dimenticato di aggiornare i canonical, le pagine sul nuovo dominio potrebbero ancora canalizzarsi al vecchio. Questo dice a Google di indicizzare il vecchio sito. - Se usi tag hreflang per pagine localizzate, conferma che ogni variante di lingua si canalizza a se stessa. Un errore comune è che tutte le versioni di lingua si canalizzino all'URL inglese.
- Bulk-controlla i canonical nella tua sitemap. Se la tua sitemap elenca 500 URL, uno script può richiamare questo checker in un ciclo ed esportare un CSV di tutti quelli che non si auto-referenziano. Rileva i problemi prima che lo faccia Google.
- Ri-controlla dopo il deployment di un nuovo tema, plugin o aggiornamento CMS. La logica del canonical può rompersi silenziosamente quando una dipendenza cambia.
Se il tuo canonical check rivela conflitti, risolvili nelle impostazioni del tuo CMS o nel codice del tema, poi ri-esegui il check. Se devi anche confermare che la tua sitemap include solo URL canonical, usa il sitemap checker per il cross-reference. Per vedere come il metadata completo della tua pagina—titolo, meta description, tag OG, e canonical—si renderizza in Google, Twitter, e LinkedIn, il website metadata checker visualizza un'anteprima di tutti affiancati. Se vuoi confermare che Googlebot può raggiungere l'URL canonical e non è bloccato da robots.txt, il SEO checklist esegue 20 check on-page inclusa la validazione del canonical.