• User

    dubbio con guida in wikigt

    ciauz a tutti,
    ho letto la guida riportata a questa pagina http://www.giorgiotave.it/wikigt/os/Ottimizzare_PhpBB_per_i_Motori_di_Ricerca

    [php]if ( $userdata['session_user_id'] != ANONYMOUS )
    {
    $SID = 'sid=' . $session_id;
    }
    else
    {
    $sql = "SELECT * FROM " . FORUMS_TABLE . " ORDER BY forum_id";
    $result = $db->sql_query($sql);
    $guest_permission = false;
    if( $result )
    {
    while ( $row = $db->sql_fetchrow($result) && !$guest_permission )
    {
    if ( $row['auth_post'] == 0 || $row['auth_reply'] == 0 || $row['auth_pollcreate'] == 0 )
    {
    $guest_permission = true;
    }
    }
    }
    $db->sql_freeresult($result);
    $SID = ( $guest_permission == true ) ? ( 'sid=' . $session_id ) : '';
    }

    [/php]

    però c'è una riga che non mi quadra... mi spiego meglio:
    non capisco perchè debba abilitare la sessionid nell'url per queste condizioni..
    [php]$row['auth_post'] == 0 || $row['auth_reply'] == 0 || $row['auth_pollcreate'] == 0[/php]

    se ho capito giusto basta un forum con quei permessi che automaticamente viene agigunta la sessionid nell'url..
    ma...non sarebbe meglio fare una cosa "mirata"? cioè...se sei in un forum:
    verifica se ti trovi un un forum con quei permessi
    se ha un esito positivo: aggiunge la sessionid, altrimenti no

    scusatemi per i miei dubbi...
    ma ad esempio nel mio forum è presente una sezione nella quale può postare chiunque (serve per assistenza)... e per questo viene visualizzata la session id ovunque rendendo quindi "inutile" questo script

    hmmm forse sono stato un po' contorto...
    se non avete capito provo a spiegarmi meglio

    ciauzzz


  • Super User

    Ciao Filoz,
    questo codice serve a farsi trovare meglio dai motori di ricerca, in particolare session_id restituisce l'id di sessione per la sessione corrente e di conseguenza viene meglio indicato ai bot dei vari motori di ricerca come trovarti.

    😉


  • User

    hum...
    ho sempre pensato il contrario...
    o meglio... ho sempre pensato che un url senza sessionid fosse meglio per qualunque motore di ricerca...

    e proprio per questo ho trovato un altra possibile modifica...
    molto empirica, ma abbastanza efficente
    in session.php trovare
    [php]
    function append_sid($url, $non_html_amp = false)
    {
    global $SID;

    if ( !empty($SID) && !preg_match('#sid=#', $url) )
    {
    $url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
    }

    return $url;
    }[/php]

    e sostituire con

    [php]function append_sid($url, $non_html_amp = false)
    {
    global $SID;

    if ( !empty($SID) && !preg_match('#sid=#', $url) && !strstr($_SERVER['HTTP_USER_AGENT'] ,'Googlebot') && !strstr($_SERVER['HTTP_USER_AGENT'] ,'msnbot') && !strstr($_SERVER['HTTP_USER_AGENT'] ,'Slurp') && !strstr($_SERVER['HTTP_USER_AGENT'] ,'almaden.ibm.com') && !strstr($_SERVER['HTTP_USER_AGENT'] ,'zyborg') && !strstr($_SERVER['HTTP_USER_AGENT'] ,'Jeeves') && !strstr($_SERVER['HTTP_USER_AGENT'] ,'crawler') && !strstr($_SERVER['HTTP_USER_AGENT'] ,'spider') )
    {
    $url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
    }

    return $url;
    }
    [/php]

    link di riferimento: http://www.devside.net/articles/phpbb

    ciauzz


  • User

    ecco una mod un po' + elaborata e precisa...
    http://www.stsoftware.biz/forum/showthread.php?t=95

    non l'ho ancora testata...però dando un occhiata al codice sembra ben fatta...


  • Super User

    Hai già visto questo? 🙂

    Devo ammettere che forse mi sono sbagliato 🙂

    Eliminando il sessionid si verrebbe (uso il condizionale perchè non ne sono certo) indicizzati in modo migliore ma non vorrei che questo influisse in modo negativo (tipo penalizzazione) da parte dei motori di ricerca. 🙂


  • User

    hmmm da quanto ho letto...i motori di ricerca preferiscono url senza la sessionid perchè quest'ultima potrebbe (in alcuni casi) mandarli in "confusione"

    cmq... la pagina che mi hai linkato è proprio la pagina che commentavo nel mio primo intervento...
    non mi convince il fatto che se nel forum è presente una sezione con i permessi di scrittura anche ai guest viene sempre "attaccata" la sessionid...
    rendendo quindi vano lo scoopo dello script...

    una soluzione semplice ma efficace è quella che ho riportato nel mio secondo intervento...
    non è il "massimo" perchè avrebbe bisogno di conoscere l'agent di ogni spider...però cmq dovrebbe funzionare

    ciauzz


  • Super User

    Quasi quasi lo provo e vedo che succede 😄


  • Community Manager

    @cionfs said:

    Eliminando il sessionid si verrebbe (uso il condizionale perchè non ne sono certo) indicizzati in modo migliore

    Confermo questo 😉

    :ciauz: