Une erreur 404 survient lorsqu’une page ou un article de votre blog est inaccessible.
Avec WordPress, un simple fichier 404.php, ou le modèle Page 404 si vous utilisez un thème à blocs, vous permettra d’optimiser cette fameuse page d’erreur dite 404 et ainsi augmenter le nombre de pages vues.
À titre d’exemple, voici le message qu’affichait WordPress Channel en 2010 en cas de contenu inaccessible. C’était le message par défaut, guère attractif pour les visiteurs et encore moins explicite.

Pour afficher ce type de page, il suffit d’indiquer un URL incorrect – par exemple à partir du permalien d’un article.
La méthode dépend de votre thème. Avec un thème classique, créez un fichier 404.php comme expliqué ci-dessous. Avec un thème à blocs, comme Twenty Twenty-Five, rendez-vous directement à la section consacrée au modèle Page 404 : aucun fichier à créer. Vous reconnaîtrez un thème à blocs au sous-menu Apparence > Éditeur.
Dans les deux cas, WordPress envoie le code HTTP 404 avec cette page, comme Google le recommande pour les pages introuvables. Méfiez-vous donc des extensions qui redirigent toutes les erreurs 404 vers la page d’accueil : visiteurs et moteurs de recherche ne reçoivent alors plus ce code.
Création du fichier 404.php
Commencez par vous connecter sur votre serveur FTP, avec FileZilla ou Cyberduck par exemple, puis localisez le dossier /wp-content/themes/NOM_DU_THEME/. Si votre thème reçoit des mises à jour, travaillez plutôt dans un thème enfant : un fichier modifié dans le thème lui-même serait écrasé à la prochaine mise à jour.
À l’intérieur du dossier de votre thème, dupliquez le fichier page.php, ou à défaut index.php. Nous allons reprendre l’intégralité de la structure du fichier pour notre page 404. Avec un thème enfant, copiez ce fichier depuis le dossier du thème parent vers celui du thème enfant.
Si le fichier 404.php existe déjà, éditez-le, ou copiez-le dans votre thème enfant !
Ouvrez donc le fichier dupliqué puis renommez-le 404.php. Ne changez pas ce nom de fichier !
Inutile de déclarer ce fichier : selon la hiérarchie des modèles, WordPress l’utilise automatiquement pour toute adresse introuvable, à la place d’index.php.
Éditez directement le code source pour y insérer des commandes PHP. Vous pourrez ainsi afficher les articles les plus récents, les articles les plus populaires ou encore utiliser des commandes propres à certains plugins.
De façon plus simple, commencez par modifier le texte et insérez pourquoi pas une image.
Exemple de page 404

Le code de cette page de 2010 dépendait de son thème, utilisait un paramètre de requête déprécié depuis WordPress 3.1 et n’appelait pas get_footer(), indispensable pour afficher le pied de page et charger ses scripts. En voici une version actualisée, qui reprend le même principe : un titre, un message, le formulaire de recherche, les 10 articles les plus commentés et un lien vers la page d’accueil. Bien entendu, il vous faudra adapter les balises et les classes à votre thème, en vous inspirant de votre fichier page.php.
Les textes, en anglais, passent par les fonctions de traduction de WordPress : remplacez le domaine wpchannel par celui de votre thème, ou saisissez directement vos propres textes en français. Le paramètre ignore_sticky_posts évite que vos articles épinglés s’ajoutent en tête de liste.
Pour aller plus loin, la documentation officielle détaille la création d’une page 404 dans un thème classique (en anglais).
Avec un thème à blocs : le modèle Page 404
Avec un thème à blocs, comme Twenty Twenty-Five, la page d’erreur est un modèle composé de blocs, que vous modifiez sans écrire de code. Rendez-vous dans Apparence > Éditeur, cliquez sur Modèles, puis sur Page 404. Modifiez la page comme un article : texte, image, bloc Recherche, bloc Derniers articles… puis cliquez sur Enregistrer.
Si votre thème ne propose pas ce modèle, créez-le avec le bouton Ajouter un modèle de l’écran Modèles. Vos modifications sont enregistrées dans la base de données et non dans les fichiers du thème : une mise à jour du thème ne les efface pas.
Pour limiter les 404 à la source, apprenez à détecter les erreurs 404 avec Broken Link Checker.
12 réponses
Au secours !!
J’ai vouu suivre ton tuto et je suis franchement pas douée pour ce genre de trucs …
Je suis sur wordpress, thème alyoum.
Un fichier 404.php existe déjà. Je l’ai donc modifié … Et certainement mal fait car maintenant, TOUTES les pages de mon site (sauf accueil) s’affichent en 404 ! Donc, c’est la panique !
Mon site entier est en 404 !! 0_0
J’espère que tu verra ce message vite, parce-qu’ici c’est la débandade, j’ai le cerveau qui fume !
ps : sinon j’adore ton site et tous ces conseils ! (je suis juste très débutante encore)
Hello,
je ne vois aucune 404 sur ton site… si tu modifies le fichier 404.php cela n’aura pas de répercussions sur le reste du site. 😉
Bonjour,
Comment faire pour être sûr que Google désindexe ces pages (je viens de supprimer des tas de tags pour éviter le duplicate et, je l’espère, remonter un peu dans les résultats Google).
Merci d’avance de vos conseils et recommandations.
Hal
En utilisant un plugin SEO qui indiquera aux moteurs de ne pas indexer vos pages de tags.
Merci. J’utilise le All in One SEO Pack, et j’avais simplement fait une grosse boulette et décoché « Use noindex for the 404 page: » ^_^
Par contre après nettoyage des tags, resoumissions du Sitemap, et ce paramétrage corrigé, après 2 semaines, toujours pas de prise en compte par Google…
@+
Bonjour, je viens de me créer mon ficher 404.php, pas de soucis.
Et histoire de tester, je cherche une page qui n’existe pas, je tombe bien sur la page 404, mais j’ai l’erreur suivante dans la console Firebug :
« NetworkError: 404 Not Found –
C’est nomal ?
Oui 😉
Bonjour,
Super tuto !
Ce tuto est-il valable pour les dernières version de Worpress ? genre TwentyTwelve ? je vois que la structure a légèrement changé.
J’hésite de l’appliquer sur mon blog :/
Merci et bonne continuation
Le tutoriel date… le plus souvent consiste à créer ou à modifier le fichier 404 dans le dossier du thème qui normalement doit en avoir un par défaut.
Merci bien pour ce tuto.
Le surf se fait vitesse grand V, une page 404 standard (moche) et le visiteur zappe.
J’ai gardé la bonne idée de la liste du top 10 des posts.
Je suis assez d’accord avec la remarque de Mealin. C’est cette philosophie que j’avais adopté pour mon modèle de page 404… qui du coup ne m’avais pas demandé beaucoup d’effort.
Quelques belles pages 404 dans ton dernier lien !
Personnellement je suis partisan du moindre changement niveau intégration … histoire que cela se ressente le moins possible.
Plus la page est différente du design normal du site plus j’ai tendance à fuir directement sans demander mon reste.
En ce sens en zieutant vite fais le code que vous proposez je ne suis pas sûr que l’absence de sidebar soit si profitable que ça. En tout cas elle est belle et intégrée au design c’est toujours ça …
Après je suis très loin d’être en position de donner des conseils vu mon « » » »design » » » » perso ^^