Olivier Posté 11 Septembre 2003 Partager Posté 11 Septembre 2003 Celà n'est pas le Cid mais bien sid comme identifiant de sessions (sic) et ces identifiants là sont une vraie difficulté pour permettre de bien indexer un forum (phpbb, nuke ...) dans un moteur de recherche tel que google. Pour terminer ma parabole, entre mod_rewrite et suppression des sid le choix est cornelien . Si je poste alors ici une petite contribution, c'est parce que je viens de voir un post de mon forum dans le cache de google. Si le post est dans le cache, google est passé au travers des identifiants de sessions, et du mod_rewrite qui pour l'occasion n'avait pas été mis en place. Quelle est l'astuce ? L'astuce est simple, puisque google ne veut pas d'identifiant de sesion, il n'en n'aura pas. Dans le fichier qui gère ces identifiants de sessions et qui les valorise, il suffit alors de tester le user_agent, si celui ci est different de googlebot, ok pour les identifiants de session, sinon pas de sid. (google est MON ami je suis sid frendly). Lorsque google vient lire les pages, les sid ne sont pas activés pour lui, pour le visiteur ou pour la partie admin rien n'est changé. Merci Corneille Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Posté 11 Septembre 2003 Auteur Partager Posté 11 Septembre 2003 Un autre astuce consiste à gérer les sessions sur le serveur (le php le permet à partir de la V4) ce qui est une variable à activer sur ton serveur ... C'est encore mieux non ? Je ne sais pas si c'est mieux sachant que ces identifiants sont necessaires pour le visiteur, la partie admin etc ... L'intervention que j'ai faite est minime et ne concerne qu'une ligne et qu'un seul robot, mais je vais pouvoir elargir cette gestion à d'autres robots comme D*****. Comment celà fonctionne t'il si la gestion est coté serveur et que le script demande à les utiliser, sachant qur les moteurs ne doivent pas les voir. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 11 Septembre 2003 Partager Posté 11 Septembre 2003 Un autre astuce consiste à gérer les sessions sur le serveur (le php le permet à partir de la V4) ce qui est une variable à activer sur ton serveur ... Gilbert, Ce n'est qu'à partie de la V4 que les sessions sont supportées en natif par PHP. Avec la V3, il fallait une bibliothèque (library) externe spécifique . Les sessions sont toujours générées par le serveur. Mais du côté client, si celui-ci n'accepte pas les cookies, il faut bien une manière de tracer la session. PHP rajoute donc de manière automatique la variable PHPSESSID (ou le nom qu'on lui aura donné dans le fichier config) à toutes les URLs internes. Une astuce est de désactiver l'ajout du 'trans_sid' mais PHP est obstiné et n'en fait qu'à sa tête. Pour en être complètement débarrassé, l'arme fatale est l'utilisation exclusive de liens en "full URL" (avec http://...) et là, plus de PHPSESSID. Sur le site de l'Homme et Demi (mon pote Olivier Merle), j'utilise les sessions pour la boutique et Google l'a totalement indexée... mais toute la boutique utilise des URLs absolues. Une très bonne manière de vérifier s'il reste des variables de session quelque part est de lancer Xenu Link Sleuth. Il suffit de rechercher la présence de PHPSESSID dans le listing. C'est très rapide. Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 11 Septembre 2003 Partager Posté 11 Septembre 2003 Sinon, pour éviter les sessions pour les robots, un peu de code php fait l'affaire: $spiders = array("Googlebot", "crawler", "Slurp", "Fast","ia_archiver","Scooter","Robot","VoilaBot","W3C","ZyBorg","D*****","xecho"); $from_spider = false; foreach($spiders as $Val) { if (eregi($Val, $_SERVER["HTTP_USER_AGENT"])) { $from_spider = true; break; } } // Session ini_set("session.use_trans_sid", "0");if(!$from_spider) { session_start(); session_register("SESSION");} Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Guest exabs Posté 12 Septembre 2003 Partager Posté 12 Septembre 2003 Salut, Vous me faites douter avec vos posts Si l'on a dans php.ini session.use_trans_sid = 0 On ne risque pas un non référencement des pages utilisant des sessions ? Si j'ai bien compris, lorsque la valeur est à 1 (pas top sécurisé), le serveur fera passer l'id de session dans l'url s'il n'est pas possible d'écrire un cookie, c'est ça ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 12 Septembre 2003 Partager Posté 12 Septembre 2003 exabs, Il faut bien sûr que les pages soient visibles sans sessions. Par exemple, pour une boutique en ligne, les sessions ne sont vraiment utiles que pour la gestion du caddie. Pas besoin de sessions pour consulter le catalogue. Si tes scripts sont écrites de manière telle qu'ils ne peuvent fonctionner sans sessions, alors ces pages risquent de ne pas être indexées. Il faut garder à l'esprit que les sessions ne sont pas un "tout ou rien". Tu peux très bien avoir 95% de ton site qui fonctionne sans sessions, et réduire l'utilisation de celles-ci au strict minimum. Comme dans l'exemple que je citais plus haut, sur le site de l'Homme et Demi, il n'y a que les pages gérant le caddie qui nécessitent les sessions. Pas grave pour les moteurs, sauf s'ils sont titulaires d'une carte de crédit et qu'ils veulent passer commande... je n'en connais pas beaucoup Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Guest exabs Posté 14 Septembre 2003 Partager Posté 14 Septembre 2003 Mes sessions ne sont pas nécessaires à la navigation (gestion des skins, gestion de la page de retour après identification, etc.) mais je ne comprends pas pourquoi la ligne session.use_trans_sid = 0 dans php.ini ne suffit pas à interdire le passage de l'id session dans l'url ?! Je suis obligé de mettre une condition sur la ligne session_start(); pour gérer le passage des robots... Dans ces conditions à quoi sert cet argument (session.use_trans_sid) ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant