rel=”Canonical”: ecco cos’è e come si usa

Il rel=canonical è spesso motivo di confusione e di errori. Nonostante il concetto possa essere di facile comprensione, l’implementazione risulta più complessa di quanto si pensi. Se utilizzato correttamente, questo strumento eviterà l’indicizzazione multipla sui motori di ricerca di pagine accessibili da url differenti, riconducendo i vari spider verso una pagina definita “canonica”. In questo breve post si cercherà di fare chiarezza su cosa sia effettivamente il rel=canonical e come utilizzarlo nel miglior modo possibile.

Che cos’è e che cosa non è

Tra i tanti problemi nel campo dell’ottimizzazione dei siti internet c’è la possibilità che i visitatori accedano ad una stessa pagina tramite percorsi diversi e questo genera URL differenti per un medesimo contenuto.

Si pensi ad esempio alla struttura di un sito ecommerce organizzato in categorie e sottocategorie (esempio “categoria/sottocategoria/prodotto.html“). Se un prodotto di una sottocategoria risultasse in promozione si potrebbe avere un altro url che punta a quel prodotto (esempio “promo/prodotto.html“). In questo caso, se non si usasse il canonical, si avrebbe una pagina indicizzata nei motori di ricerca con due url diversi.

L’utilizzo delle pagine canoniche rientra, quindi, tra gli strumenti SEO per evitare l’indicizzazione di URL diversi che fanno riferimento agli stessi contenuti.

Occorre fare attenzione a non confondere le pagine canoniche con altri concetti che si potrebbero ritenere “simili”. La pagina canonica non è:

  • un redirect 301
  • la home page del sito
  • la “REQUEST_URI”

Come e quando utilizzarlo

È possibile implementare una pagina canonica inserendo il tag “link” contenente la proprietà rel=”canonical” ed ahref con l’indirizzo della pagina canonica. L’elemento link deve essere contenuto nei tag “head” della pagina. Lo stesso canonical con le medesime proprietà, dovrà poi essere riportato su tutte le pagine che hanno gli stessi contenuti.

Una cosa utile, ma poco conosciuta, del rel=”canonical” è che il suo impiego non è limitato solo alle pagine html. È possibile, infatti, utilizzarlo anche per le risorse inserendolo negli HTTP headers. Un esempio potrebbe essere la presenza di formati diversi per uno stesso documento (.doc, .pdf, .txt ecc).

È possibile utilizzare le pagine canoniche anche per contenuti che risiedano su domini differenti. In questo caso, basterà indicare nella proprietà href del tag link l’indirizzo assoluto della pagina:

[code type=”markup”][/code]

Link rel=”prev” e link rel=”next”

Fanno parte della “famiglia” del canonical anche i tag “link” con proprietà rel=”next” e rel=”prev”. Questi due elementi, se inseriti e strutturati correttamente, dovrebbero indicare agli spider dei browser la paginazione corretta di un sito. Facendo un esempio, si potrebbe avere l’url di una categoria che contenga prodotti, divisi su più pagine “dominio.com/categoria“: le pagine successive avranno quindi url del tipo “dominio.com/categoria?page=2“, “dominio.com/categoria?page=3“, ecc. Verrebbe naturale pensare di inserire un canonical che ha come url la pagina iniziale della categoria “dominio.com/categoria“.

Da settembre 2011, però, Google ha riconosciuto ufficialmente l’utilizzo di rel=”next” e rel=”prev” per ordinare e per mettere in relazione contenuti “spalmati” su più pagine.

Per la prima pagina di categoria non ci sarà il rel=”prev”, ma si avrà:
[code type=”markup”][/code]

Per la seconda pagina di categoria, invece:
[code type=”markup”][/code]
[code type=”markup”][/code]

Secondo Google, se si utilizzassero questi tag, si fornirebbe allo spider del motore di ricerca una solida struttura che permetterebbe l’indicizzazione dei contenuti con maggior correttezza creando anche relazioni per contenuti disposti su più pagine. Il nostro consiglio è quello di inserire, comunque, una pagina canonica, preferibilmente una “View All” page.

Concludendo ci preme informare che Google si riserva di interpretare l’utilizzo delle pagine canoniche valutando caso per caso tentando di ovviare ad eventuali errori di implementazione. La cosa migliore da fare sarebbe, però, quella di utilizzare in modo preciso il canonical evitando di lasciare libera interpretazione ai browser.

Condividi