Dilemme : 404 (tss tss) edit : 410 ou 301 ?

Discutez HTML, PHP, ASP, Javascript...

Modérateur: david96

Dilemme : 404 (tss tss) edit : 410 ou 301 ?

Messagede david96 » Dim 10 Juin 2007 05:34

J'ai eu une grande discussion avec un pote qui est aussi inscrit sur ce forum !

Pour lui une page qui n'existe plus doit avoir le protocole 404. Point barre.

C'est propre, blabla etc... Je suis d'accord avec lui, mais je suis plus mitigé ! En effet, une annonce qui n'a plus lieu d'être peu aussi être redirigé en 301 vers une page expliquant le pourquoi du comment.

Cela permet à Google de désindexer l'ancienne page et aussi de profiter de son acquis au profit de la page explicative ! (Une pierre deux coups !)

Certes Google désindexe les pages 404, mais lentement et ce n'est franchement pas sublime d'avoir ce genre de page encore indexé sur Google ! :?

Voilà !

J'ai mis en place ce système récemment, je vous tiendrai au courant de ce que cela va donner ;-)

Et vous sinon, quel est votre avis sur la question ? :P
Dernière édition par david96 le Dim 10 Juin 2007 09:09, édité 1 fois.
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Re: Dilemme : 404 ou 301 ?

Messagede sizon5 » Dim 10 Juin 2007 08:02

david96 a écrit:J'ai eu une grande discussion avec un pote qui est aussi inscrit sur ce forum !
Pour lui une page qui n'existe plus doit avoir le protocole 404. Point barre.


Ton pote n'a pas tord :lol:
Enfin si, un peut ... :oops: (voir ci-dessous le pourquoi)
Lorsque l'on parle de protocole, la seule source fiable à ce sujet ce sont les RFC. Et voilà ce que dit la RFC (interprétation faite par moi-même, je vous invites à aller consulter l'original : RFC 2616)

301 "Moved Permanently" (déplacé de façon définitive). La ressource demandé n'existe plus et cela retourne une URL qui indique où retrouver ce MEME contenu. Si il s'agit d'une annonce d'emploi qui n'existe plus, faire un
301 vers la page qui permet de rechercher d'autres annonces *N'EST PAS UNE UTILISATION CORRECTE DU 301*. La dite annonce (la ressource recherché) n'ayant pas été déplacé de façon définitive dans le formulaire de recherche ! En gros imagine la situation suivante : Tu vas chez le boulanger "Bonjour, une baguette SVP". Le boulanger répond "désolé il est 19h00 et c'était notre dernier jours, on ferme. On à fait fortune on part donc vivre a Bora-Bora. Mais allez donc voire chez votre concessionnaire automobile !"

404 "Not found" Le serveur n'a pas réussis à trouver quelque choses qui correspond à cette URL. Par contre le 404 ne donne pas d'indication temporelle : *CE N'EST PAS* un Not Found permanently. Pour le client (Browser, robot indexer, etc ...) qui reçoit un 404 ça lui dit juste qu'a cet instant, le serveur n'a rien trouvé (genre, tu as effacé un fichier par mégarde du serveur que tu vas t'empresser de restaurer de ton backup).

410 "Gone" C'est là où je me suis planté. Dans ton cas, ce n'est pas un 404 mais bien un 410 qu'il faudrait utiliser. Le 410 c'est un 404 permanent. Ca dit clairement qu'a l'adresse indiqué il y avait bien quelque chose mais que maintenant la ressource n'est plus là et qu'elle ne sera plus jamais là.

Donc cela expliquerais peut-être pourquoi Google est lent à dé-indéxer les pages 404 : parce qu'il suit la RFC. Il va réessayer plusieurs fois un 404 (n'ayant pas d'indication pour savoir si le Not Found est permanent ou temporaire).

Donc d'après mon interprétation de la RFC :

* Si un utilisateur demande une annonce qui n'a jamais existé (genre URL trafficoté à la main) -> 404
* Si un utilisateur demande une annonce qui à existé mais qui à été pourvu -> 410

Après rien n'empêche de faire des jolies pages 404/410 genre http://www.alpesautodiscount.com/rien-ici (qui a d'ailleurs une jolie faute d'orthographe :lol:). L'utilisateur aura moins l'impression d'avoir "tout cassé"

Alors la question subsidiaire va être : Comment savoir si 404 ou 410 si je fait un DELETE FROM annnonces where id=<annoncepourvu> ? La réponse est tu ne peux pas :lol: Il faut changer ta façon de faire, par exemple au lieu de faire un DELETE tu fais un UPDATE ... SET deleted=true,since=<date>;

Dans ta fonction qui affiche une annonce, tu récupères l'annonce selon son id, puis :
si deleted == true => 410
si deleted == false => 200
si rien trouvé => 404

Et tu supprimeras les annonces après un délai raisonnable (1/3/6 mois ?) DELETE annonces WHERE deleted=true AND since < Aujourd'hui - 1/3/6 mois. Les URL de ces annonces re-retourneront alors des 404.

En espérant avoir été clair et d'avoir fait avancé le schmilblik.
sizon5
YatooNovice
YatooNovice
 
Messages: 13
Inscription: Mar 29 Mai 2007 20:40
Localisation: Manosque

Messagede david96 » Dim 10 Juin 2007 09:05

Excellent ! Merci pour cet éclaircissement !

Je devrais changer le titre de ma thread (301 ou 410 ! :lol:)

Tu as raison sur toute la ligne, mais avant de faire une redirection 410, je vais l'étudier de près ! Car Ok pour le respect du protocole, reste à voir si les moteurs de recherche eux le respectent et comment ils l'interprètent ;-) Pour le 301 je connais la réponse !

Je viens de faire un test :la redirection est interprété comme du 302 ! !
Etrangeté !:

Bon en attendant on va se la mettre en commentaire hein ? :D

Code: Tout sélectionner
         $url="http://www.emploitheque.org/emploi-pourvu.php";
         // header("HTTP/1.0 410 Gone", false, 410);
         header("Status: 301 Moved Permanently", false, 301);
         header("Location: ".$url);
         exit();
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Messagede sizon5 » Dim 10 Juin 2007 10:04

david96 a écrit:Je viens de faire un test :la redirection est interprété comme du 302 ! !
Etrangeté !:

D'autant plus que le 410 n'est pas une redirection mais une "erreur" au même titre qu'un 404.

Code: Tout sélectionner
         $url="http://www.emploitheque.org/emploi-pourvu.php";
         // header("HTTP/1.0 410 Gone", false, 410);
         header("Status: 301 Moved Permanently", false, 301);
         header("Location: ".$url);
         exit();


Quel langage de barbare :roll:. D'ailleurs je pense que la faute et certainement du à la façon dont tu formules le header plutôt qu'au 410 lui même. C'est sur qu'en même temps, si t'avais pas enlevé le header("Location"), il y'a certainement eu redirection.

Pour info, voici la version rails 8)
Code: Tout sélectionner
     render :status => 410


Je te conseil l'excellent plugin http://livehttpheaders.mozdev.org/ pour suivre en live, comme son nom l'indique, les requêtes/réponses HTTP avec tous les headers.
sizon5
YatooNovice
YatooNovice
 
Messages: 13
Inscription: Mar 29 Mai 2007 20:40
Localisation: Manosque

Messagede david96 » Dim 10 Juin 2007 10:18

sizon5 a écrit:D'autant plus que le 410 n'est pas une redirection mais une "erreur" au même titre qu'un 404.

Ha ! C'est là que le bas blesse alors ! L'avantage d'une redirection c'est qu'on peut exploiter plusieurs modèles, dit moi si je me trompe (je ne connais pas trop les protocoles mais je ne demande qu'à apprendre) pour l'error 410 la page quelque soit son origine restera toujours la même ! :?
Bon sang j'ai du mal à m'exprimer, il serait tant que j'aille me coucher ! :lol:
sizon5 a écrit:Quel langage de barbare :roll:. D'ailleurs je pense que la faute et certainement du à la façon dont tu formules le header plutôt qu'au 410 lui même. C'est sur qu'en même temps, si t'avais pas enlevé le header("Location"), il y'a certainement eu redirection.

Effectivement ! Comme dit plus haut je veux absolument qu'elle soit redirigée sur cette page en ce qui concerne les offres pourvues et sur une autre page pour les actualités qui n'ont plus lieu d'être etc...

Suis-je plus clair ?
sizon5 a écrit:Pour info, voici la version rails 8)
Code: Tout sélectionner
     render :status => 410


Je te conseil l'excellent plugin http://livehttpheaders.mozdev.org/ pour suivre en live, comme son nom l'indique, les requêtes/réponses HTTP avec tous les headers.

Merci je vais allez voir ça !
Sinon je suis en pleine optimisation de mon site depuis hier soir (toujours pas couché là :lol:) Donc ton ruby hein !? :P

Mais plus sérieusement pour en revenir au 410, l'important c'est de savoir comment réagissent les moteurs de recherche à ce sujet ;-)
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Messagede sizon5 » Dim 10 Juin 2007 10:31

david96 a écrit:Ha ! C'est là que le bas blesse alors ! L'avantage d'une redirection c'est qu'on peut exploiter plusieurs modèles, dit moi si je me trompe (je ne connais pas trop les protocoles mais je ne demande qu'à apprendre) pour l'error 410 la page quelque soit son origine restera toujours la même ! :?

Bien sur que non : il ne faut pas confondre le status et le contenu. Une réponse HTTP comprends (entre autre) un code de status et un contenu. Les deux n'étant "en rien" lié.
Rien ne t'empêche de faire que toutes tes pages de ton site web répondent en 404 au lieu du 200 mais que le contenu soit celui attendu.
Donc rien ne t'empêche de faire une page 404/410 dynamique avec un contenu qui ressemblerait à s'y méprendre a un 200.
Le code status 404/410 n'a de sens que pour le client (browser/robot) pour dire que le contenu affiché n'est pas celui attendu. Tu peux donc afficher ta page de recherche d'annonce mais en renvoyant un status 410.
* Le visiteur lui voit bien que l'annonce à été pourvou et qu'il est invité à en rechercher une autre.
* Le client (browser/robot) voit bien que la page n'existe plus donc qu'il n'a plus à la référencer.

david96 a écrit:Effectivement ! Comme dit plus haut je veux absolument qu'elle soit redirigée sur cette page en ce qui concerne les offres pourvues et sur une autre page pour les actualités qui n'ont plus lieu d'être etc...


Mais *POUQUOI REDIRIGER* ? C'est pas comme-ci ta page avait été déplacé ! L'annonce demandé *N'EXISTE PLUS* -> 404/410.

david96 a écrit:Sinon je suis en pleine optimisation de mon site depuis hier soir (toujours pas couché là :lol:) Donc ton ruby hein !? :P

Mon ruby, comme tu dis, te permettrait de te coucher à des heures plus raisonnable :)

david96 a écrit:Mais plus sérieusement pour en revenir au 410, l'important c'est de savoir comment réagissent les moteurs de recherche à ce sujet ;-)


L'important c'est de respecter les standards. Et je fais entièrement confiance à Google pour cela.
sizon5
YatooNovice
YatooNovice
 
Messages: 13
Inscription: Mar 29 Mai 2007 20:40
Localisation: Manosque

Messagede david96 » Dim 10 Juin 2007 10:42

Okiche j'ai tout compris et le système est vraiment très simple à mettre en place, suffit de savoir ! Merci à toi !

Bonne réponse pour le ruby, tu m'as KC ! D'ailleurs je suis vraiment KC là ! :lol:

sizon5 a écrit:L'important c'est de respecter les standards. Et je fais entièrement confiance à Google pour cela.

Là tu te gourres carrément ! :D
Oui pour le respect des standards mais malheureusement ce n'est pas encore super respecté par les moteurs de recherche, ni du grand manitou Google !
Donc avant de foncer tête baissé je me dois de faire une étude !

Car il ne faut pas oublier que l'homme est laid... Heu pardon... que le nerf de la guerre pour un site c'est le : référencement ;-)
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Messagede sizon5 » Dim 10 Juin 2007 10:45

david96 a écrit:Là tu te gourres carrément ! :D
Oui pour le respect des standards mais malheureusement ce n'est pas encore super respecté par les moteurs de recherche, ni du grand manitou Google !


Ça m'intéresse, tu as des exemples concret ?
sizon5
YatooNovice
YatooNovice
 
Messages: 13
Inscription: Mar 29 Mai 2007 20:40
Localisation: Manosque

Messagede david96 » Dim 10 Juin 2007 10:56

Ok ! Mea culpa envers Google et toi ! :D
Apparement il respecte le RFC 2616 !
http://www.google.fr/support/webmasters ... swer=40132

Pour celle qui nous concerne :
http://www.google.fr/support/webmasters ... swer=40217
Google a écrit:410 (Déplacé)

Le serveur renvoie cette réponse lorsque la ressource invoquée a été déplacée de manière définitive. Ce code est identique au code 404 (Introuvable), mais il est parfois utilisé à la place de ce dernier pour signaler des ressources qui existaient auparavant. Si la ressource a été déplacée de manière définitive, utilisez un code 301 pour spécifier son nouvel emplacement.


Mais... Mais il y'a ce qu'il dit et ce qu'il fait dans le concret ! Donc je vais quand même étudier et voir sur la toile du net ceux qui en ont fait l'expérience. ;-)
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Messagede sizon5 » Dim 10 Juin 2007 11:05

david96 a écrit:Ok ! Mea culpa envers Google et toi ! :D
Apparement il respecte le RFC 2616 !
http://www.google.fr/support/webmasters ... swer=40132

L'inverse m'aurait grandement étonné.

david96 a écrit:Mais... Mais il y'a ce qu'il dit et ce qu'il fait dans le concret ! Donc je vais quand même étudier et voir sur la toile du net ceux qui en ont fait l'expérience. ;-)

Si le but est de dé-indexer les annonces pourvu, je ne vois pas bien ce que tu risques a respecter les standards même si Google ne ferait éventuellement pas ce qu'il dit :wink:
sizon5
YatooNovice
YatooNovice
 
Messages: 13
Inscription: Mar 29 Mai 2007 20:40
Localisation: Manosque

Messagede david96 » Dim 10 Juin 2007 11:28

sizon5 a écrit:Si le but est de dé-indexer les annonces pourvu, je ne vois pas bien ce que tu risques a respecter les standards même si Google ne ferait éventuellement pas ce qu'il dit :wink:

Je suis d'accord avec toi, mais c'est un réflexe, j'analyse quand même en profitant du vécu des autres ! ça serait dommage de s'en priver alors que beaucoup sur la toile du net nous offre leurs expériences selon une situation donnée ! ;-)
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Messagede sizon5 » Dim 10 Juin 2007 11:36

david96 a écrit:Je suis d'accord avec toi, mais c'est un réflexe, j'analyse quand même en profitant du vécu des autres ! ça serait dommage de s'en priver alors que beaucoup sur la toile du net nous offre leurs expériences selon une situation donnée ! ;-)


A ton aise :-)
Mais à mon avis c'est que tu vas trouver tout et son contraire. La seule source c'est les standards et donc la RFC.

Bonne chance dans ta quête ! :wink:
sizon5
YatooNovice
YatooNovice
 
Messages: 13
Inscription: Mar 29 Mai 2007 20:40
Localisation: Manosque

Messagede david96 » Dim 10 Juin 2007 19:15

sizon5 a écrit:A ton aise :-)

Mais à mon avis c'est que tu vas trouver tout et son contraire.

Mais c'est ce que je veux justement, plusieurs sons de cloches !
J'analyse, je fais mon marché et ensuite je prépare la sauce qui tue afin d'accompagner royalement le repas principal RFC pour ensuite le distribuer aux moteurs de recherche.

J'espère qu'ils seront contents (ainsi que les internautes) et qu'ils reviendront quotidiennement chez moi et peut-être aurais-je droit à une étoile de plus ! :P
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Messagede david96 » Lun 11 Juin 2007 16:54

Bon voilà j'ai fait mon marché !

En gros, l'avantage c'est que ça désindexera la page de l'index de Google, beaucoup disent que Google a quand même du mal (à ce propos je ferais un suivi et vous apporterai ma propre expérience), l'inconvénient c'est que l'acquis qu'avait celle-ci ne profitera pas, contrairement au 301 Moved Permanently.

Et bien tant pis ! Tu as raison sizon5, il y a des mecs qui se sont cassés la tête à faire des protocoles afin de rendre le net le plus accessible possible, on se doit donc de les suivre sinon ça devient du n'importe quoi !

J'ai aussi enlevé les Adsenses (Pub Google) si l'annonce est pourvue, ça me parait plus honnête !

Encore un grand merci à toi sizon5 pour toutes ces infos ! :)
Avatar de l’utilisateur
david96
Modérateur
Modérateur
 
Messages: 948
Inscription: Mar 13 Fév 2007 00:52
Localisation: Grenoble

Messagede sizon5 » Mar 12 Juin 2007 06:21

david96 a écrit:En gros, l'avantage c'est que ça désindexera la page de l'index de Google, beaucoup disent que Google a quand même du mal (à ce propos je ferais un suivi et vous apporterai ma propre expérience), l'inconvénient c'est que l'acquis qu'avait celle-ci ne profitera pas, contrairement au 301 Moved Permanently.


Acquis ou pas acquis, personnellement je déteste cliquer sur un résultat google pour au final me retrouver sur une page qui n'a rien a voir. Je ne pense pas être le seul ;-)

david96 a écrit:Et bien tant pis ! Tu as raison sizon5, il y a des mecs qui se sont cassés la tête à faire des protocoles afin de rendre le net le plus accessible possible, on se doit donc de les suivre sinon ça devient du n'importe quoi !


Google te le rendra :lol:. Je suis sur que google mettra en place un système de "prime d'honnêteté" : garder en cache des pages qui "n'existent plus" ça leur coute des ressources. Et avoir des 404 et des 301 claires, ça doit certainement l'aider à mieux "comprendre" l'architecture du site : il apprendra que les pages d'annonces on une durée de vie limité, peut être qu'il se dira qu'il faut donc qu'ils les indexe rapidement ? ;-)

david96 a écrit:Encore un grand merci à toi sizon5 pour toutes ces infos ! :)

Mais de rien, pour une fois que je peux mettre mon grain de sel :-)

Sinon j'ai une question toute bête : j'ai remarqué que google a rajouté un lien sur les résultats des recherche concernant mon site : "Autres résultats pour ce domaine". C'est plutôt bon signe ou ça veut rien dire ?
sizon5
YatooNovice
YatooNovice
 
Messages: 13
Inscription: Mar 29 Mai 2007 20:40
Localisation: Manosque

Suivante

Retourner vers Langage (standard, programmation)

Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 0 invités

cron
Référencement de site
W3C XHTML 1.0
W3C CSS 2.1
YATOOWEB © 2005 - 2010


Contact | Logos & liens | Partenaires | Labo | Plan du site