Skip to main content Help Control Panel

 

support «   Soupçons de bogues «  

Gestion des erreurs 404 [Integrated]

Bernard Paques -- on May 8 2007, from nearby-an-airport
YACS Leader

Un code 200 est renvoyé quand on tente d'accéder à un ID qui ne correspond à rien.

WorkflowSupport request
StatusSolution has been fully integrated
OwnerBernard Paques
Progress100%

J'ai constaté que YACS renvoyait un code 200 quand on tentait d'accéder à un document dont l'ID a été supprimé ou est inexistant. Cela peut poser des problèmes, car si on supprime un article, son URL restera indexée dans les moteurs de recherche puisque ils ne recevront un code d'en tête 404 quand il tenteront d'y accéder. Une illustration avec cette page : http://www.yetanothercommunity...ons/view.php/41 Elle est vide, mais reçoit un lien externe (depuis ici : http://www.framasoft.net/article4283.html) Elle est indexée par Google et n'a pas été éliminée. Joomla, Typo3, SPIP posent le même problème, mais il y a des solutions (souvent tordues) pour le régler. Y a t'il un moyen de renvoyer un code 404 sous YACS ?

Comments

Manufrom Caribbean
2970 posts

on May 8 2007


Bonne question ! Il faudra se pencher là dessus. J'espère simplement qu'il existe une méthode d'envoi de code erreur de PHP vers Apache.

Je crois me souvenir que dans le .htaccess livré avec Yacs il doit y avoir des instructions de renvoi d'erreurs. Il me semble aussi que l'on doit pouvoir générer ses propres pages d'erreurs.

A suivre ...

Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

on May 13 2007


Bonne idée. J'ai rajouté un code 404 dans tous les scripts view.php lorsque l'identifiant fourni n'est pas trouvé. A l'écran, rien de change, ni pour FF2, ni pour IE7. Mais pour les moteurs de recherche, ceci devrait faire une grosse différence. Merci de cette contribution, qui sera intégrée dès la prochaine version 7.5alpha.

Pinelli, Thierryfrom Nice, Drap
Associate, 1740 posts

inspired from Bernard on May 21 2007


Bernard :

En parlant de redirection, ne serait-il pas plus indiqué de fournir plutôt un code 301 ou "redirection permanente" vers la page d'accueil ?

Google comme beaucoup de moteur de recherche se fâche facilement quand trop d'url renvoit vers une "erreur 404"

Et puis tiens, soyons fou ! Les pages réservées et non accessible au public (comme Mr Google par exemple) ne pourrait-elle pas être accréditées d'un petit code 302 (redirection temporaire) vers la page d'accueil ? Cela permet, en tout cas du point de vue performance référencement, de booster la page d'accueil au lieu de page qui n'ont pas de raison d'être vue.

Après tout, n'oublions pas que le but du référencement est de mettre les pages les plus pertinentes en haut des résultats...


Communiqués de Presse : Site de Communiqués de Presse à propulsion Yacs -
Création de sites, Référencement et webmastering - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans
Manufrom Caribbean
2970 posts

inspired from ThierryP on May 21 2007


ThierryP :

Normalement, les accès aux pages réservées et non accessible au public ne sont pas censées le devenir alors pourquoi une redirection "temporaire" ?

De plus, elles sont déjà redirigées vers la page d'authentification, non ?
Le_ffrench

on May 22 2007


La meilleure façon de gérer ces erreurs est d'utiliser les en-têtes de la façon dont elles ont été prévues.

Un document n'existe pas ou n'existe plus -> 404 Un document a été déplacé -> 302 Il faut se logguer pour voir un doc -> 401

Gérer des 404 par une 302 sur la home n'est pas une bonne solution :
  • la page demandée à l'origine ne sera pas retirée des résultats des moteurs rapidement. Or les moteurs n'ont pas un espace disque illimité pour stocker des infos sur des documents qui n'existent plus et ça n'a pas d'intérêt pour le site lui même.
  • les internautes ne comprendront pas pourquoi ils atterissent sur la home alors qu'ils tentent d'accéder à une page interne
  • il n'est pas certain qu'une redirection 302 transmette correctement de la popularité à une page. Pour booster la home, il suffit de faire des liens directs dessus et en général ça ne manque pas sur un site (logo, chemin de fer...)


Le traitement des 404 (et des autres en-têtes serveur) fait partie des bonnes pratiques qui permettent de gérer l'indexation sur les moteurs.
Manufrom Caribbean
2970 posts

on May 22 2007


Tout à fait d'accord, ça respecte tout le monde: le site, les standards, les référenceurs, etc.

Ces redirections apache sont faites pour ça mais la question était de savoir à quel type de document on les applique et quelle redirection utiliser plutôt qu'une autre lorsqu'il y a plusieurs solutions.

Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

on May 24 2007


Comme indiqué précédemment tout est dans le standard HTTP. Pour faire bonne mesure, j'ai changé la plupart des scripts pour tenir compte des interdictions d'accès, comme par exemple dans articles/view.php :

...

// not found -- help web crawlers
if(!isset($item['id'])) {
    
Safe::header('Status: 404 Not Found');
    
Skin::error(i18n::s('No article has the provided id.'));

// permission denied
} elseif(!$permitted) {

    
// anonymous users are invited to log in or to register
    
if(!Surfer::is_logged())
        
Safe::redirect($context['url_to_home'].$context['url_to_root'].'users/login.php?url='.urlencode(Articles::get_url($item['id'])));

    
// permission denied to authenticated user
    
Safe::header('Status: 403 Forbidden');
    
Skin::error(i18n::s('You are not allowed to perform this operation.'));

// display the article
} else {
 ...


La redirection est limitée à l'authentification des surfeurs anonymes. Peut-être faudrait-il qualifier cette redirection à l'intention des moteurs de recherche ?

Pinelli, Thierryfrom Nice, Drap
Associate, 1740 posts

on Mar. 8 2010


Je fait remonter comme élément important de SEO a creuser


Communiqués de Presse : Site de Communiqués de Presse à propulsion Yacs -
Création de sites, Référencement et webmastering - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans

Christianfrom Chonas l'Amballan
Associate, 2018 posts

on Mar. 8 2010


Je réactive le sujet initial car il me semble important.

Il serait logique d'avoir une erreur 404 après une suppression d'article. Sinon c'est la porte ouverte au spam link




Actupro
quelques sites yacs : création site internet annuaire pro

Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

on Mar. 8 2010


Je ne comprend pas la réactivation du problème par Thierry. Lorsqu'un identifiant inconnu est transmis à yacs, il fournit bien un code 404 bien comme il faut, non ?

Essayez l'adresse suivante pour voir :

http://www.yacs.fr/article-3333333-identifiant-inconnu


Christianfrom Chonas l'Amballan
Associate, 2018 posts

inspired from Bernard Paques on Mar. 8 2010


Bernard Paques : c'est moi qui réactive en fait.

Je pensais tomber plutot sur l'erreur http://www.yacs.fr/erreur404  en fait




Actupro
quelques sites yacs : création site internet annuaire pro

Pinelli, Thierryfrom Nice, Drap
Associate, 1740 posts

on Mar. 8 2010


L'idée est de fournir de l'information à tout prix. La page 404 (qui reste à améliorer) propose plus d'information utile à l'internaute et au moteur que le rendu d'erreur d'identifiant.

La solution temporaire serait donc de remplacer les erreur d'identifiant par une 404 (qui indiquerait pour le coup l'erreur d'identifiant en sont sein)


Communiqués de Presse : Site de Communiqués de Presse à propulsion Yacs -
Création de sites, Référencement et webmastering - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans

Christianfrom Chonas l'Amballan
Associate, 2018 posts

inspired from Pinelli, Thierry on Mar. 8 2010


Pinelli, Thierry : tu peux éventuellement changer la redirection de la 404 dans ton fichier .htaccess pour la personnaliser




Actupro
quelques sites yacs : création site internet annuaire pro

Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

inspired from Christian on Mar. 10 2010


Christian : désolé d'avoir lu ton nom un peu vite ... Pour être clair sur la chose :

Un lien vers un article inexistant ou vers une adresse ne correspondant à aucun script de yacs provoquent un code de retour HTTP 404, interprété par les moteurs de recherche comme "ici cul-de-sac, passer à autre chose". Ce code est une méta-donnée, non visible dans le navigateur sauf à le demander explicitement.

En revanche, le texte affiché pour les humains n'est pas le même dans les deux cas. Et c'est vrai que ce n'est pas logique.

J'ai modifié légérement le script d'affichage des pages pour inclure le script error.php lorsque le numéro fourni ne correspond à rien, tout simplement. C'est vrai que les explications fournies sont plus claires que le message d'erreur laconique précédent.

Même motif, même punition pour les autres scripts d'affichage, bien sûr ... Merci d'avoir aidé là-dessus, c'est vrai que des messages d'erreur plaisants, c'est plus sympathique tout de même.


Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

on Mar. 10 2010


Au passage, légère retouche du fichier template.php pour éviter d'utiliser une fonction inexistante dans le script de gestion des erreurs. Ce qu'il faut savoir, c'est que error.php ne charge pas les librairies habituelles de yacs, notamment tout ce qui relève de la base de données. Pour être sûr, il vaut mieux ne pas utiliser de fonctions comme Sections::get() ou autre Articles::list.... Tout ce qui commence par Sections:: ou Articles::, ou similaire. Ou alors, assurez-vous de la disponibilité de la fonction avant de l'appeler. C'est ce que j'ai fait pour yacs.fr, avec les lignes suivantes :

if(is_callable(array('sections''get_url')))
        echo ... .
Sections::get_url(340'view''download'). ...

Comme cela, le thème fonctionnera comme prévu, c'est-à-dire en visualisant le lien de téléchargement, mais seulement en dehors des cas d'erreur.

Ceci est spécifique au thème utilisé sur yacs.fr, mais bon vous pouvez vous en inspirez pour le vôtre si besoin ...


Pinelli, Thierryfrom Nice, Drap
Associate, 1740 posts

on Mar. 10 2010


C'est beaucoup mieux ainsi.
Il manque cependant une toute petite chose c'est la reproduction du menu pour permettre à l'internaute égaré de pouvoir retourner un peu plus profondément dans le site.

Ce dernier élément devrait clore se sujet... Pour l'instant


Communiqués de Presse : Site de Communiqués de Presse à propulsion Yacs -
Création de sites, Référencement et webmastering - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans

Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

inspired from Pinelli, Thierry on Mar. 30 2010


Pinelli, Thierry : Ok, j'ai modifié certains tests dans skins/page.php pour faire apparaitre la barre de navigation et les onglets du haut, même en cas d'erreur. C'est plus propre, oui !


Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

on Mar. 30 2010


Bernard Paques est le nouveau propriétaire
Le dossier est classé

Alain Lesagefrom Montréal ou Chambly, Québec
1365 posts

on Mar. 31 2010


Heu... Bernard, je teste avec le lien ne menant à rien que tu as indiqué ci-dessus et je n'ai ni onglets, ni barre de navigation complète (seulement le bouton de téléchargement). Il y a quelque chose qui bloque ? Remarque, c'est mes neurones, peut-être ?


Pinelli, Thierryfrom Nice, Drap
Associate, 1740 posts

on Apr. 1 2010


Je confirme
Il manque un petit quelque chose !


Communiqués de Presse : Site de Communiqués de Presse à propulsion Yacs -
Création de sites, Référencement et webmastering - Skins pour Yacs : YordPress - Yacs couleurs Wordpress - Bonbon Skin 1.3.2 : Le graphisme "Green" - Totem 930 : L'équilibre pour petits écrans

Alain Lesagefrom Montréal ou Chambly, Québec
1365 posts

on Apr. 1 2010


dans mes neurones ?


Bernard Paquesfrom nearby-an-airport
Associate, 8372 posts

inspired from Alain Lesage on Apr. 1 2010


Alain, tes neurones vont bien, c'est juste que la modification a été faite seulement sur la machine de développement, et pas encore implémentée sur yacs.fr.


Alain Lesagefrom Montréal ou Chambly, Québec
1365 posts

inspired from Bernard Paques on Apr. 2 2010


Wink