Vous êtes certainement déjà tombé, un jour ou l’autre sur une page non trouvé (page not found, page non trouver, erreur 404).
Parfois très moche, parfois joli voir le message de base du navigateur disant que la page n’a pas été trouvée.
Essayons de comprendre le mécanisme et d’éviter cette erreur,
De comprendre comment créer des pages plus évoluée que le simple message de apache ou du navigateur,
Et de voir les erreurs, sur les pages d’erreurs ;), souvent rencontrée!
Qu’est-ce qui provoque une erreur 404?
Et surtout comment l’éviter
Normalement une erreur 404 provient lorsque un fichier(page, document, fichiers …) n’est pas trouvé.
En pratique c’est souvent une erreur de lien mal fait, lien vers des fichiers qui n’existent plus, … Afin d’éviter une erreur 404, pouvant vous faire perdre des visiteurs (après tout ce qui reste s’il voit une bête page disant « fichier non trouvé! »).
- Pensez à tester les liens de votre site.
- En cas de changement d’emplacement des fichiers, plusieurs possibilités s’offre à vous :
- Effectuer une redirection (Via entête HTTP) de l’ancien lien vers le nouveau (pensez aux utilisateurs ayant stocker le dit lien, aux moteurs de recherches vous ayant indexer, …). Les moteurs de recherches effectueront la mise à jour et au bout d’un moment vous n’aurez plus qu’à utiliser le message décrit ci-après.
- Afficher un message (pour l’utilisateur uniquement puisque le moteur de recherche ne le comprend pas) disant de se rendre à la base du site et de reprendre leur recherche. Ainsi l’utilisateur retrouvera (ou pas) sa page.
Je vous ai cité les deux qui me paraissent facile à mettre en place.
- Penser a vérifier le listing de vos pages indexer dans les moteurs de recherche, cela évite pas mal de surprise….
Création d’une page d’erreur personnalisée
Attention il est possible que votre hébergeur ne vous y autorise pas!
Il vous faut en premier lieux créer un fichier .htaccess
dans lequel mettre ce code : ErrorDocument 404 /totor/404.html
Mais que va faire ce bout de code
Lorsque une erreur 404 se produira, apache va afficher /totor/404.html
.
Plus exactement, lorsque vous tapez http://www.monsiteamoi.com/test/pagequiexistepas
, apache affichera le contenu de http://www.monsiteamoi.com/totor/404.html
, tout en gardant l’url inchangé.
Cependant afin que les moteurs de recherche comprennent qu’il y a une erreur une entête HTTP 404 est quand même généré! Il ne vous reste plus qu’à créer la page 404.html.
Erreur la plus couramment trouver dans les tutoriaux
Dans énormément de tutoriaux on trouve cette erreur :
Mettre ceci dans votre fichier .htaccess :
ErrorDocument 404 http://www.monsiteamoi.com/totor/404.html
Or cela à pour effet de oui afficher la page 404, mais le code HTTP que renvoi la page est 200 (soit que tout va bien) donc les moteurs de recherche (entre-autres) vont continuer à indexer cette page!
A noter
- Les autres erreurs HTTP peuvent être traité de la même manière
- Vous pouvez utiliser un script PHP afin de par exemple gérer toutes les erreurs
ErrorDocument 404 /error.php?code=404
- Tester vos entêtes HTTP avec firefox via l’extension webDevlopper (menu information, entête HTTP)
Quelques liens :
- Erreur HTTP 404
- HTTP 404
- Liste des codes HTTP
- Les meilleurs pages 404
- Quelques autres page 404 marante
Similar Posts:
- None Found
Est il possible de faire une redirection avec un htacces ? genre un RedirectPermanent ou quelque chose du genre ?
si je me rappel bien avec l’url rewriting, il y a moyen de réecrire en envoyant un header (par exemple 404 😉 ) mais en dehors de cela …. je n’en sais pas plus.