这几天,网站更新中遇到一个问题,新更新的内容百度不抓取了,在百度站长工具里也能看到流量和抓取记录都在下降,找了半天都没找到原因,于是我登陆服务器,将网站访问日志下载下来,用光年日志分析工具查看日志记录。在蜘蛛状态码这一栏,我发现了大量不正常的访问记录,如图:
这个日志让人感到很惊讶,第一,来访记录都是从3g.163.com过来的,不知道我什么时候被网易盯上了?第二,上面的这些网址其实是不存在的,在服务器和网站内是找不到对应页面的。所以返回给蜘蛛的都是404错误页面。这就难怪了,百度蜘蛛每天过来抓取我网站的内容,结果得到的是大量的错误页面,搞多几天,蜘蛛也就没有耐心了,所以抓取量,流量都下降了。如果这个问题再晚几天发现,就不是轻微降权这么简单了,估计就要把我的网站放进沙盒了。
我百度、Google了一圈,也没有搞清楚这个错误的发生到底是什么原因,有人说这是域名之前的建站记录还留存在百度数据库里(在我这里不适用,因为我这个是新域名),也有人说这是竞争对手恶意刷流量,目的就是造成百度对你的网站做降权处理。而且,我发现这个错误只在百度蜘蛛上才会出现,Google,搜狗和雅虎的蜘蛛就没有发生此类问题。难道被我发现了一个干掉竞争对手的法宝?如果是真的,那就哈哈哈哈哈了。
解决方法很简单,将所有错误目录找出来,在robots.txt里进行屏蔽即可,我是3月26日中午更新的robots.txt,并将其提交到百度站长中心,然后当天夜里凌晨再看日志,蜘蛛已经不再出错了。现在是3月27日中午,我已经在网站后台看到新更新的文章被百度正常抓取了。
这是当日百度站长后台记录,可以看出数据抓取和流量均已恢复。
还是在日志里,我发现一个奇怪的百度蜘蛛IP 193.201.224.72,访问量还很大!这个IP跟平常我看到的大多是百度蜘蛛IP不太一样,正常的百度蜘蛛IP都是220或者123开头的,这个193.201.224.72 我上网一查,来自于乌克兰,这是什么鬼?用host命令查询这个IP结果如下:
如果我们把正常的百度蜘蛛IP 220.181.108.154 用host命令查询,会得到下图的结果:
可以看出,二者完全不同,193.201.224.72 是一个伪造的百度蜘蛛IP!
现在我们只需要到.htaccess文件里屏蔽这个IP就可以了。
order allow,deny deny from 193.201.224.72 allow from all