GoogleBot et les SESSIONS PHP

Nouveau WRInaute
Bonjour,
Je suis victime d'un problème assez recurant apparement avec les sessions PHP :

J'utilise ce code au début de chaque page :

<?php

// àPour palider aux problemes de vérification PHP SESSION ID (W3C)
ini_set("url_rewriter.tags","a=href,area=href,frame=src,iframe=src,input=src");
ini_set('arg_separator.output', '&amp;');

// Palier aux problèmes de référencements

ini_set('session.use_trans_sid', "0"); // Spécifie si le support du SID est transparent ou pas
ini_set('session.use_cookies', "1"); // Spécifie si le module utilisera les cookies pour stocker les données de session sur le client
ini_set('session.use_only_cookies', "1"); // Spécifie si le module doit utiliser seulement les cookie
ini_set("url_rewriter.tags",""); // Ne plus rien réécrire dans la source

session_start();

?>


En fait, les ID de sessions sont "forcées" a etre stockées dans un cookie et cela fonctionne tres bien quand j'enleve les cookie sur mon navigateur (En étant loggé je reste sur index.php).
J'utilise un outil qui me permet de connaitre les robots qui passent sur mon site et SEUL GoogleBot continue a "lire" mes pages de type index.php&PHPSESIONID=2131231XXXX.

Avec Yahoo, Msn, je n'ai pas ce probleme.

J'ai a peu pres tout essayé, j'ai envoyé un SITEMAP XML a Google mais rien. Je suis mit à l'écart du moteur depuis quelques semaines a cause de ce probleme (page référencée "en double").

Comment remédier a ce probleme ?

(Il me faufrai les sessions activent sur toutes les pages du site car j'ai un lien "mon compte" / "Se deconnecter" / "Les membres" sur le menu dès qu'on est loggé).

Merci de votre aide.
 
WRInaute impliqué
Peut-etre que Google doit avoir en mémoire une liste de tes urls avec le PHPSESID et donc il regarde si les pages sont toujours dispo sous cette url.

faire une redirection 301 ? si tu détectes un PHPSESSIS dans l'url ? et tu rediriges vers une url sans PHPSESSIS
 
WRInaute accro
Bozo a sans doute raison, si il a commencé à indexer des pages avec PHPSESSID, il va continuer à les interroger longtemps. Tu as peut être également des sites qui ont fait des liens vers toi en incluant ces PHPSESSID dans le lien; il te faut donc mettre en place la redirection préconisée plus haut.
 
Nouveau WRInaute
Merci pour vos réponses.

J'ai cherché pas mal sur Google mais je ne trouve pas de solution pour prendre un compte mon probleme.
J'ai trouvé les redirections 301 "standards" dans le .htaccess (pour enlever les "www" par exemple) :


RewriteCond %{HTTP_HOST} ^domaine.com
RewriteRule (.*) http://www.domaine.com/$1 [R=301,L]


mais comment faire pour dire : "index.php&PHPSESSIONID redirigé vers index.php"

Va t-il falloir le faire pour chaque page du site ? ( ex. photos.php&PHPSESSIONID redirigé vers photos.php)

Merci.
 
Nouveau WRInaute
J'ai trouvé sur un forum ça interresra surement du monde :

Redirigé un fichier.php?xxxxxx (par exemple fichier.php&PHPSESSIONID=xxxx) en fichier.php :

<?
if($_SERVER["REQUEST_URI"]!=$_SERVER['PHP_SELF'])
header('Location: '.$_SERVER["PHP_SELF"]);
?>

ce bijoux tient en 2 lignes !

:D
 
Discussions similaires
Haut