- 最近谷歌一直都在访问我的页面,我也在忙着做优化,于是在谷歌的开发工具下,看看站点有没有不合理的地方
- 然后在开发工具中发现了一句话
- 1.png
- 这么看好像没什么问题,毕竟我已经设置的404以及其他错误页面,于是就点进去了里面的链接查看发现下面的说明
- 2.png
- 我默默地打开了站点访问了一个不存在的页面,看一下会发生什么
- 3.png
- 4.png
- 发现不存在的页面发生了302,跳转到了错误的页面,返回状态码为200,神奇的200 Not Found
- 等下再说一下这个产生的影响于是我就里面想到了是因为Nginx的配置问题,打开一看果然发现了产生302的原因
- 5.png
- 然后立马把配置改正
- 6.png
- 重启Nginx后,重新访问该页面
- 7.png
- 发现状态码正确了,现在再来谈一谈一般的404状态码的响应方法
- 直接404
- 直接404是常见Web框架的通用做法:对于每一个用户请求遍历所有可能的路由,
- 如果任何一个控制器都不处理该请求,则Web服务器返回一个具有404状态码的HTTP响应
- 404状态码告诉用户代理User Agent请求中的URI所标识的资源不存在
- 用户代理将该HTTP响应的主体往往是HTML显示给用户,
- 该HTML页面是终端用户可读的,通常也会包含Not Found信息,以及一些有用的链接
- 爬虫是一种特殊的用户代理,通常用于搜索引擎。当搜索引擎的爬虫发现某URI返回404状态码时
- 会认为该URI已经失效而不对它进行索引,或者将该URI标识的已索引资源移除
- 所以是网站迁移时,如果一个旧的URI会位于一个新的URI处,应当使用301重定向来告知搜索引擎
- 该资源并未失效只是位置发生变化
- 当我们无法控制服务器返回301时,也可在返回的HTML中使用特殊标记 来告知用户代理这是一个301,这在迁移静态站点时非常有用
- 404的一个问题在于不支持CDN。如果为了提升性能使用CDN服务, 将404.html文件托管到CDN提供商
- 访问该文件显然会返回200状态码。 因为CDN服务器认为你所访问的文件存在
- 重定向至错误页面
- 在我站点是将所有错误重定向至错误页面,比如404.html。 当用户代理访问不存在时服务器返回状态码为200,而不是404
- 这便是神奇的200 Not Found。 200 Not Found显然不符合HTTP语义标准,下面从搜索引擎评价该方法
- 搜索引擎采集网站主要的方式就是经过网站的URL链接中止的,当一个页面Not Found时爬虫并不知情
- 因为它收到的状态码是302。于是跟随重定向并索引了错误页面404.html
- 这意味着该网站会有大量的URL都拥有同样的内容404页面,这样搜索引擎肯定会对你的网站的兴味逐渐削弱
- 以致失去兴味, 网站会因此受到搜索引擎的惩罚而排名下降
- 所以从优化的角度上来看,设计404页面也具有非常重要的作用
【404状态码对网站优化的重要性】
qaq卟言2021-05-7 11:45:15
Seo
开始
完结