Как определить когда по твоему сайту прошелся поисковик

12
esu
На сайте с 26.10.2005
Offline
92
esu
#11
Он пишется в 20 строчек кода на PHP+MySQL под конкретный сайт, т.к. везде страницы и разделы обозначены по своему, в каждом движке.

Могу кинуть рыбу, а остальное под себя заточите...

Я бы тоже посмотрел. Думаю разберусь. Сайт должен быть с поддержкой MySQL?

Учет оборота оружия (http://www.small-arms.ru/)
M
На сайте с 10.05.2005
Offline
58
#12

Примерно так...

Пришлось выдернуть его из общей массы. По технике - прошу ногами не пинать, т.к. написан он давно, и прижился :)


<?
// Это кусок кода выдернутый из общей системы статистики
// В данном случае, на входе идет пременная $px в которой содержится уникальный id страницы, естественно его можно заменить на свой :)
// (c) ИНТЕРНЕТиЯ МаЗай

$stat_robot_tab = "pref_stat_robot";

$agent=htmlspecialchars($HTTP_SERVER_VARS["HTTP_USER_AGENT"]);

// Вычисляем текущую дату (без часов, минут и секунд)
$date_in=time()+$time_cor; //$time_cor - верменная корректировка относительно серверного времени
$st_date=date("d:m:Y",$date_in);
list($d,$mo,$y,$h,$m,$s) = explode(":",$st_date);
$st_date=mktime($h,$m,$s,$mo,$d,$y);


if (strstr($agent,"Googlebot")) {$robot[go]=1;}
if (strstr($agent,"Yandex")) {$robot[ya]=1;}
if (strstr($agent,"StackRambler")) {$robot[ra]=1;}
if (strstr($agent,"Aport")) {$robot[ap]=1;}


// Статистика роботов, если установлен бот
if ($robot)
{
$sql ="select pid,go,ya,ra,ap from $stat_robot_tab where pid='$px'";
$result= mysql_query($sql);
@list($pid,$go,$ya,$ra,$ap)=mysql_fetch_row($result);
// Устанавливаем текущую дату для робота
if ($robot[go]) {$go=$st_date;}
if ($robot[ya]) {$ya=$st_date;}
if ($robot[ra]) {$ra=$st_date;}
if ($robot[ap]) {$ap=$st_date; }
// Были, ли робот на странице?
// Да - обновляем,
if (mysql_num_rows($result)>0)
{$query = "UPDATE $stat_robot_tab set go='$go',ya='$ya',ra='$ra',ap='$ap' where pid='$px'";
$result = @MYSQL_QUERY($query);
}
// нет - добавляем дату
else {
$query = "INSERT into $stat_robot_tab (pid,go,ya,ra,ap) values ('$px','$go','$ya','$ra','$ap')";
$result = @MYSQL_QUERY($query);
}
}


/* И дамп таблицы

CREATE TABLE pref_stat_robot (
pid int(15) NOT NULL default '0',
go int(15) default '0',
ya int(15) default '0',
ra int(15) default '0',
ap int(15) default '0',
PRIMARY KEY (pid)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
*/
?>

M
На сайте с 10.05.2005
Offline
58
#13

Можно сделать это и без MySQL, особенно если сайт не сильно нагружен и страниц не очень много.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий