在新站或网站收录有问题时,可能需要持续关注搜索引擎蜘蛛的抓取情况。每次打开服务器端访问日志查看非常麻烦,特别是当日志文件比较大时更是不便。最好的办法就是在线直接打开看蜘蛛爬行记录。为此,我们可以免插件使用纯PHP代码来实现这个功能,以下是具体实现代码。
// 记录蜘蛛访问记录
function get_naps_bot(){
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'googlebot') !== false){
return 'Googlebot';
}
if (strpos($useragent, 'bingbot') !== false){
return 'Bingbot';
}
if (strpos($useragent, 'slurp') !== false){
return 'Yahoobot';
}
if (strpos($useragent, 'baiduspider') !== false){
return 'Baiduspider';
}
if (strpos($useragent, 'sogou web spider') !== false){
return 'Sogouspider';
}
if (strpos($useragent, 'haosouspider') !== false){
return 'HaosouSpider';
}
if (strpos($useragent, 'yodaobot') !== false){
return 'YodaoBot';
}
return false;
}
function nowtime(){
date_default_timezone_set('Asia/Shanghai');
$date=date("Y-m-d G:i:s");
return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$addr=$_SERVER['REMOTE_ADDR'];
$file="robotslogs.txt"; //根目录下记录蜘蛛访问的文件
$time=nowtime();
$data=fopen($file,"a");
$PR="$_SERVER[REQUEST_URI]";
fwrite($data,"[$time] - $addr - $PR - $searchbot $tlc_thispage \r\n");
fclose($data);
}
使用说明:将以上代码插入funtion.php文件,并在网站根目录下创建一个名为robotslogs.txt的文件即可,文件名可自定义。注意需为robotslogs.txt设置可写权限,最好是777权限,755权限某些主机配置下可能存在无法写入的情况。以上代码能记录搜索蜘蛛的基本抓取信息,但有个缺陷,目前还不能记录抓取网址时的状态,比如404、404状态码等都无法显示,有知道如何获取状态码的同学请留言教我哦!