很多做 WordPress 博客的人都不知道怎么监测蜘蛛爬行的记录呢?其实很简单,今天 Young Free! 告诉你只要添加以下代码,然后再调用文件代码就OK了,是不是很方便呢?那就开始行动吧。搜索引擎不收录博客内容,有时候我们只能干着急,原因很多很复杂。不过我们可以通过下边的代码来记录搜索引擎对你的网站的访问记录,可以从中找出问题所在,于便于解决问题。
用插件固然可以实现,不过插件也有弊端,太多的会造成载入速度的下降,插件间的冲突等,所以能使用代码实现的就一定要用代码来实现。
代码
这个监测搜索引擎蜘蛛爬行记录的代码,其实很简单的一段代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
< ?php function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, ‘googlebot’) !== false){ return ‘Googlebot’; } 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=gmdate(“Y-n-j H:i:s”,time()+8*3600); 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”); fwrite($data,”Time:$time robot:$searchbot URL:$tlc_thispagen”); fclose($data); } ?> |
原理
各大搜索引擎的蜘蛛爬行程序都有自己的标识符,例如谷歌的是 googlebot,百度的是 baiduspider,它们可以通过查询 HTTP__SERVER 变量中的 HTTP_USER_AGENT 参数来获取,再结合 HTTP_REFERER 记录下 URL的来源,最后用 nowtime() 函数取得当前的系统时间,就形成了一条简单的擎蜘蛛爬行记录。
看不明白的朋友可以跳过,其实代码许多年前网上就有人共享出来了,我们重点学会如何使用就可以了。
使用
然后将上面贴出来的代码另存为 robots.php,当然你可以任意给它取个名字,例如 aaa.php 或者 111.php 都行,只要保证扩展名是php,让它能够正常执行即可;然后上传到你的网站程序的模板目录中(例如 WordPress 的是 /wp-content /themes/abc 目录);最后在你的模板文件中调用它,例如在 WordPress 博客中,你可以在 footer.php 文件中添 加 <code>< ?php include(’robots.php’) ?> </code>代码。
接下来就是等待搜索引擎蜘蛛到你的网站来爬行了,爬行的结果记录在网站根目录的 robotslogs.txt 中,你直接打开 https://www.ucwz.net/robotslogs.txt 就能看到了。当然你也可以修改 robots.php 文件的第50行,把 robotslogs.txt 换成任意你想要的名字。
通过一段时间的监测,你就可以发现搜索引擎蜘蛛在你的网站上爬行的频率了,一般来说,蜘蛛爬行得越勤快越好。另外,如果你的 robotslogs.txt 记录的内容太多了的话,你可以清空它重新开始记录