在新站或网站收录有问题时,可能需要持续关注搜索引擎蜘蛛的抓取情况。每次打开服务器端访问日志查看非常麻烦,特别是当日志文件比较大时更是不便。最好的办法就是在线直接打开看蜘蛛爬行记录。为此,我们可以免插件使用纯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 rn"); fclose($data); }使用说明
将以上代码插入funtion.php文件,并在网站根目录下创建一个名为robotslogs.txt的文件即可,文件名可自定义。注意需为robotslogs.txt设置可写权限,最好是777权限,755权限某些主机配置下可能存在无法写入的情况。以上代码能记录搜索蜘蛛的基本抓取信息,但有个缺陷,目前还不能记录抓取网址时的状态,比如404、404状态码等都无法显示,有知道如何获取状态码的同学请留言教我哦!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END