Les sessions : facteur bloquant pour le référencement
Dans : Référencement et PHP - Par Olivier Duffez, le 4 août 2008
Comme je l'explique dans mon article "Le PHP est-il néfaste pour le référencement", les variables transmises dans l'URL des pages dynamiques peuvent parfois gêner leur indexation.
C'est le cas des variables de session PHP qui empêchent l'indexation par les moteurs de recherche (sauf rares exceptions). La raison est simple et s'explique par le principe des sessions : un identifiant de session est attribué automatiquement (par tirage au sort) à chaque visiteur qui arrive sur un site utilisant les sessions (par exemple les sites de commerce en ligne). Cet identifiant va l'accompagner pendant toute sa visite sur le site, ce qui permettra au serveur de gérer par exemple son panier d'achat.
Si cet identifiant de session est transmis dans l'URL (sous forme de variable id ou sessionid...), alors à chaque fois qu'un robot d'indexation tel GoogleBot viendra visiter un site, toutes les pages auront une nouvelle URL. Plus précisément, une même page aura à chaque visite une nouvelle URL.
Si GoogleBot indexait ce genre de pages, il pourrait saturer son index rien qu'avec un seul site !
La solution est soit de se passer de sessions, soit de désactiver les sessions quand le visiteur est en fait un robot d'indexation de moteur de recherche (c'est une forme de cloaking acceptée par les moteurs).
Voici un exemple de code PHP de détection de robot (à vous de l'adapter, il est très simplifié) :
// ----------------------------------------------------------------
// renvoie true si le visiteur est un robot de moteur de recherche
// ----------------------------------------------------------------
function isRobot()
{
$robots = array("Googlebot", "crawler", "Slurp", "Fast","Scooter",
"VoilaBot", "W3C", "msnbot", "ask", "exabot");
$is_robot = false;
foreach($robots as $robot)
{
if (eregi($robot, $_SERVER["HTTP_USER_AGENT"]))
{
$is_robot = true;
break;
}
}
return $is_robot;
}
Ce script se base sur une correspondance partielle du UserAgent, à vous de l'adapter selon vos besoins.
Remarque : sur vos pages dynamiques, n'oubliez pas de créer des URL propres avec l'URL Rewriting !


