- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- dubbio con guida in wikigt
-
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 noscusatemi 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 scripthmmm forse sono stato un po' contorto...
se non avete capito provo a spiegarmi megliociauzzz
-
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.
-
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
-
ecco una mod un po' + elaborata e precisa...
http://www.stsoftware.biz/forum/showthread.php?t=95non l'ho ancora testata...però dando un occhiata al codice sembra ben fatta...
-
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.
-
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 funzionareciauzz
-
Quasi quasi lo provo e vedo che succede
-
@cionfs said:
Eliminando il sessionid si verrebbe (uso il condizionale perchè non ne sono certo) indicizzati in modo migliore
Confermo questo