annuaire-info

Bien plus qu'un annuaire d'annuaires !

Les secrets de « ErrorDocument 404 »

ErrorDocument 404, vous connaissez ? C’est une instruction du fichier .htaccess par laquelle on spécifie la page que doit afficher un serveur web en cas d’erreur 404, l’erreur 404 étant celle qui se produit quand un visiteur demande une page non existante.

Bonne utilisation de « ErrorDocument 404 »

Voici un exemple typique d’utilisation:

ErrorDocument 404 /plan_du_site.html

Ainsi le visiteur qui se trompe en tapant l’adresse d’une page ou qui recherche une ancienne page disparue se voit afficher le plan du site.

Cette instruction ne perturbe pas les robots des moteurs de recherche qui eux reçoivent bien le code HTTP 404 quand ils demandent une adresse inexistante.

Mauvaise utilisation de « ErrorDocument 404 »

Voici un exemple d’utilisation à éviter absolument:

ErrorDocument 404 http://www.mon_site.com/plan_du_site.html

Notez bien la différence. Ici l’adresse indiquée commence par « http:// » et le visiteur qui se trompe d’adresse se voit rediriger vers la page avec le plan du site (redirection 302).

Quels sont les conséquences de cette redirection ? Premièrement, l’adresse affichée dans la barre d’adresse n’est plus l’adresse erronée, mais l’adresse de la redirection. Deuxièmement, et c’est bien plus important, les robots des moteurs de recherche ne voient plus qu’il y a une erreur d’adresse. Ils vont suivre la redirection et considérer que le plan du site est le contenu normal de l’adresse erronée. L’adresse erronée ne sera pas supprimée de l’index du moteur de recherche et toutes les pages erronées vont s’y retrouver avec le même contenu, celui de la page de la redirection, d’où un « duplicate content » massif et néfaste.

« ErrorDocument 404 » et redirection 301

Il est possible de transformer astucieusement l’instruction ErrorDocument 404 en redirection 301. Pour cela, il vous faudra utiliser cette ligne dans .htaccess :

ErrorDocument 404 /404vers301.php

Et votre fichier 404vers301.php devra contenir ce code:

<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.mon_site.com/plan_du_site.html");
exit();
?>

Ici aussi une redirection aura lieu vers la page avec le plan du site, mais, cette fois, ce sera une redirection 301. C’est sans importance pour les visiteurs, mais, pour les robots de Google et des autres moteurs, c’est tout différent. Pour eux, le code HTTP 301 signifie que l’adresse demandée est périmée et qu’ils doivent la remplacer dans leur index par l’adresse de la redirection. Dans notre exemple, ce sera l’adresse du plan du site. Cette adresse récupérera tout le poids des backlinks (PageRank, link juice,…) des adresses erronées.

Vous pouvez perfectionner cette technique en choisissant l’adresse de la redirection en fonction de l’adresse erronée en testant $_SERVER['REQUEST_URI'].

Publié le 10 mai 2008 à 11h28 sous Google, Live Search, Yahoo! Search


3 commentaires à propos de “Les secrets de « ErrorDocument 404 »”

  1. Super l’astuce ! après un changement de config apache/php, j’avais plein de url rewrite qui ne fonctionnaite plus, j’allais faire ce qui ne fallait pas faire. Avec votre astuce vous sauvez mes BL merci !

    Ecrit le 13 novembre 2008 à 6h46 par rico

  2. Un grand merci à toi ! /*j’ai vu ton lien sur webrankinfo*/
    Voilà pour le commentaire

    ça marche parfaitement ton astuce ! +1 voila un site en plus dans mes favoris x)

    Ecrit le 8 juillet 2009 à 0h26 par RequiemIM

  3. Je viens de voir ton url sur WRI, Cette technique me sauve ! Après des heures de recherches sans avoir trouvé de réponse à mon problème cette technique que tu nous proposes est la solution que je cherchais ! MERCI, je vais de ce pas lire tes articles 😉 Thanks !

    [admin : lien vers site « adultes » supprimé]

    Ecrit le 10 août 2009 à 21h30 par Pierre

Sorry, the comment form is closed at this time.