Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour à tous.

Je souhaiterai savoir comment vous gérez vos sessions pour un site e-commerce ?

Tout le monde sait que l'avantage des sessions pour un site e-commerce est de garder le panier du client pendant sa navigation sur le site mais qu'en est-il du référencement ?

(le soucis étant le phpsession)

Pour ma part je créer un cookie lors de l'ajout d'un article dans le panier.

Ensuite je teste le cookie et s'il existe je lance la session.

Mais qu'en est-il pour vous ? ;)

Modifié par ptit pimousse
Posté

C'est risqué pour les clients refusant les cookies ;)

Personnellement je bloque les sessions pour les bots des principaux moteurs de recherche.

Posté

oui j'ai aussi ce système.

Cela m'interresse de savoir comment vous vous y prenez.

Pour ma part voilà l'ordre des étapes

1) je lance la session

2) je teste si l'ip de l'internaute est un robot (je possède une liste des principaux moteurs)

3) je detruis la session

Posté

Tu peux aussi faire le test avant de lancer la session non ? :blink:

Dans la mesure où pour la plupart des internautes les identifiants de sessions ne sont pas visibles, on ne peut même pas appeler ça du cloaking :P .

Posté
Tu peux aussi faire le test avant de lancer la session non ? :blink:

<{POST_SNAPBACK}>

oui en effet ;)

j'ai vu sur ton site que lors du premier ajout d'un article dans le panier un phpsid était passé et puis après ce paramètre n'apparait plus; cela me rassure je me demandais si c'etait normal (j'ai la même chose sur mon site).

Posté

au passage je n'utilise pas des paramètres tels que

ini_set('session.use_trans_sid', false);

pour supprimer de l'url le nom de la session et sur ma config php il est actif. Mais aucun problème pour moi.

Je souhaiterai juste savoir comment vous faites de votre côté, histoire d'elargir ma vision sur ce problème épineux : e-commerce/session/référencement :P

Posté
j'ai vu sur ton site que lors du premier ajout d'un article dans le panier un phpsid était passé et puis après ce paramètre n'apparait plus; cela me rassure je me demandais si c'etait normal (j'ai la même chose sur mon site).

<{POST_SNAPBACK}>

En fait j'utilise des headers php, pour ne pas perdre le SID avec les headers je le rajoute à l'url.

Posté (modifié)

Bonjour, la contrib "SEO ultimate url"permet de régler (via l'admin) pas mal de soucis, et est top pour le référencement, couplé à "header tag controller"

Pour ma part les sessions sont désactivées.

Eric

ooops j'avais lu Oscommerce à la place de Ecommerce, ce que j'ai écris concerne Oscommerce.

Modifié par rikaix
Posté (modifié)
comment faites vous pour bloquer les sessions lors d'un passage d'un IP Bot ?

<{POST_SNAPBACK}>

Tu détectes les bots soit grâce à leur ip soit grâce à leur USER AGENT. Si tu détectes un bot tu ne démarres pas la session.

par exemple :

if(!eregi("googlebot", $_SERVER["HTTP_USER_AGENT"])){

session_start();

}

;)

Modifié par dièse
Posté (modifié)
Tu détectes les bots soit grâce à leur ip soit grâce à leur USER AGENT. Si tu détectes un bot tu ne démarres pas la session.

par exemple :

if(!eregi("googlebot", $_SERVER["HTTP_USER_AGENT"])){

     session_start();

}

;)

<{POST_SNAPBACK}>

il y a un risque de se faire dégager par Google pour de tels pratiques (je parle uniquement des sessions) ?

Modifié par samy
Posté
il y a un risque de se faire dégager par Google pour de tels pratiques (je parle uniquement des sessions) ?

Absolument pas... c'est même conseillé par GoogleGuy.

Par exemple, sur la page Outils du Hub j'utilise les sessions pour les domaines sur lesquels on calcule l'indice Yoovi.

Mais pour que cette page soit tout de même indexée, j'utilise ce type de code pour éviter le démarrage de session si le visiteur est un robot.

$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();
// suite du code ...
}

Ca n'empêche pas cette page d'avoir un PR6 ;)

Posté (modifié)

Est-ce que le fait d'avoir des sessions dans l'url empêche l'indexation régulière de Google ?

Je m'explique : Google indexe les pages de mon site qui ont des sessions mais ces indexations sont beaucoup moins nombreuses que les autres pages qui n'en contiennent pas. Donc un problème de mise à jour non régulière des pages en question.

Est ce que le fait d'utiliser cette méthode va augmenter le nombre de passages des bot sur ces pages ?

Modifié par samy
Posté

Disons que le fait de ne pas avoir la variable de session dans l'URL va éviter que certaines pages tombent dans la trappe du filtre "contenu dupliqué" vu que tu n'auras plus qu'une URL pour une page...

C'est de toute manière conseillé par Google...

Posté

Merci pour ces réponses constructives :-)

// Session ini_set("session.use_trans_sid", "0");

Cette ligne de commande tu le fais seulement pour les robots ou pour tout internaute.

J'avais essayé de passer par cette ligne de php mais le soucis majeur est si l'internaute est un vrai client et qu'il ne possède pas les cookies là euh :wacko:

Posté

bon j'ai trouvé une solution qui me semble plutot pas mal

au lieu de tester à chaque page si l'internaute est un robot et donc perdre un peu de temps voire beaucoup si on a une liste de robots à rallonge :D

donc voilà le code pour ceux que cela interresse :

$spider = false;
//si on a pas de session on test
//ce test est exécuté une seule fois
if(!session_id()){
//on detecte les robots
}
//c'est un robot
if($spider){
ini_set("session.use_trans_sid", "0");
//c'est un client
}else{
session_start();
}

Voilà là c'est la :fete:

Veuillez vous connecter pour commenter

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



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