经常会碰到站长们抱怨蜘蛛抓取返回码老是304状态,且抓取的次数越来越少的问题。搜索引擎为了自身的用户体验,会想尽办法来提高检索调用率、准确性、新鲜度,这将导致引擎不得不把主要的精力放在拥有优质内容源的网站上。惟其如此,搜索结果的质量才能更加符合搜索者的体验。
由此我们联想到:搜索引擎爬虫会更加青睐内容源更新频繁的网站。通过特定时间内对网站抓取返回的状态码来调节对该网站的抓取频繁。若网站在一定时间内一直处于[304:没有变化]的状态,那么引擎爬虫可能会降低对网站的抓取次数。相反,若网站变化的频率非常之快,每次抓取都能获取新版本,那么日积月累,爬虫的回访率也会提高。
无论是抓取少还是304,这都是一种现象,并不是问题的原因,假设网站返回的都是200,就能达到提升排名带来流量的目的么?相比之下更应该思考产生304的原因是什么?改304对网站目标能够有什么样的效果?不能忽视整体的目标而强调过程的细节,为了200而去解决304。
如何从网站日志中分析304状态码
例如某网站日志中有以下这样的一段:
2015-8-2823:45:33W3SVC7499849XX61.145.116.XXGET/asyj/1112_5544.html-80-123.125.88.59Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://***.baidu.coX/search/spider.html[1])30400
其实这段文字是这样理解的。
2015-8-2823:45:33——代表访问的日期和时间。
W3SVC7499849XX——代表虚拟主机的名称
61.145.116.XX——代表访问ip
GET——代表访问的方法
/asyj/1112_5544.html——代表具体访问的文件
80——代表访问的端口
123.125.88.59——代表来源ip
Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://***.baidu.coX/search/spider.html)——代表访问来源;这里是代表百度蜘蛛。注*换为w
304——304返回码。这个也是这里介绍的重点。这里表示客户端已经执行了GET,但文件未变化
前一个0——代表服务端传送到客户端的字节大小
后一个0——代表客户端传送到服务端的字节大小
从这一段日志。我们可以看出这次百度蜘蛛访问的结果的返回了一个304状态码。那么搜索引擎就不会对我们的页面进行再次抓取了
304状态是如何产生?
服务器为了提高网站访问速度,对之前访问的部分页面制定缓存机制,当客户端在此对这些页面进行请求,服务器会根据缓存内容判断页面与之前是否相同,若相同便直接返回304,此时客户端调用缓存内容,不必进行二次下载,可以说304从某种角度起到了减少服务器带宽并提高蜘蛛爬行效率的作用。
304状态产生原因?
1、页面更新周期长或不更新
2、纯静态页面或强制生成静态html
304状态处理思路?
1、先对产生304页面进行细分,到底是哪类页面返回了304?这些页面是否应该返回304?
2这些页面生成的方式是怎样的?是否有更新机制?更新机制是否符合蜘蛛对网站的抓取频率?
3、页面更新区域的位置是否合理?是否位于该页面主要内容的承载区
304状态码出现过多会造成以下问题:
1、网站快照停止
2、收录减少
3、权重下降
那么如何减少304返回码呢?
据我所知,首先内容更新方面要迎合百度蜘蛛,分析日志,把蜘蛛到访的时间记录下来,可以大致得出蜘蛛到访的频率,然后以此为依据,更新文章:一定是原创+转载,不能纯采集。转载也需要最新最好的优质资源。让蜘蛛这个点过来能有吃的。从而返回更多200正常码。
其次呢,最好增加个互动版块,现在大网站基本已经都做了这方面,比如评论、留言等,大网站更新起来变化可能会很小,但是有了这些互动,用户会在上面发些内容,网站会有很多新的东西。
评论(0人参与,0条评论)
发布评论
最新评论