Creare una pagina di errore 404 personalizzata per Joomla!

DiFabio

Creare una pagina di errore 404 personalizzata per Joomla!

In questo articolo vi spieghiamo come creare una pagina di errore 404 personalizzata per Joomla.

Una delle raccomandazioni principali delle linee guida per i webmasters di Google è di creare una pagina di errore 404 personalizzata. La pagina 404 non dovrebbe solo informare l’utente (e sopratutto i motori di ricerca) che il contenuto non esiste più, ma dovrebbe essere d’aiuto per continuare la navigazione.

La pagina di errore di default di Joomla non fa questo lavoro e spesso neanche quelle di tempates più avanzati. Ecco un classico esempio di una pagina di errore 404 che serve a ben poco.

La cosa migliore da fare è quella di indirizzare verso alcuni contenuti che potrebbero risultare interessanti all’utente in modo che non abbandoni la navigazione sul nostro sito. Per aiutarci, possiamo scrivere una pagina personalizzata attraverso un articolo Joomla!, che sia la nostra pagina di errore 404 e verso cui redirigere tutti gli errori.

Vediamo come eseguire questa operazione in Joomla! 2.5…..

Prima di tutto andiamo a creare un nuovo articolo dall’amministrazione: Content -> Article Manager -> Add new Article

Scriviamo il nostro articolo che conterrà la nostra pagina utile di errore. Possiamo dare sfogo alla nostra fantasia, ma l’importante è che la pagina sia utile. Ecco un buon esempio: qui la pagina di errore 404 contiene un motore di ricerca che permette di eseguire una ricerca all’interno del sito.

Iniziamo comunque a scrivere una semplice frase all’interno del nostro articolo: Oooppsss, la pagina che stavi cercando non è più qui! (questo ovviamente è solo un esempio. Potete scrivere quello che volete)

Date all’articolo il titolo che preferite (es 404) e assegnatelo alla categoria uncategorised:

articolo 404

L’articolo che abbiamo creato noi, come potete vedere dall’ultima colonna rappresentata in immagine, ha l’id=1. Controllate l’id del vostro, che molto probabilmente sarà diverso. Una volta identificato l’id, potete richiamare la pagina, per vedere come appare, attraverso la seguente url: http://www.MIOSITO.xxx/index.php?option=com_content&view=article&id=sostituendo le parti in grassetto rispettivamente con il nome del proprio sito e l’id dell’articolo appena creato.

Vediamo ora come trasformare la pagina appena creata, nella nostra nuova pagina di errore 404.

Andiamo nella cartella di istallazione di Joomla! ed entriamo nella cartella /templates/system. Qui troviamo il file error.php. Copiamolo in locale e trasferiamolo all’interno della cartella del template che stiiamo utilizzando. Esempio: Se stiamo utilizzando il template atomic (che sarà istallato in/templates/atomic), dovremo copiare il file /templates/system/error.php in /templates/atomic/error.php.

Ora abbiamo il nostro file di errore, da personalizzare, per richiamare la nostra nuova pagina, all’interno del nostro template.

Editiamo il file error.php e modifichiamolo come segue:

Eliminiamo le righe che vanno dalla 9 alle 12 (comprese) e sostituiamole con le seguenti:

View source

if (($this->error->getCode()) == '404') {
header('Location: /index.php?option=com_content&view=article&id=MIOID');
exit;
}

Nella seconda riga, MIOID dovrà essere sostituito con l’ID dell’articolo 404 creato precedentemente. In questo modo, quando il browser intercetterà l’errore 404 nell’header di risposta, il server eseguirà una redirect verso la nostra nuova pagina di errore.

Tutto qui!!!

Ma ci sono alcune importanti considerazioni fa fare. Tanto per cominciare, se una pagina è ancora presente sul nostro server, ma è stata spostata, è bene che venga configurato un redirect verso la nuova URL. Questo va fatto con un redirect 301 se il trasferimento è definitivo, oppure con un redirect 302 se lo spostamento è soltanto momentaneo. La pagina di errore 404 va mostrata solo ed esclusivamente se effettivamente si vuole che l’articolo rimosso non sia più visibile.

Ancora un dettaglio. Di solito le pagine di errore 404 vengono utilizzate per fare in modo che Google (e gli altri motori di ricerca) elimini quel contenuto dai risultati di ricerca. Per fare ciò, l’header di riposta della pagina di errore devere restituire un 404. Ma quanto fatto fin’ora restituisce un code 200, che significa OK. Per terminare quindi il nostro lavoro è necessario inserire nella nostra pagina di errore il seguente codice:

View source

<?php
header("HTTP/1.0 404 Not Found");
?>

In questo modo avremo la nostra bellissima pagina di errore 404 ma che, pur essendo una pagina reale e presente, restituirà il codice di errore 404 corretto.

Sicuramente avrete difficoltà ad aggiungere questo codice nel vostro articolo, in quanto Joomla! non lo permette. A riguardo, vi consigliamo il componente Jumi, che permette di inserire codice PHP all’interno dei nostri contenuti.

Buon lavoro, e se avete dubbi o quesiti, commentate!

Info sull'autore

Fabio administrator

Appassionato di tecnologia, lavoro nel mondo dell'informatica dal 1999. Mi diletto con PHP e MYSQL e ultimamente mi sono appassionato al mondo SEO ...più per sfida che per necessità. In questo blog voglio condividere con gli utenti quello che imparo, sperando che altri possano trarne "profitto" .

3 Commenti finora

Jumi rimuovere errore "The Jumi Application is Unpublished or Removed"Pubblicato il10:59 am - Mar 27, 2014

[…] Questo codice altro non è che una redirect verso la nostra pagina di cortesia. Per capire come crearla, leggi il nostro tutorial a riguardo: pagina di errore 404 personalizzata. […]

Jo-Bagno.itPubblicato il5:50 pm - Nov 17, 2015

Grazie della guida, creata la pagine 404 e funziona benissimo. Una delle poche guide che ha spiegato bene. Una sola correzione, nel mio template non era la riga 9 bensi la 3. quindi credo che può variare da template a template.Potrebbe tornare utile a qualcuno. 🙂

Lascia una risposta