Een 404 pagina is tegenwoordig best belangrijk. De foutmelding Error 404 of Not Found (niet gevonden) is een van de HTTP statuscodes. De foutmelding wordt gegeven door een webserver wanneer het gevraagde bestand niet bestaat. Vaak is dit een zeer technische melding waar je bezoeker niet veel mee kan en dit kan betekenen dat het bezoek aan jouw website op dat moment wordt gestaakt. En dat wil je natuurlijk niet. Je wilt boeien en binden. Dus een leuke, of functionele 404 pagina is belangrijk.
Hoe doe je dat nu binnen Joomla! Met een paar stappen ga ik dat nu uitleggen.
Stap 1. Maak een menu aan
Ga via menubeheer een nieuw menu aanmaken, en noem dat 'verborgen' (of iets dat jij zelf wilt)
Stap 2. Maak een pagina aan die als 404 pagina gaat dienen
Dit doe je gewoon door een nieuw artikel toe te voegen. Zet in dit artikel minimaal het volgende:
- Leg uit waarom ze op deze pagina zijn gekomen
- Voeg een zoekoptie toe
- Zorg ervoor dat je bezoekers alternatieven biedt voor de pagina waar ze nu zitten, denk hierbij aan een aantal links naar onderdelen van je site (het contactformulier oid)
- Je mag best wat humor gebruiken, maar verlies niet de essentie van het probleem en waarom mensen hier beland zijn.
Stap 3. Koppel de pagina aan het zojuist gemaakte menu
Ga naar menubeheer, kies het menu 'verborgen' en maak hier een nieuw menu-item aan met een koppeling naar het zojuist gemaakte artikel. Als je dit menu bijvoorbeeld '404' noemt, dan kun je nadat je dit gedaan hebt testen of de pagina ook beschikbaar is op <jouwdomeinnaam>/404
Als dat zo is, ga dan naar stap 4, zo niet, dan moet je even controleren wat de url is met de zoekfunctie. Zoek de 404 pagina op en kopieer de url van de werkende pagina.
Stap 4. Pas de error.php aan
Deze is wat technisch. Je moet de error.php kopieren (via FTP) van de /templates/system/error.php naar de /templates/<JOUW TEMPLATE>/error.php
Als je dat hebt gedaan pas dan de error.php aan (voorbeeld hieronder is voor Joomal 3+):
<?php
/**
* @package Joomla.Site
* @subpackage Template.system
*
* @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
if (($this->error->getCode()) == '404') {
header('Location: /404');
exit;
}
?>
Waarbij ik in het rood de URL van de werkende 404 pagina aangeef.
En voila, je hebt nu je eigen 404 pagina beschikbaar, die je via het cms kunt beheren. Hoe makkelijk is dat?