Rel canonical: cos'è e come utilizzarlo per la SEO

La pagina canonica e i suoi misteri! Smile

rel canonical

I contenuti duplicati a Google non piacciono. Quando su un sito si creano pagine duplicate, il tag rel="canonical" ci permette di aiutare Google a capire qual è la pagina principale, quella "vera", quella di cui dovrà tener conto nell'indicizzazione, ignorando eventuali duplicati.

 

Ann.

In questo articolo:

Perché si possono trovare delle pagine duplicate in un sito?

I motivi per cui in un sito possano verificarsi casi di contenuti duplicati sono molti, da una curiosa progettazione dei CMS più diffusi (Joomla, WordPress, ecc...), i cui programmatori, dal punto di vista tecnico, vedono come identificativo univoco degli articoli presenti nel database il loro ID e non il loro URL, a quelli dovuti all'utilizzatore che, volontariamente o meno, rende lo stesso contenuto disponibile a due (o più) differenti URL.

Un esempio tipico di un duplicato in WordPress può essere rappresentato dallo stesso articolo raggiungibile sia come www.sitoweb.it/articolo che come www.sitoweb.it/categoria1/articolo che come www.sitoweb.it/categoria2/articolo, o casi simili.

In Joomla, invece, è più frequente trovare www.sitoweb.it/categoria/articolo duplicato come www.sitoweb.it/index.php?option=com_content&view=article&id=100, dove "id=100" è l'ID dell'articolo nel database.

Ma questi non sono gli unici casi in cui si può generare un contenuto duplicato.

Per esempio, immaginiamo di avere una pagina www.sitoweb.it/listino con una lista di prodotti:

CodiceDescrizionePrezzo
001Primo prodotto€ 115,00
002Secondo prodotto€ 12,00
003Terzo prodotto€ 51,00

Sono molti i casi in cui, per cambiare l'ordine della lista, per esempio per prezzo, il programmatore aggiunge un parametro all'URL, in questo modo: www.sitoweb.it/listino?ordine=prezzo.
L'elenco ora viene mostrato così:

CodiceDescrizionePrezzo
002Secondo prodotto€ 12,00
003Terzo prodotto€ 51,00
001Primo prodotto€ 115,00

Ci troviamo di fronte a un contenuto duplicato perché le pagine www.sitoweb.it/listino e www.sitoweb.it/listino?ordine=prezzo, agli occhi dei motori di ricerca, avranno lo stesso contenuto (seppur in ordine diverso) ma URL differenti.

Ma questi non sono gli unici casi possibili! La lista è veramente lunga e non voglio annoiarti. L'importante è che tu abbia compreso che la probabilità che in un sito esistano contenuti duplicati non è così bassa come forse pensavi.

Perché è importante evitare i contenuti duplicati

I contenuti duplicati, che potremmo definire come "pagine dal contenuto simile raggiungibili attraverso URL diversi", possono essere motivo di scarse prestazioni dal punto di vista della SEO (Search Engine Optimization) e di conseguente perdita di posizioni nelle ricerche.

Questo perché Google (ma vale anche per gli altri motori di ricerca), per scansionare ogni singola pagina tra i miliardi presenti sul Web, spende delle risorse (banda, capacità di calcolo, spazio di archiviazione, tempo, ecc...) e non ama sprecarle per indicizzare gli stessi contenuti più volte.

Inoltre, Google ha l'obiettivo di soddisfare gli intenti di ricerca dei suoi utenti e di promuovere la qualità dei contenuti, motivo per cui i duplicati tra diversi siti web sono molto più "gravi" rispetto a quelli sullo stesso sito, che però non devono essere trascurati perché, comunque, rappresentano uno spreco delle risorse di scansione.

Ann.

Come risolvere il problema dei contenuti duplicati

Ovviamente, la prima soluzione è di non crearne Smile ma, come abbiamo visto, non sempre l'esistenza dei contenuti duplicabile è imputabile a un comportamento errato di chi gestisce il sito Web.

Se è proprio inevitabile avere contenuti duplicati sul sito, sia per motivi tecnici che per motivi "editoriali", allora ci viene in aiuto un piccolo codice da inserire nella sezione <head></head> del codice HTML.

Il codice in questione è il tag canonical, del tutto "trasparente" per il visitatore (ma non per Google) e che indica l'URL del contenuto principale, quello che desideriamo che Google indicizzi, ignorando i duplicati.

Il codice avrà questo formato:


  <head>
    <title>Questo è il titolo della pagina</title>
    ...
    ...
    <link rel="canonical" href="/percorso/pagina/principale">
    ...
    ...
  </head>
  

Questo codice dovrà essere inserito in ciascuna pagina duplicata. Quindi, riprendendo l'esempio precedente del listino, la pagina www.sitoweb.it/listino?ordine=prezzo dovrà contenere il seguente codice:


  <head>
    <title>Listino</title>
    ...
    ...
    <link rel="canonical" href="/listino">
    ...
    ...
  </head>
  

Il modo in cui il canonical è inserito nel codice è una questione meramente tecnica che lascio al programmatore ma, come suggerimento per i più esperti, un metodo "veloce" per l'inserimento del tag canonical, nei casi in cui modificare direttamente i file statici o i codici di programmazione del sito comporta delle difficoltà, può essere l'utilizzo di jQuery, con questa semplice funzione:


  function setCanonical(url) {
    if (jQuery('head link[rel="canonical"]').length) {
      jQuery('link[rel="canonical"]').attr('href', url);
    } else {
      jQuery('head').append("<link rel=\"canonical\" href=\"" + url + "\">");
    }
  }
  

Una volta definita la funzione e riprendendo sempre lo stesso esempio del listino, il tag canonical potrà essere inserito semplicemente con il comando:


  setCanonical('/listino');
  

Per maggiori approfondimenti, puoi leggere questa guida di Google.

Se vuoi chiedere ulteriori spiegazioni o se vuoi esprimere la tua opinione, non esitare a farlo lasciando un commento Facebook, oppure contattandomi in privato!

Grazie per avermi letto fin qui! Smile

E non dimenticare di mettere il tuo "Mi piace" qui sotto! Smile

Fabio Donna

Potrebbero interessarti:


Stampa  

Ann.

Ann.

Ann.

Ann.

Ann.

Commenti Facebook

N.B.: i commenti devono essere approvati prima della pubblicazione, quindi potrebbero non apparire subito.