Les sessions sont très pratiques, voire indispensables, dans de nombreux cas (un tracking publicitaire…). Toutefois, lorsque leurs identifiants sont utilisés dans les URL cela pose un problème majeur.
À chaque nouvelle visite, une session nouvelle étant démarrée, un paramètre contenant l’ID de la session est ajouté à chaque URL. Le contenu du site ne change pas, bien entendu.
Nous obtenons donc potentiellement des milliers d’URL différentes pour un même contenu. À chaque visite, les moteurs de recherche ne cesseront de trouver de nouvelles URL, représentant ainsi autant de duplications.
De plus en plus, les moteurs ne désirant pas remplir leurs serveurs de données identiques (le fameux « duplicate content ») font le grand ménage et perdent de moins en moins de temps à pénétrer l’architecture de votre site, si cette dernière n’est pas « Google-friendly ».
L’une des règles d’or à retenir est la suivante :
Un contenu = une URL (indexée)
Plusieurs solutions existent pour contourner ce problème :
- Ne pas utiliser l’URL pour mémoriser les sessions, préférer les cookies (non déposables chez les robots).
- Ne pas créer de session pour les moteurs.
- Ouvrir une session uniquement lorsque votre visiteur (sur son espace privé, non SEO) se connecte et non dès le premier affichage.
- Modifier le comportement des URL de votre site si un robot est détecté (cloaking)
- Sous les serveurs IIS (Microsoft), le problème peut parfois se régler directement en le configurant correctement. Mais prudence et tests sont de mise en amont !