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)注重网站结构设计

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