Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   SЕО - тонкости, методы раскрутки (https://forum.antichat.xyz/forumdisplay.php?f=116)
-   -   Подсчет и стата посещений ботов (https://forum.antichat.xyz/showthread.php?t=100062)

M4g 08.01.2009 01:01

Подсчет и стата посещений ботов Yahoo|MSN|Google
 
1.Скрипт bot_count.php (инклудим в свою страницу)
PHP код:

<?php
  
if(eregi("googlebot|msn|yahoo",$HTTP_USER_AGENT))
    {
    
//создаем файл со статой
    
if(!is_file('bot_log') || filesize('bot_log')==0)
        {
        
$fp = @fopen("bot_log","w");
        @
flock ($fpLOCK_EX);
        @
fputs($fp,"0|0|0\n0|0|0\n");
        @
flock ($fpLOCK_UN);
        @
fclose($fp);
        }
        
//считываем файл со статой
        
$arr_bot=file('bot_log');
        
$bot_count=$arr_bot[0];
        
$time_bot_count=$arr_bot[1];
        
$bot_count=explode('|',$bot_count);
        
$GOOGLE_COUNT=(int)$bot_count[0];
        
$YAHOO_COUNT=(int)$bot_count[1];
        
$MSN_COUNT=(int)$bot_count[2];
        
$time_bot_count=explode('|',$time_bot_count);
        
$GOOGLE_TIME=$time_bot_count[0];
        
$YAHOO_TIME=$time_bot_count[1];
        
$MSN_TIME=$time_bot_count[2];

        
//пишем гуглбота в стату
          
if(eregi("googlebot",$HTTP_USER_AGENT))
            {
            
$str_to_log = (++$GOOGLE_COUNT).'|'.$YAHOO_COUNT.'|'.$MSN_COUNT."\n";
            
$str_to_log .= time().':::'.$PHP_SELF.'?'.$QUERY_STRING.':::'.$HTTP_USER_AGENT.':::'.$REMOTE_ADDR.'|'.$YAHOO_TIME.'|'.$MSN_TIME;
            
$fp = @fopen("bot_log","w");
            @
flock ($fpLOCK_EX);
            @
fputs($fp,$str_to_log);
            @
flock ($fpLOCK_UN);
            @
fclose($fp);
            }

        
//пишем яху в стату
          
if(eregi("yahoo",$HTTP_USER_AGENT))
            {
            
$str_to_log $GOOGLE_COUNT.'|'.(++$YAHOO_COUNT).'|'.$MSN_COUNT."\n";
            
$str_to_log .= $GOOGLE_TIME.'|'.time().':::'.$PHP_SELF.'?'.$QUERY_STRING.':::'.$HTTP_USER_AGENT.':::'.$REMOTE_ADDR.'|'.$MSN_TIME;
            
$fp = @fopen("bot_log","w");
            @
flock ($fpLOCK_EX);
            @
fputs($fp,$str_to_log);
            @
flock ($fpLOCK_UN);
            @
fclose($fp);
            }

        
//пишем мсн в стату
          
if(eregi("msn",$HTTP_USER_AGENT))
            {
            
$str_to_log $GOOGLE_COUNT.'|'.$YAHOO_COUNT.'|'.(++$MSN_COUNT)."\n";
            
$str_to_log .= $GOOGLE_TIME.'|'.$YAHOO_TIME.'|'.time().':::'.$PHP_SELF.'?'.$QUERY_STRING.':::'.$HTTP_USER_AGENT.':::'.$REMOTE_ADDR;
            
$fp = @fopen("bot_log","w");
            @
flock ($fpLOCK_EX);
            @
fputs($fp,$str_to_log);
            @
flock ($fpLOCK_UN);
            @
fclose($fp);
            }
      }

2. Создаем файл stats.php
PHP код:

<html>
<title>Bots stat</title>
<body>
<p>
<?php

  $data
=file('bot_log');

  if (!empty(
$data[0]))
    {
    
$count=$data[0];
    list(
$GOOGLE_COUNT,$YAHOO_COUNT,$MSN_COUNT)=explode('|',$count);
    
$bots=$data[1];    
    list(
$GOOGLE_BOT,$YAHOO_BOT,$MSN_BOT)=explode('|',$bots);
    print 
'<b>Google bot</b> был здесь <b><font color="red">'.$GOOGLE_COUNT.'</font></b> раз<br/>';
    list(
$g_time,$g_path,$g_agent,$g_ip)=explode(':::',$GOOGLE_BOT);
    print 
'<b>'.date('d.m.Y H:i:s',$g_time).'</b> '.$g_path.' <i>'.$g_agent.' ('.$g_ip.')</i>';
    print 
'<hr/>';
    list(
$y_time,$y_path,$y_agent,$y_ip)=explode(':::',$YAHOO_BOT);
    print 
'<b>Yahoo bot</b> был здесь <b><font color="red">'.$YAHOO_COUNT.'</font></b> раз<br/>';
    print 
'<b>'.date('d.m.Y H:i:s',$y_time).'</b> '.$y_path.' <i>'.$y_agent.' ('.$y_ip.')</i>';
    print 
'<hr/>';
    list(
$m_time,$m_path,$m_agent,$m_ip)=explode(':::',$MSN_BOT);
    print 
'<b>MSN bot</b> был здесь <b><font color="red">'.$MSN_COUNT.'</font></b> раз<br/>';
    print 
'<b>'.date('d.m.Y H:i:s',$m_time).'</b> '.$m_path.' <i>'.$m_agent.' ('.$m_ip.')</i>';
     }
?>
</p>
</body>
</html>

3.Создаем файл bot_log и открываем на запись
---
Все) Теперь у вас есть подробная и простая стата по посещениям ботов основных поисковиков (по коду Яшу и иже с ними легко добавить самому)

Fepsis 08.01.2009 01:15

Спасибо.. Не тестил пока, но скоро пригодится..)))

Ho5Tr1d3R 08.01.2009 20:03

Спосибо, тестируем )

Tigger 08.01.2009 20:08

Спасибо))
правь ошибки (3.Создаем файл bot_log b открываем на запись) - вместо "b" "и".
А разве bot_log не лучше с расширением .txt?

ZEXEL 08.01.2009 20:29

Как я понял по коду тут токо 3 бота определяет ? Yahoo , Google , MSN ?
Еще б не плохо было добавить Yandex , mail.ru , Rambler !

M4g 12.01.2009 02:08

>А разве bot_log не лучше с расширением .txt?
какая разница?) все равно ты его не вручную читаешь, а через stats.php
>Как я понял по коду тут токо 3 бота определяет ? Yahoo , Google , MSN ?
Еще б не плохо было добавить Yandex , mail.ru , Rambler !
не работал по Раше, добавь, это несложно)


Время: 07:50