Supporto volontario e collaborativo per Joomla!® in italiano

Url duplicate verso l'homepage? Impariamo l'utilizzo di rel=canonical

canonicalQuesta mini-guida ha l'obiettivo di dare una overview generale al significato di questo 'attributo' e di spiegare come implementarlo in un caso specifico di utilizzo del CMS Joomla; rimando ad altre fonti per maggiori dettagli: Google supporto per webmaster.

Partirei con lo spiegare cosa non è una pagina canonica: La pagina canonica NON è:

  1. La pagina che si stà visitando;
  2. la 'REQUEST_URI', cioè l'indice della variabile globale $_SERVER, che restituisce l'indirizzo della pagina;
  3. la Home Page;
  4. l'equivalente al redirect 301, ossia la redirect permanente;

... chiarito questi punti, cos'è la pagina canonica?

La rel=canonical dà la possibilità ad un'amminstratore di un sito web di indicare o suggerire al motore di ricerca da dove prendere in modo corretto le informazioni, soprattutto nei casi in cui provengono da più url, e che sono assolutamente IDENTICHE. Per cui questo attributo permette di evitare o 'correggere' il problema delle url duplicate indicando la versione 'vera' di un contenuto all'interno del sito web.

Ciò appare necessario in quanto esse rappresentano un problema molto serio dal punto di vista dei motori di ricerca, google in testa, perchè possono comportare penalizzazioni. In Joomla le URL vengono duplicate sia dal core, che genera alcune URL differenti per raggiungere l'homepage sia, molto spesso, dalle estensioni di terze parti, a cominciare dai template. Alcuni template, ad esempio, gestiscono le dimensioni del testo creando più indirizzi. Non finisce qui, però. A complicare la situazione intervengono spesso componenti ed a volta moduli quali slideshow, photogallery. Mi è capitato di utilizzare, ad esempio, una slideshow che creava un indirizzo per ogni fotografia in essa caricata. Per risolvere in maniera strutturata tale problematica bisognerebbe installare un componente per la gestione della Seo. Adottare una soluzione del genere è essenziale per siti strutturati e di grandi dimensioni, quali siti di ecommerce, ma anche forum e blog. Chi gestisce siti vetrina, personali o aziendali, invece, potrebbe trovare ostico utilizzare strumenti per la SEO che non sono di facilissima comprensione, soprattutto perchè presuppongono uno studio almeno basico della materia, di per se complessa. Che fare dunque?

Bene se il vostro problema riguarda URL duplicate che puntano all'homepage, come capita la maggior parte delle volte, e non volete cimentarvi con strumenti per la SEO, vi proponiamo un breve script, da aggiungere al template, che risolve la questione in maniera semplice e veloce, utilizzabile, con la stessa procedura, sia in joomla 1.5, sia in joomla 2.5. Attenzione, però, il metodo che suggerisco comporta uno script, da inserire nel template, che controlla se la pagina è quella di default. Non si può, dunque, utilizzare su siti multilingua di joomla 2.5. In questi siti, infatti, la pagina di default, normalmente, rimane sul menu multilingua, che non viene visualizzato e non nelle homepage delle varie lingue.

Come implementare il rel=canonical in joomla

  1. Quello che propongo di seguito è aggiungere un link canonical nella home del proprio sito joomla. Attenzione: Questa procedura richiede che si editi il proprio template Joomla, per cui prima di cominciare è bene fare un bel backup. Scaricate il proprio template che contiene i tag Html e apritelo con un qualsiasi editor di testo. Il file principale del template solitamente si trova in /templates/your-template/index.php. Comunque se si sta usando un template che si basa su un framework come Yootheme Warp oppure RocketTheme Gantry per fare un esempio, occorre seguire la relativa documentazione per modificare i file. Per il tema YooTheme Warp, è possibile trovare il file in /templates/yoo-template/template.php.
    Nota: Se si modifica un file che appartiene al core del framework del proprio template, fate attenzione che le vostre modifiche saranno sovrascritte al primo aggiornamento di quest'ultimo o del template stesso.Per evitare questo ad esempio con il tema YooTheme Warp, occorre creare un vostro stile custom (personalizzato) e copiare il relativo template nella parte custom. Per i dettagli rimando alla documentazione ufficiale; .
  2. Posizionatevi all'interno del tag
     
    <head>
    ...
    ...
    </head>
     
      che si trova nella parte alta del template ed aggiungete il seguente codice:
     
    <?php $app = JFactory::getApplication();
    $menu = $app->getMenu();
    if ($menu->getActive() == $menu->getDefault()) { ?>
    <link rel="canonical" href="http://mysite.com" />
    <?php } ?>
     

    Nota: Questo codice in pratica istruisce Joomla a capire se la pagina visualizzata è la Home. Se lo è, allora inserisce il link canonical. Se non è la Home, nessun link verrà visualizzato.
  3. Cambiate mysite.com con i vostro dominio;
  4. Salvate il file del vostro tema così modificato e fate l'upload sul webserver che ospita il vostro sito;
  5. Potete fare un TEST andando in Home Page del sito e visualizzando dal browser il sorgente della pagina. Dovreste vedere tra i tag head la riga
     
    <link rel="canonical" href="http://mysite.com" />
     
  6. Spostatevi in una qualunque altra pagina e inspezionate nuovamente il sorgente; in questo caso non dovreste vedere nessun riferimento al link canonical.

Antonino Pagano
Crismer La Pignola


CommentaCommenta questo articolo sul forum