Introduzione
Joomla viene fornito dagli sviluppatori completo di molte funzionalità che permettono di ottimizzare il sito per i motori di ricerca. Innanzitutto viene fornita la possibilità di generare indirizzi SEF (ovvero Search Engine Friendly). È opinione comune che generare indirizzi più leggibili è molto meglio per migliorare la propria posizione sui motori di ricerca, infatti indirizzi con molti parametri nell'URL "confondono" i motori di ricerca.
Oltre a ciò, è possibile utilizzare il componente mod_rewrite per eliminare "/index.php/" dall'URL degli articoli, generando un URL ancora più leggibile come "http://sito.com/component/content/article/27-new-to-joomla/50-prova". Ovviamente questo non è il miglior URL ottenibile dal vostro CMS, tuttavia queste opzioni sono fornite standard e vengono settate nella sezione "Global Configuration" del backend di amministrazione di Joomla.
Oltre al miglioramento dell'URL, esistono numerosi piccoli trucchi che permettono di scalare piano piano le SERP dei motori di ricerca, per ottenere un posizionamento migliore. Molte di queste migliorie, compresa la personalizzazione degli URL generati, sono rese disponibili da un componente SEF come sh404SEF.
Feature di sh404SEF
- è un'estensione rilasciata sotto licenza GNU GPL
- è disponibile per entrambi i branch di Joomla!, 1.0.x e 1.5.x.
- migliora gli URL generati dal CMS
- sono disponibili plugin per gestire gli URL generati da estensioni di Joomla come Virtuemart, Fireboard, Community Builder. La lista delle estensioni supportate è decisamente ricca.
- si integra con siti multilingua gestiti con Joom!Fish
- può tenere il log delle pagine di errore 404 generate
- permette di impostare redirect personalizzati: se state facendo l'aggiornamento di un sito statico, potete ricreare gli URL degli articoli già ben posizionati nei motori di ricerca, in modo da non perdere ranking
- pulisce gli URL da caratteri non ASCII
- per funzionare effettua un basso numero di queries aggiuntive al database
- utilizza la cache per generare velocemente gli URL degli articoli più visitati
- mapping da URL non-SEF ad URL SEF, attraverso redirect 301 automatici.
- si prende cura di modificare i tag title, robots, meta e language, in modo che possano essere personalizzati nelle pagine del sito.
- esegue diversi controlli di sicurezza per incrementare la solidità del sito nei confronti di attacchi esterni.
- riduce la duplicazione del contenuto: ad esempio normalmente è possibile accedere alla homepage di Joomla attraverso gli indirizzi "www.mysite.com", "mysite.com/index.php", "mysite.com/index.php?lang=en", "mysite.com/index.php?option=com_frontpage&Itemid=1". Grazie a sh404SEF questo problema verrà risolto.
- può utilizzare i plugins sef_ext creati per OpenSEF e SEF Advanced
- funziona con SSL (Secure Sockets Layer)
- ha un'interfaccia multilingua, gestita in modo automatico dal framework di Joomla: se è impostata la lingua italiana in "Extensions -> Language Manager", allora verrà visualizzata l'interfaccia di amministrazione in italiano.
Installazione
Scaricare dal repository ufficiale su JoomlaCode.org l'ultima versione disponibile per il proprio branch di Joomla (1.0 oppure 1.5). Installare il package dal backend di amministrazione di Jooma, attraverso il menu "Extensions" e la voce "Install/Uninstall".
Selezionare il package usando il pulsante Browse, quindi cliccare "Upload File & Install".
Se l'installazione ha avuto buon fine, verrà visualizzata una lunga schermata che riporta una serie di informazioni su come configurare il componente. Consiglio di leggere la pagina e di stamparla. Le stesse istruzioni compaiono anche nella pagina di aiuto del pannello di controllo di sh404SEF.
Per attivare l'estensione è necessario configurarla. sh404SEF richiede il plugin Legacy per funzionare, che viene attivato automaticamente dall'installer del componente.
Configurazione di sh404SEF
sh404SEF può funzionare in due modi: utilizzando il file .htaccess oppure no.
Non utilizzare il file .htaccess è l'opzione di default, lascia nell'URL generato la stringa /index.php/. Per eliminarla, occorre modificare il file .htaccess come spiegato nell'help di sh404SEF.
Accedere al pannello di configurazione di sh404SEF, selezionando l'omonima voce nel menu "Components"; comparirà il seguente pannello
Come prima cosa, configuriamo il componente selezionando la voce sh404SEF Configuration. Verrà aperta la seguente pagina
Partiamo con la Basic Configuration e vediamo quali sono le impostazioni che vengono settate:
- "Enabled" abilita il componente
- "Replacement character" indica il carattere che viene inserito nell'URL per sostituire i caratteri non accettati. "Strip characters" indica i caratteri da eliminare dall'URL.
- "Character raplacement" list indica una lista di modifiche che devono essere effettuate ai caratteri prima di generare l'URL, ad esempio eliminare accenti e pronunce varie.
- Use title alias indica se usare nell'URL il valore del campo Title o il valore del campo Title Alias, settati nella stesura del contenuto
- File suffix indica l'estensione standard da applicare agli URL
La sezione Unique ID permette di definire un ID unico che viene associato ad ogni contenuto generato, e consente di impostare a quale categoria devono appartenere gli articoli a cui associare questa funzione.
Diamo un'occhiata ora alle diverse schede di sh404SEF. Il secondo tab si chiama "Plugins", in esso è possibile settare quali informazioni inserire nell'URL: si possono mostrare il nome della categoria ed il nome della sezione a cui appartiene il contenuto.
Il tab Languages, permette di modificare le impostazioni relative alla lingua. Translate URL viene impostato di default a Yes. Se è installato Joom!Fish, il componente che si occupa della gestione delle lingue del sito, verrà generato un URL nella lingua prescelta dal visitatore. Se "Insert language code in URL" è attivato, ed il sito è multilingua, sh404SEF introdurrà nell'URL un identificatore relativo alla lingua del contenuto.
Il tab successivo si chiama "By component". Esso permette di stabilire, per ogni componente installato nel sistema, un particolare trattamento, scegliendo tra i tre seguenti:
- use default handler: usa la procedura normale, salvo sia presente una estensione sef_ext di SEF Advanced che si occupa di quel particolare componente.
- nocache: crea URL SEF ma non memorizza la cache degli URL nel database
- skip: non genera URL SEF per questo componente
Il tab "Meta/SEO", permette di definire se si vuole delegare a sh404SEF la gestione dei tag title, meta, robots e language, attraverso il suo modulo shCustomTags. In caso contrario, verrà utilizzato il metodo standard di Joomla.
Il tab Security consiste in un'unica opzione che se attivata indica a sh404SEF di effettuare delle verifiche sugli URL richiesti al sito web, in modo da prevenire alcuni comuni attacchi di utenti malintenzionati.
Il tab "404 Page" è un editor di testi che permette di modificare l'aspetto della pagina che viene visualizzata quando non è possibile riconoscere l'URL richiesto al sito web, e viene generato un errore 404.
Torniamo al pannello principale di sh404SEF e selezioniamo la voce "View/Edit SEF Urls".
Qui vengono elencati gli URL che sono generati: da una parte l'indirizzo generato da sh404SEF e dall'altra l'URL originale; viene anche riportato il numero di hits di ogni URL. Cliccando una voce è possibile associare all'URL SEF una serie di alias, cui saranno associate delle pagine redirect 301: molto utile per evitare che cambiando una URL vengano visualizzati degli errori "404 Page Not Found".
Sempre in questa sezione è possibile impostare i meta tag di ogni pagina del sito, attraverso il pulsante "New META".
Tornando al pannello principale, si trova l'opzione "", che permette di eliminare tutti gli URL SEF generati. L'opzione "Purge 404 Logs" elimina i log degli errori 404 rilevati.
Interazione con altre estensioni
L'interazione con estensioni di terze parti viene garantita attraverso una serie di file che sono forniti nell'installazione standard di sh404SEF. Scompattando il file compresso del pacchetto infatti troviamo la directory sef_ext dove sono memorizzate le regole per la trasformazione degli URL generati da vari componenti, tra cui Fireboard, Community Builder, DocMan, Simple Machines Forum, SOBI2, Virtuemart. In questo modo un componente installato nel sistema genererà automaticamente URL search engine friendly.