专业IT科技资讯平台,关注科技、手机、电脑、智能硬件、电脑知识!
当前位置:主页 > 建站 > 技术分享 >

利用百度蜘蛛referer找到报错页面入口

导读:

  大家应该都知道百度已经全站https并取消referer关键词显示了,那么“百度蜘蛛referer”又是什么?有

  大家应该都知道百度已经全站https并取消referer关键词显示了,那么“百度蜘蛛referer”又是什么?有什么妙用吗?艺龙SEO负责人刘明发现通过百度蜘蛛referer可以快速定位部分站内url的报错(4xx或者5xx)原因。随后社区版主飞鹰正义也对文章做了补充修正,现推荐给各位同学们。

  什么是百度蜘蛛的referer

  百度蜘蛛的referer,是指当百度蜘蛛抓取某一个URL的时候,在HTTP头中带的Referer字段。请注意,这个定义和百度最近声明去除Referer中关键词数据没有任何关系。这次讲的是spider发起的HTTP请求,百度而去除的是用户发起的。如果百度蜘蛛抓取百度首页的logo,会发起这样的请求:

  

  上面Referer字段很明确的表示了他是从www.baidu.com这个页面上发现并抓取了www.baidu.com/img/bd_logo1.png。而大家在服务器访问日志中也应该能看到相应的记录。目前发现只有当百度抓取一个网页的同时,又抓取了网页中的:img、js和css才会带上referer字段。这部分额外的抓取量,应该不会占用百度分配的抓取配额,属于“买1送1”。

  对于站长的意义

  如果你发现有一批URL(仅限于img,js,css)报错(4xx或者5xx),但是一直找不到入口在哪,也就是说你不明白百度蜘蛛是从哪里发现这些错误URL的。这个字段可以帮助你迅速定位。

  举个例子

  比如我们的SEO日志分析系统中可以看到,符合下面这种URL Pattern的路径每天有6万到10万的抓取而且全部报404。

  

  

  从发现问题至今过了1个月,查遍整个网站我也没找到入口。今天偶然仔细查了一下日志,想起了百度蜘蛛的referer,马上就能定位问题了。这些404的URL来自于一套没人维护也没人关注的页面(往往是这样)。收录流量都不错。由于最近公司图片系统更新,图片的URL全部更改了,但这套页面并没有跟着更新。

  如果站点没有记录referer怎么办

  iis请在这里勾选“cs(Referer)”:

  

  

  apache请参考:

  apache log配置“Combined Log Format”章节

  apache log配置的官方链接

  

  Nginx请参考:

  nginx log配置

  nginx log配置的官方链接

  

  结束语

  · 很多SEO问题并不是立即致命的,所以没有及时解决。流量就像蚂蚁啃大象一样一点一点啃掉了。

  · 系统性的知识积累还是会在关键时刻发挥作用的。

  · 感谢飞鹰对本文的修正。