Spesso piccoli forum con pochi membri, si ritrova il contatore delle visualizzazioni dei thrads con dei valori sproporzionatamente esagerati. Questo fatto è dovuto ai spiders/bots che visualizzano quel thread.
Seguendo questa guida sarà possibile escludere il conteggio delle visualizzazioni da parte dei bots/spiders che abbiamo nella nostra lista,
questa modifica non andrà ad influire il conteggio delle visite dei utenti.
Accediamo al nostro host tramite un FileZilla e cerchiamo "
showthread.php", apriamolo con un editor di testo e al suo interno cerchiamo questo codice:
Codice PHP:
if($mybb->settings['delayedthreadviews'] == 1)
{
$db->shutdown_query("INSERT INTO ".TABLE_PREFIX."threadviews (tid) VALUES('{$tid}')");
}
else
{
$db->shutdown_query("UPDATE ".TABLE_PREFIX."threads SET views=views+1 WHERE tid='{$tid}'");
}
lo sostituiamo con questo:
Codice PHP:
if($mybb->settings['delayedthreadviews'] == 1 && $session->is_spider == false)
{
$db->shutdown_query("INSERT INTO ".TABLE_PREFIX."threadviews (tid) VALUES('{$tid}')");
}
elseif($session->is_spider == false)
{
$db->shutdown_query("UPDATE ".TABLE_PREFIX."threads SET views=views+1 WHERE tid='{$tid}'");
}
Se volessi fare in modo che il contatore non aumenti anche con le visualizzazioni del creatore (autore) dello stesso thread, ci basterà sostituire il primo codice con questo:
Codice PHP:
if(!$session->is_spider && $mybb->user['uid'] != $thread['uid'])
{
if($mybb->settings['delayedthreadviews'])
{
$db->shutdown_query("INSERT INTO ".TABLE_PREFIX."threadviews (tid) VALUES('{$tid}')");
}
else
{
$db->shutdown_query("UPDATE ".TABLE_PREFIX."threads SET views=views+1 WHERE tid='{$tid}'");
}
}
Nel caso si volesse azzerare il conteggio precedente e riportare tutti i thread al numero di visualizzazioni pari a 0, ti basterà lanciare questa query nel PhpMyAdmin
Codice:
UPDATE `mybb_threads` SET `views` = '0'