Aller au contenu

Session PHP et référencement


Sujets conseillés

Posté

Bonsoir

Dans le Post http://www.webmaster-hub.com/index.php?sho...482&hl=session# un certain Dan disait :

Par contre, une analyse de l'entête http de la page www.bidule-truc.com montre que tu as des identifiants de session, ce qui est pénalisant pour Google (et les autres moteurs).

J'aimerais avoir un peu plus de précisions sur ces sessions... En quoi sont elles pénalisantes ? Comment se comporte le robot quand il voit une session.

PHP est un langage coté serveur, comment sont gérés les sessions. Es-ce que ça place un cookie sur le client (et dans ce cas, le client peut toujours les refuser) où est ce que ça associe le client à une IP du coté du réseau (et dans ce cas, il devrais y avoir des problémes de conflit si on passe via un proxy)

Merci à tous ceux qui seront capables d'éclairer ma lanterne sur ce point... :idea:

Tizel

Posté (modifié)

Bonsoir,

Lors d'une session php un cookie dit de session est toujours envoyé, que tu voies ou non "PHPSESSID=xxx".

En revanche ce qui est pénalisant si je ne m'abuse c'est le rallongement conséquent de l'url et le passage de variable suplémentaire, sachant que si tu fais un site php avec plusieurs variables passées, sans url rewriting, tu seras VRAIMENT BIEN pénalisée.

A une époque ce fût même une faille de sécurité. [le passage de la session en url]

S'en est encore une pour certains sites d'ailleurs.

Modifié par Desesperance
Posté

je connais pas bien le détail des sessions mais ce qui est certain,

c'est que c'est + que penalisant, ça empeche carrement l'indexation !

il faut laisser quelque part une "entrée sans session" pour les moteurs, sinon ils bloquent là..

Posté

Salut Tizel,

Les sessions en Php permettent d'attribuer un identifiant unique au visiteur.

Elles sont utilisées par exemple pour les caddies des boutiques en ligne.

Lorsque le visiteur n'accepte pas les cookies, les identifiants de session sont transmis dans l'URL, ce qui peut créer une infinité d'URLs différentes pour une même page, ce qui fait qu'un moteur comme Google pourrait saturer son index avec un seul site, voire une seule page...

C'est la raison pour laquelle les moteurs n'indexent pas les urls comprenant la variable PHPSESSID (ou toutes les autres dénominations, comme ASPSESSID, ID...)

Il faut donc éviter de lancer une session s'il s'agit d'un robot, en se basant sur un algo de détection, le plus souvent sur le USER_AGENT.

Tu trouveras un bout de code dans ce fil: http://www.webmaster-hub.com/index.php?sho...indpost&p=30655

Dan

Posté

Oki, je comprend un peu mieux maintenant...

Le seul inconvénient du bout de code est qu'il faut le mettre à jour chaque fois qu'un nouveau robot apparait ;)...

Je comprends un peu mieux le probléme maintenant...

Tizel

Posté

Bonjour,

En fait, non. Le principe est de ne pas mettre d'identifiant de session, tant que la personne ne s'est pas identifiée. Ainsi, tout le site reste accessible, pour un visiteur, sans identifiant de session. Lorsque la personne s'est identifiée, alors on lui attribue un identifiant.

Sachant que les robots ne peuvent s'identifier, le problème est résolu.

Anonymus.

Posté

Pour une solution anti aspirateur, tu trouveras ton bonheur ici :

http://www.webmaster-hub.com/publication/article49.html

En considérant qu'un aspirateur est génant parce qu'il 'pompe' les pages du site trop rapidement, il suffit de faire un petit script qui stoppe le visiteur s'il demande trop de pages, en un certain temps.

Sans bases de données, avec un fichier texte.

Le code donné dans la page que tu proposes contient pas moins de 200 IP, qu'il faut maintenir à jour, ce qui peut s'avérer rapidement fastidieux.

Posté (modifié)

Mmmmh,

d'après mes infos je crois qu'il est carrément possible de désactiver la présence du PHPSESSID depuis le php.ini, et de dire au client qu'il faut qu'il active les cookies pour lancer une session.

Je pense qu'il est aussi possible d'utiliser la commande set_ini pour modifier les variables:

session.use_cookies

session.use_only_cookies

et de les mettre respectivement à "1" et "1".

EDIT: session.use_trans_sid doit aussi etre ègal à "0"

pareil au moment du configure il faut s'assurer que le --enable-trans-sid n'est pas présent, sinon celui-ci est rajouté par défaut, ce qui est très génant.

Après bien sur on peux faire un test sur le USER_AGENT, ce qui est souvent plus safe, mais non nécessaire si PHP est bien configuré.

Laurent.

Modifié par valdo
Posté

Grouik

Il est toujours préférable de ne pas afficher le sessid en url.

pour l'obtenir il me semble qu'un simple session_id() ressort l'identifiant.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...