PhpBB et sessions

A
Azon
Guest
Bonjour à tous :)

J'ai installé le petit MOD sur mon forum phpBB permettant de supprimer les sid pour les invités.

Sur RobotStats, je vois bien que GG n'indexe plus le forum avec les sid .... en revanche, Yahoo! et MSN oui. Y'a-t-il quelque chose à faire ?
 
A
Azon
Guest
Ah ben MSN visite des pages rewritées et d'autres non ...

Ah oui en fait, quand le sid apparait, c'est que l'URL n'est pas rewritée.

Je ne comprends pas :oops:

Merci pour vos explications ;)
 
WRInaute discret
Il s'agit de quel MOD ?
Probablement que le mod détecte convenablement Google mais pas MSN ni Yahoo.
Si tu donnes des informations sur le MOD (qui m'interesse) je jetterai un oeil sur le code, et je pourrais donner une explication.
 
A
Azon
Guest
Le voici :

Extrait de http://www.phpbb.com/phpBB/viewtopic.php?t=185839

Code:
#################################################################
## MOD Title: Guest Sessions MOD
## MOD Version: 0.03
## MOD Author: CyberAlien <slava@trushkin.net> (Vjacheslav Trushkin) http://www.trushkin.net
## MOD Description:
##      This mod removes session id for guests from url and this way
##      guests who don't have cookies like different robots will use
##      correct urls. It can be used to allow googlebot and other
##      search engines to spider your forum correctly.
##
##      Note: This mod is not tested much. Right now i'm using
##      modification of this mod on my forum at http://demo.phpbbstyles.com
##      and in a few weeks when google index will be completely
##      update we'll know if there are any problems with this mod.
##
## Installation Level:   Easy
## Installation Time:   1-2 Minutes
## Files To Edit (1): includes/sessions.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]---------------------------------------------
#
includes/sessions.php

#
#-----[ FIND ]---------------------------------------------
# around line 139
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
      WHERE session_id = '" . $session_id . "'
         AND session_ip = '$user_ip'";

#
#-----[ REPLACE WITH ]---------------------------------------
#
   $sql_ip = $user_id == ANONYMOUS ? " AND session_ip = '$user_ip'" : '';
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
      WHERE session_id = '" . $session_id . "' $sql_ip
         AND session_user_id = '$user_id'";

#
#-----[ FIND ]---------------------------------------------
# around line 186
   $SID = 'sid=' . $session_id;

#
#-----[ REPLACE WITH ]---------------------------------------
#
   $SID = $user_id > 0 ? 'sid=' . $session_id : '';

#
#-----[ FIND ]---------------------------------------------
# around line 256
            $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';

#
#-----[ REPLACE WITH ]---------------------------------------
#
            $SID = $userdata['user_id'] > 0 ? (($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '') : '';

#
#-----[ FIND ]---------------------------------------------
# around line 303
   //
   // If we reach here then no (valid) session exists. So we'll create a new one,
#
#-----[ BEFORE, ADD ]---------------------------------------
#
   elseif(empty($sessiondata))
   {
      // try to login guest
      $sql = "SELECT u.*, s.*
         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
         WHERE s.session_ip = '$user_ip'
            AND s.session_user_id = " . ANONYMOUS . "
            AND u.user_id = s.session_user_id
               LIMIT 0, 1";
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
      }

      $userdata = $db->sql_fetchrow($result);

      if ( isset($userdata['user_id']) )
      {
         if ( $current_time - $userdata['session_time'] > 60 )
         {
            $sql = "UPDATE " . SESSIONS_TABLE . "
               SET session_time = $current_time, session_start = $current_time, session_page = 0
               WHERE session_id = '" . $userdata['session_id'] . "'";
            if ( !$db->sql_query($sql) )
            {
               message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
            }
         }
         return $userdata;
      }
   }

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
 
WRInaute discret
Je craignais qu'il utilise le user agent ou les adresses IP qui ne seraient pas à jour.
Ici tout semble correct.
Est-ce que le mod est installé depuis longtemps?
A mon avis c'est juste une question de temps pour que MSN,... mettent leurs indexes à jour.
 
A
Azon
Guest
Je l'ai mis en place la semaine dernière.

Peut-être que ça prend du temps mais ce que je comprends pas, c'est qu'avec RobotStats, on voit les pages visitées par les robots, or, si le robot voit des sid dans l'url c'est que le MOD ne fonctionne pas ? Enfin, c'est ma logique mais peut-être que celle des robots est différente ^^

Je vais attendre encore un peu et puis de toute façon, je ne sais pas quoi faire :p

Ceci dit, ce que je comprends encore moins, c'est que les robots de yahoo et msn visitent des pages avec des url non rewritées ... or, ces urls sont sensées être rewritées pour tous les utilisateurs anonymes (et même les utilisateurs connectés). D'ailleurs, msn voit des url rewritées et des brutes ... mystère mystère ... :wink:

En tous les cas, merci pour tes réponses Tradjus :)
 
WRInaute discret
N'oublie pas qu'une fois que la page est dans l'index, MSN/Yahoo va venir la revisiter.
Et ce meme si il n'y a plus de links qui pointent vers elle (que maintenant les links sont sans sid). Ca prend un peu de temps pour que les moteurs s'apercoivent que la page est "isolée" et des lors la retire de l'index.
De plus si le sid existe toujours pour les utilisateurs loggés, les googlebar et équivalent renvoient l'information qu'une page blabla.php?sid=123 existe et du coup les moteurs viennent la crawler.
A mon avis un peu de patience et tout va rentrer gentiment dans l'ordre.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut