304状态码是什么?影响有哪些?如何解决?

C端产品运营经理

共 2551字,需浏览 6分钟

 · 2021-06-12

0e23828cf735319f9c1db22f388cc8b9.webp喜欢就关注我吧,订阅更多最新消息

相信有不少做过seo或网站运营的小伙伴,对304状态码不熟悉,或者压根没有听过,只对404、200、301等状态码熟悉。但是,它确是seo及网站运营中非常重要的一个状态码,这也是衡量是否真正懂seo及网站运营的一个知识点。这篇文章,就是帮助大家把304状态码了解的透透的~(预计阅读3分钟,多点耐心、多涨点知识)

912e2e2fae5d50ffd495217002984b66.webp1、304状态码代表什么?是什么?0e23828cf735319f9c1db22f388cc8b9.webp

如果客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器返回一个304状态码。简单理解成:客户端访问服务器时,服务器已经执行了GET,但文件未变化。

通俗点来理解:为了提高网站访问速度,服务器给访问过的某些页面设置了缓存机制。当客户端请求这些页面时,服务器将根据缓存的内容判断页面是否更新过,如果页面未更新过,它就会返回一个304状态码,这时客户端直接调用缓存的内容,而不必进行第二次调用及下载。

综上所述,304状态码代表了客户端请求的内容没有变化,严格来说这并不是一个错误。而且,304状态码在一定程度上起到了降低服务器带宽、提高网站访问速度及蜘蛛爬行效率的作用。

912e2e2fae5d50ffd495217002984b66.webp2、304状态码对SEO的影响有哪些?0e23828cf735319f9c1db22f388cc8b9.webp

从理论上讲,304状态码不同于404错误,所以出现在网站任何页面都不会受到搜索引擎惩罚或降权,但是如果网站页面长时间出现大量304状态码,就会影响搜索引擎的信任度,从而产生不利的影响。可能导致出现以下现象:

(1)搜索引擎(如百度蜘蛛)的抓取频率及次数下降;

(2)页面内容收录速度变慢,甚至出现不收录现象;

   (3)网站快速更新速度迟缓,甚至停止更新快照;

 (4)网站关键词排名逐步下降,影响网站权重也下降;

912e2e2fae5d50ffd495217002984b66.webp3、如何从网站日志中分析304状态码?0e23828cf735319f9c1db22f388cc8b9.webp

分析304状态码,首先要从服务器上导出网站日志,然后打开网站日志找到下面的内容:

2020-12-01 23:45:33 W3SVC7499849XX 61.145.116.XX GET /douyin/1112.html - 80 -123.125.71.78Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://***.baidu.coX/search/spider.html) 304 0 0

这一串数字解读如下:

2020-12-01 23:45:33 ——代表访问的日期和时间;

W3SVC7499849XX ——代表虚拟主机的名称;

61.145.116.XX ——代表访问IP;

GET ——代表访问的方法;

/douyin/1112.html——代表具体访问的文件;

80 ——代表访问的端口;

123.125.71.78 ——代表来源IP;

Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://***.baidu.coX/search/spider.html) ——代表访问来源;这里是代表百度蜘蛛。注*换为w

304——304返回码。表示客户端已经执行了GET,但文件未变化;

前一个0 ——代表服务端传送到客户端的字节大小;

后一个0 ——代表客户端传送到服务端的字节大小;

备注:从这段日志看出,这次百度蜘蛛访问的结果返回了一个304状态码,那么搜索引擎就不会对我们的页面进行再次抓取了。

912e2e2fae5d50ffd495217002984b66.webp4、导致返回304状态码的原因有哪些?0e23828cf735319f9c1db22f388cc8b9.webp

经过分析总结,可以看出导致返回304状态码的原因有以下3点:

(1)页面更新周期长或不更新

如果页面内容更新周期长甚至不更新,静态页面基本都是直接返回304状态码,即便是动态页面也会因为内容不变出现返回304状态码的问题。

(2)CDN缓存未同步更新

当网站页面内容更新后,设置的CDN缓存没有同步更新时,也会出现返回304状态码的情况。

(3)纯静态页面或强制静态html生成

如果网站有大量的纯静态页面,或者强制生成静态html,就会出现客户端请求时、服务器返回304状态码的情况。

912e2e2fae5d50ffd495217002984b66.webp5、304状态码怎么解决?

当发现服务器返回304状态码时,首先分析导致返回304状态码的原因是什么,找到真正原因后再制定具体的解决方案,这样才能精准快速解决304状态码的问题。

分析导致返回304状态码的原因时,可以问自己下面7个问题,便于更准确的找到问题所在。

(1)哪些页面返回了304状态码?

(2)这些页面应该返回304状态码吗?

(3)这些页面的内容更新过吗?

(4)网站的CDN缓存同步更新了吗?

(5)这些页面的生成方式是什么?

(6)这些页面设置更新机制了吗?更新机制是否与蜘蛛抓取网站的频率一致?

(7)这些页面更新区域的位置合理吗?是否位于页面主要内容的承载区域?

通过分析返回304状态码的原因,我们就不难找到解决304状态码的办法,建议可以从以下几个方面着手:

(1)及时定期更新页面内容

建议制定一个周期性更新内容的计划,并严格按照计划执行,并根据更新后的效果进行调整。如果网站栏目/频道比较多,就需要兼顾多个栏目/频道更新的覆盖率,不要只按着一个栏目持续更新、冷落了其他栏目。例如:1个大中型网站,有10个栏目页或频道页,可以计划每个栏目每天更新10篇,一天下来共更新100篇。

在此强调一下:网站更新内容不仅要迎合搜索引擎(如百度蜘蛛),还要注重可读性及用户体验,因为搜索引擎给不给排名及排名变化是根据用户行为路径衡量的,所以更新网站内容既要注重数量、更要注重质量。

(2)同步更新CDN缓存

为了提高网站访问速度及降低服务器带宽,一般大中型网站都设置了CDN缓存,当网站页面内容更新后、记得要同步更新下CDN缓存。当然,我们可以设置CDN自动更新时间,到了时间CDN缓存自动更新。

(3)注重网站结构设计

在策划网站页面或改版网站页面时,一定要注重网站结构设计,确保每个页面每个列都能调取展示新内容及自动更新随机内容。可以在页面上添加交互功能,比如评论,用户发送内容的同时促进了页面内容的更新。

0e23828cf735319f9c1db22f388cc8b9.webpEND
今天就分享到这~我是李雨泽,一个深爱着产品和运营的斜杠青年,励志做一个懂产品的运营能手、懂运营的产品高手~

(文章为原创,如转载请注明出处,学习的路上我们相伴,从此不再无助和孤单!)


浏览 179
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报