1、导致返回304状态码的原因有哪些?
(1)页面更新周期长或不更新
如果页面内容更新周期长甚至不更新,静态页面基本都是直接返回304状态码,即便是动态页面也会因为内容不变出现返回304状态码的问题。
(2)CDN缓存未同步更新
当网站页面内容更新后,设置的CDN缓存没有同步更新时,也会出现返回304状态码的情况。
(3)纯静态页面或强制静态html生成
如果网站有大量的纯静态页面,或者强制生成静态html,就会出现客户端请求时、服务器返回304状态码的情况。
2、304状态码怎么解决?
(1)哪些页面返回了304状态码?
(2)这些页面应该返回304状态码吗?
(3)这些页面的内容更新过吗?
(4)网站的CDN缓存同步更新了吗?
(5)这些页面的生成方式是什么?
(6)这些页面设置更新机制了吗?更新机制是否与蜘蛛抓取网站的频率一致?
(7)这些页面更新区域的位置合理吗?是否位于页面主要内容的承载区域?
通过分析返回304状态码的原因,我们就不难找到解决304状态码的办法,建议可以从以下几个方面着手:
(1)及时定期更新页面内容
建议制定一个周期性更新内容的计划,并严格按照计划执行,并根据更新后的效果进行调整。如果网站栏目/频道比较多,就需要兼顾多个栏目/频道更新的覆盖率,不要只按着一个栏目持续更新、冷落了其他栏目。例如:1个大中型网站,有10个栏目页或频道页,可以计划每个栏目每天更新10篇,一天下来共更新100篇。
在此强调一下:网站更新内容不仅要迎合搜索引擎(如百度蜘蛛),还要注重可读性及用户体验,因为搜索引擎给不给排名及排名变化是根据用户行为路径衡量的,所以更新网站内容既要注重数量、更要注重质量。
(2)同步更新CDN缓存
为了提高网站访问速度及降低服务器带宽,一般大中型网站都设置了CDN缓存,当网站页面内容更新后、记得要同步更新下CDN缓存。当然,我们可以设置CDN自动更新时间,到了时间CDN缓存自动更新。
(3)注重网站结构设计
在策划网站页面或改版网站页面时,一定要注重网站结构设计,确保每个页面每个列都能调取展示新内容及自动更新随机内容。可以在页面上添加交互功能,比如评论,用户发送内容的同时促进了页面内容的更新。