Время последней индексации страниц поисковиками

Рубрика: Новости -> Скрипты -> php
Среда, 23 сентября 2009 г.
Просмотров: 406
Подписаться на комментарии по RSS

Почитывая однажды сайт www.rukv.ru обнаружил в самом низу страницы интересную статистику,

а именно время проверки страницы поисковыми ботами.

Весьма полезно и удобно анализировать в таком наглядном виде статистику захода поисковых ботов.

Обозначив интерес в разговоре с fof и описав полезность и удобство такого подхода,

буквально на следующий день я получил простенький и удобный скрипт,

который просто подключается на всех страницах.

Теперь на многих моих сайтах в самом низу выводятся идентификаторы поисковых ботов и время их захода на страницу.

Очень интересно наблюдать эти цифры на страницах блога,

т.к. после пинга поисковые боты приходят довольно быстро и можно делать ставки какой придет раньше.

Конечно на первом месте практически всегда оказывается googlebot, потом приходит Yandex,

но в последнее время что-то он стал лениться.

Ниже представлен скрипт, который очень просто реализует такую

статистику.

К описанным идентификаторам ботов можно достаточно просто добавлять

свои.

Количество имен поисковых ботов ограничено только размером оперативной

памяти.

Можно еще более усложнить систему и сохранять не только время

последнего захода,

но и все заходы за время существования сайта (правда в таком случае

лучше использовать MySQL). Информация сохраняется в одном файле,

статистика отображается на каждой странице сайта (точнее на тех, в

которые вы подключите этот скрипт).

Google:04.08-00:47 Yahoo:18.09-21:55 Msn:14.09-13:33 Yandex:09.09-06:14 Rambler:18.09-21:02 Aport:07.09-16:22
<?php
$logfile "botlog.txt";
if (!file_exists $logfile ) ) {
    $log = array ( );
    file_put_contents $logfileserialize $log ) );
    }
else $log unserialize file_get_contents $logfile ) );$uri $_SERVER 'REQUEST_URI' ];$remap_agents = array (
    'googlebot' => 'Google',
    'yahoo' => 'Yahoo',
    'msnbot' => 'MSN',
    'yandex' => 'Yandex',
    'stackrambler' => 'Rambler',
    'aport' => 'Aport'
    );$agent=@$_SERVER 'HTTP_USER_AGENT' ];
if ( preg_match('/(googlebot|yahoo|msnbot|yandex|stackrambler|aport)/i',
        $agent$match ) ) {
    $match strtolower $match ] );
    $agent $remap_agents $match ];
    $date date "d.m-H:i"time ( ) );
    $log[$uri][$agent] = $date;
    file_put_contents $logfileserialize $log ) );
    }printf "Google:%s Yahoo:%s Msn:%s Yandex:%s Rambler:%s Aport:%s",
    @$log[$uri]['Google'],
    @$log[$uri]['Yahoo'],
    @$log[$uri]['MSN'],
    @$log[$uri]['Yandex'],
    @$log[$uri]['Rambler'],
    @$log[$uri]['Aport']
    );printf "G:%s Y:%s M:%s Y:%s R:%s A:%s",
@$log[$uri]['Google'],
@$log[$uri]['Yahoo'],
@$log[$uri]['MSN'],
@$log[$uri]['Yandex'],
@$log[$uri]['Rambler'],
@$log[$uri]['Aport']
);/*
function file_put_contents ( $n, $d )
{
$f = @fopen ( $n, "w" );
if ( !$f )
return false;
else
{
fwrite ( $f, $d );
fclose ( $f );
return true;
}
}
*/?>

Если вы используете PHP четвертой версии, а не пятой, то вам будет нужна функция file_put_contents,

которая в данном примере закрыта комментариями, раскомментируйте ее.

Комментариев: 1

  1. 2010-05-28 в 18:53:10 | Алексей (анонимно)

    Спасибо попользуюсь

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)