header PHP a renvoyer

WRInaute discret
J'ai sur mes site un fichier 404.php que j'appelle lorsque la page demandée n'existe pas. Ce fichier m'envois un mail précisant la page en erreur. Les premières ligne de ce fichier sont :

Code:
header("Status: 200 OK");
header("Location: http://www.bedetheque.com/");

Ne vaudrait-il mieux pas pour google et les autres renvoyer une vrai erreur et mettre simplement :
Code:
header("Status: 404 File not found");

Ou alors, encore plus simplement, ne pas mettre de header et mettre un texte "La page demandée n'existe pas" avec un lien pour revenir à l'accueil ? ou sur la page précédente ?

Merci de votre aide
 
WRInaute discret
C'est une bonne idée ta page...

Ce que tu peux faire pour les moteurs, c'est de tester le user-agent (le nom du navigateur ou du bot )...

Je n'ai plus en tête comment le faire en PHP, mais en asp, ça se passe comme ça ( si ça peut te mettre sur la voie )

request.servervariables("HTTP_USER_AGENT")

et en fonction du résultat obtenu, renvoyer un 200 à un user, ou un 404 à un moteur...


RAJOUT :
Ca y est, j'ai retrouvé la fonction pour récupérer le user-agent en PHP :
$_SERVER["HTTP_USER_AGENT"]

Richard
www.cinemaquiz.com
 
WRInaute passionné
BDGest a dit:
J'ai sur mes site un fichier 404.php que j'appelle lorsque la page demandée n'existe pas. Ce fichier m'envois un mail précisant la page en erreur. Les premières ligne de ce fichier sont :
Code:
header("Status: 200 OK");
header("Location: http://www.bedetheque.com/");
Ne vaudrait-il mieux pas pour google et les autres renvoyer une vrai erreur et mettre simplement :
Code:
header("Status: 404 File not found");
BDGest,

L'entête 200 renvoyée sur un "page not found" est une erreur et peut même être pénalisant à terme.
Imagines que pour une raison ou une autre tu aies beaucoup d'erreurs 404, les robots ne le sauront pas parce qu'ils recevront un "200: found" comme entête, avec chaque fois le même contenu. Soit ils ne mettent pas leur index à jour, soit ils te pénalisent pour "duplicate content"...

L'entête correcte à retourner est celle de ton deuxième exemple: "Status: 404..."

Dan
 
WRInaute discret
Merci beaucoup, c'est bien ce que je subodorais. Bon c'est corrigé.
De toute façon, grace au mail que j'envoyais, je corrigeais au fur et à mesure les pages en erreur donc, il ne tombais jamais toujours sur les mêmes erreurs.

Par contre, quand j'envois le header 404, je ne peux plus rien ecrire dans la page, tous les echo qui suivent n'affichent rien ...

Merci encore.
 
WRInaute passionné
Bonsoir, une autre façon plus simple : ne pas modifier le code status 404 et renvoyer sur le plan du site. Avec un raffinement comme sur WRI : ajouter un message du style "la page demandée n'existe pas, choisissez dans cette liste".
 
WRInaute discret
C'est ce que j'ai fait. Ma page d'erreur mets maintenant ce genre de message, sans modifier le header et m'envoi un mail. Merci encore
 
Discussions similaires
Haut