Créer une page 404 personnalisée
From Joomla! Documentation
This page has been archived. This page contains information for an unsupported Joomla! version or is no longer relevant. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Ce tutoriel vous indique comment créer une page d'erreur 404 personnalisée pour votre site Joomla. Veuillez noter que l'approche ci-dessous envoie un code HTTP 200 au navigateur au lieu du code 404 attendu (puisqu'il affiche finalement un article Joomla traditionnel). L'approche dit au moteur de recherche de ne pas indexer la page en l'interdisant dans le fichier robots.txt. Cela ne semble pas être la meilleure solution.
Quatre étapes pour créer une page d'erreur 404 personnalisée
- Créez un article '404' non catégorisé
- Créer un article 'non catégorisé' dans Joomla! qui sera utilisé comme page 404. Ajoutez un texte comme par exemple Désolé, nous n'avons pas trouvé la page demandée... et, si nécessaire, vous pouvez ajouter tout lien de navigation que vous jugez utile. Par exemple, vous souhaiterez peut-être ajouter un lien vers votre page d'accueil.
- Créez et copiez le lien vers ce nouvel article 404
- Créez un élément de menu lié à votre nouvel article 404 et 'appliquez' vos changements. Puis copiez l'URL (index.php?optio...), mettez l'élément de menu sur 'publié : non' et fermez l'élément de menu. Vous devriez copier l'URL dans Notepad ou autre pour y avoir accès facilement.
- Copiez le fichier error.php dans le répertoire de votre template
- Dans votre installation Joomla, copiez le fichier error.php situé dans templates/system dans votre répertoire de template. Par exemple, si mon template se nomme 'Cleancloud' je vais copier le fichier error.php dans le répertoire templates/cleancloud.
- Modifiez le fichier error.php pour rediriger les erreurs 404 vers votre article 404
- Mofifiez le fichier error.php comme indiqué ci-dessous, en ajoutant le code juste après la ligne 'restricted access':
Si vous utilisez Joomla! 1.6, 1.7, 2.5, ou 3.x, merci d'utiliser ce code de détection :
if (($this->error->getCode()) == '404') {
header('Location: /index.php?option=com_content&view=article&id=75');
exit;
}
Remplacez l'information de 'location' (index.php?option..) par l'URL indiquée dans l'élément de menu que vous avez créé.
Si vous utilisez Joomla! 1.5 et inférieur, merci d'utiliser ce code de détection :
if (($this->error->code) == '404') {
header('Location: /index.php?option=com_content&view=article&id=75');
exit;
}
Exclure votre page d'erreur 404 des moteurs de recherche
- Dans Joomla! 3.x : dans Gestion des articles > Modifier un article > [Publication] > paramétrez "Robots" sur "Noindex".
- Dans Joomla! 2.5: dans Gestion des articles > Modifier un article > [Paramètres des métadonnées] > paramétrez "Robots" sur "Noindex".
- Pour les autres versions, ajoutez la ligne suivante dans le fichier robots.txt situé à la racine de votre installation Joomla. Remplacez (index.php?option..) par l'URL de votre article 404.
Disallow: /index.php?option=com_content&view=article&id=75
Étapes supplémentaires pour une meilleure page 404 personnalisée
- Suivez les meilleures pratiques indiquées ici : http://www.alistapart.com/articles/perfect404/
- Soyez créatif, ajoutez un 404 Haiku ou pourquoi pas une image