Canonizzazione delle url: facciamo un pò di chiarezza sul rel=”canonical”

Scritto il 14 apr 2009 in Motori di ricerca4 commenti letto 1331 volte.

Dà un pò di tempo circola su internet in maniera piuttosto incessante questo nuovo meta tag, che pare riesca a risolvere finalmente tutti i problemi di contenuti duplicati che affliggono i webmaster. Ma cos’è realmente questo rel=”canonical”? A cosa serve? E perchè utilizzarlo? Proverò a rispondere a queste domande dato che la confusione attorno a questo argomento è già molta ed inoltre, essendo da poco preso in considerazione dai motori di rcerca, non si conoscono ancora bene i suoi effetti.

Ad inizio Febbraio 2009 Google, Yahoo! e Microsoft dettero l’annuncio ufficiale del loro supporto a tale tag per consentire ai webmaster una migliore gestione delle pagine che hanno url differenti ma contenuti molto simili trà di loro. Successivamente verso la fine di Febbraio anche Ask tramite un comunicato sul suo blog, ha reso noto che supporterà il tag canonical.

Cos’è il rel=”canonical” e a cosa serve?

Si tratta di un elemento riferito al meta tag <link>, quindi da inserire nella sezione <head> della pagina in cui andrà utilizzato. La sintassi è la seguente:
<link rel="canonical" href="http://www.example.com/url_principale.html"/>

Questo serve a canonizzare le url agli occhi dei motori di ricerca, che tradotto in parole povere, significa rende unico il contenuto della pagina indicata nell’url anche quando ve ne sono altre simili o addirittura uguali. In pratica non fai altro che avvisare il crawler che troverà delle informazioni già indicizzate, ma che non deve considerare duplicate. Questo è un fenomeno molto frequente nei siti web sopratutto in quelli di e-commerce. Facciamo un esempio.

Può capitare di avere un elenco di prodotti riferiti tutti ad una stessa tipologia. Supponiamo che tale pagina abbia l’url che segue:

http://www.sito.com/elenco-di-prodotti.html

Magari il webmaster può deciderere di agevolarne la consultazione riordinando gli articoli in base ai click che ricevono, generando per cui il seguente url (che presenta un ID di sessione):

http://www.sito.com/elenco-di-prodotti.html?order=numero-link

Ovviamente tale pagina presenterebbe ai motori di ricerca gli stessi contenuti, anche se ciò non è vero per gli utenti. Andando avanti potrebbe capitare che la lista sia ordinata in base ai voti espressi dagli utenti per ciascun prodotto, generando per cui un url come quello che segue:

http://www.sito.com/elenco-di-prodotti.html?order=voto-utenti

Come l’esempio precedente anche qui un crawler vedrebbe una pagina identica a quelle già menzionate, risultando però tutte utili a chi visita il sito. Ciò attiverebbe il filtro anti-duplicazione di Google con conseguente penalizzazione di tutto il dominio. Ecco che scende in campo il rel=”canonical”.

Per risolvere il problema sarà sufficiente inserirlo nella sezione <head> delle pagine duplicate, indicando l’indirizzo della pagina da considerare quella principale.
Quindi riprendendo il nostro esempio si avrà questa situazione:

  • Tag canonical così impostato:
    <link rel="canonical" href="http://www.sito.com/elenco-di-prodotti.html" />
  • da inserire nelle pagine:
    http://www.sito.com/elenco-di-prodotti.html?order=numero-link

    http://www.sito.com/elenco-di-prodotti.html?order=voto-utenti

In questo modo i motori di ricerca daranno privilegio nelle serp alla pagina indicata, senza considerare la altre dei duplicati.

Perchè usare il tag canonical?

La risposta stà nel fatto che un webmaster può creare pagine che contengono informazioni identiche ma organizzate e presentate ai visitatori in maniera diversa, per agevolarne la consultazione. Tali pagine sarebbero però considerate dai motori di ricerca dei semplici duplicati, con tutte le conseguenze negative che questo comporterebbe.

E’ da tenere presente che questo non sostituisce nè il redirect 301 nè il comando disallow del robots.txt poichè il suo scopo è differente. Infatti Google nel suo centro di assistenza per webmaster parla di assegnazione di priorità all’interno delle serp, quindi le pagine duplicate appariranno comunque trà i risultati di ricerca anche se in posizione inferiore rispetto a quella canonizzata. Quindi si può ipotizzare che:

  • Il tag canonical è da usare quando vi sono delle pagine duplicate ma che devono essere comunque indicizzate dai crawler
  • Il redirect 301 và usato quando invece una pagina è stata trasferita ad un altro url
  • Il disallow del robots.txt serve invece per impedire l’indicizzazione di un url

C’è da considerare che ancora non si conoscono bene i reali benefici di questa strategia sui motori di ricerca, poichè non vi sono ancora dei test che possano mostrare gli effetti della canonizzazione delle url nei risultati di ricerca. Inoltre è valido solamente per quelle pagine che hanno contenuti uguali frà di loro o comunque molto simili, in altri casi non serve. Purtroppo non è dato sapere quanto devono essere simili le informazioni per far sì che si “attivi” la canonizzazione. In più il rel=”canonical” viene interpretato come un suggerimento e non una vera e propria direttiva, pertanto lo spider di un motore di ricerca può anche scegliere di ignorarlo.

Se utilizzi WordPress, Drupal o Magento ti suggerisco di utilizzare i plugin che trovi in questa pagina, segnalati anche da Matt Cutts nel suo blog.

Articoli che potrebbero interessarti

4 comments

» Comments RSS Feed
  1. Articolo molto interessante e utile lo terrò presente.
    Però mi pare che si possa raggiungere un risultato più performante usando i permalink… E’ certo però che in un sito già esistente e con centinaia di pagine e link conviene inserire questo attributo canonical (che nome :) )

  2. Solo un altra cosa, tu nell’articolo hai scritto:
    “una migliore gestione delle pagine che hanno url differenti ma contenuti molto simili trà di loro.” però deduco che l’attributo serva si per miglirare la gestione delle pagine, ma che hanno url simili e contenuti differenti non il contrario, sbaglio?

  3. [...] ora a scoprire che dal sito iowebmaster.com che è stato convalidato un nuovo attributo per i link, il tag [...]

  4. Ciao Luca,
    mi sà che ti sei un pò confuso. :)

    Le url simili (ma comunque diverse) con contenuti diversi non creano nessun problema con Google, in quanto ognuna di esse ha contenuti originali. Mentre url simili con contenuti identici vengono viste come duplicate e lì entra in gioco il tag rel=”canonical” a salvarti.

Scrivi un commento

- Torna alla Home Page di IoWebMaster