Guida Bloccare contatore visite nei thread per i spiders/bot MyBB - Versione stampabile
Stertix
Guida Bloccare contatore visite nei thread per i spiders/bot MyBB - Versione stampabile

+- Stertix (https://www.stertix.it)
+-- Forum: Webmaster World (/Forum-Webmaster-World)
+--- Forum: Forum Board (/Forum-Forum-Board)
+---- Forum: MyBB (/Forum-MyBB)
+---- Discussione: Guida Bloccare contatore visite nei thread per i spiders/bot MyBB (/Thread-Guida-Bloccare-contatore-visite-nei-thread-per-i-spiders-bot-MyBB)



Bloccare contatore visite nei thread per i spiders/bot MyBB - Stertix - 16/05/2017 12:22

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:
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:
if($mybb->settings['delayedthreadviews'] == && $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:
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'