大家应该都知道百度已经全站https并取消referer关键词显示了(详情可查看站长之家文章:百度站点属性功能升级 全面取消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配置的官方链接