纯代码方式实现wordpress蜘蛛爬行日志的方法
作者: 葛屹肃 | 日期: 2019-10-30 | 分类: 个人杂谈
最近网站被降权,这几天一直在分析被降权的原因,很可惜一直没有找到问题。于是,决定分析下蜘蛛的规律。
熟悉wordpress的朋友应该知道,使用wordpress没有现成的爬行日志,要么使用插件,要么写代码实现。使用插件过多的话,会使wordpress变得越来越臃肿,因此,通常能代码实现的功能,我都会用代码来处理。
而代码网上搜索一下就有,而且操作步骤都是很详细的,我也是原封不动搬过来使用的。详细步骤如下:
找到wordpress主题文件目录下的function文件,用代码编辑软件打开,在内的末尾添加以下代码:
function get_naps_bot(){
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, ‘googlebot’) !== false){
return ‘Googlebot’;
}
if (strpos($useragent, ‘YisouSpider’) !== false){
return ‘YisouSpider’;
}
if (strpos($useragent, ‘msnbot’) !== false){
return ‘MSNbot’;
}
if (strpos($useragent, ‘slurp’) !== false){
return ‘Yahoobot’;
}
if (strpos($useragent, ‘baiduspider’) !== false){
return ‘Baiduspider’;
}
if (strpos($useragent, ‘sohu-search’) !== false){
return ‘Sohubot’;
}
if (strpos($useragent, ‘lycos’) !== false){
return ‘Lycos’;
}
if (strpos($useragent, ‘robozilla’) !== false){
return ‘Robozilla’;
}
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'];
$file=”robotslogs.txt”;
$time=nowtime();
$data=fopen($file,”a”);
$PR=”$_SERVER[REQUEST_URI]“;
fwrite($data,”$time $searchbot $tlc_thispage $PR\r\n”);
fclose($data);
}
至此,wordpress蜘蛛爬行日志已经架构完毕,是否很简单呢?没错,就是这么简单。然后,在你的网站的根目录会创建个robotslogs.txt的文件用来存放日志,访问http://网址/robotslogs.txt 即可看到蜘蛛爬行记录了。
其实,这个功能有点鸡肋的感觉,只适用于有需要时分析下网站访问情况,如当前我的网站被降权时,为何呢?大家想想,将每次的蜘蛛访问都记录下来,1个月后甚至1年后,这个文件会有多大,每次打开时会非常耗服务器的资源的。所以,除非能实现定时清理数据,如只保留1周或1个月的数据,这样的话才是长久之计。
文章链接:https://www.geyisu.com/1120.html