Bonjour à tous,
J'ai un site e-commerce et je m'interroge sur les headers HTTP à renvoyer.
Pour les URLs rewritées, je dirige l'ancienne URL vers la nouvelle avec un header et un status 301, ce qui marche bien.
Pour les URLs qui n'existent pas, j'ai mis mon fichier erreur404.php dans le .htacess avec ErrorDocument.
Je redirige également la page d'accueil sans www vers celle avec www (d'ailleurs PageSpeed de Google Chrome me dit de l'enlever, vous en pensez quoi ?)
Ce qui m’intéresse ici ce sont les URLs vers les fiches produits/catégories qui ne sont plus sur le site (produits obsolètes, catégories supprimées, etc). Dans ce cas, ma page affiche "Produit non trouvé etc" mais je souhaiterais mettre en place un header 404 pour que les moteurs les désindexe. J'ai donc mis le code suivant dans un petit test php au tout début de mon fichier :
J'ai analysé les entêtes avec l'outil de WRI et ça me dit que je renvoie un code 302 avec un status 404 vers ma page d'erreur qui a un code 404 avec un status 404. J'ai cherché et j'ai lu que ce n'était pas très bon donc je voulais savoir comment vous feriez ?
Merci pour vos réponses
J'ai un site e-commerce et je m'interroge sur les headers HTTP à renvoyer.
Pour les URLs rewritées, je dirige l'ancienne URL vers la nouvelle avec un header et un status 301, ce qui marche bien.
Pour les URLs qui n'existent pas, j'ai mis mon fichier erreur404.php dans le .htacess avec ErrorDocument.
Je redirige également la page d'accueil sans www vers celle avec www (d'ailleurs PageSpeed de Google Chrome me dit de l'enlever, vous en pensez quoi ?)
Ce qui m’intéresse ici ce sont les URLs vers les fiches produits/catégories qui ne sont plus sur le site (produits obsolètes, catégories supprimées, etc). Dans ce cas, ma page affiche "Produit non trouvé etc" mais je souhaiterais mettre en place un header 404 pour que les moteurs les désindexe. J'ai donc mis le code suivant dans un petit test php au tout début de mon fichier :
Code:
if (produit non trouvé) {
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found", false, 404);
header("Location: http://www.example.com/erreur404.php");
}
J'ai analysé les entêtes avec l'outil de WRI et ça me dit que je renvoie un code 302 avec un status 404 vers ma page d'erreur qui a un code 404 avec un status 404. J'ai cherché et j'ai lu que ce n'était pas très bon donc je voulais savoir comment vous feriez ?
Merci pour vos réponses