您现在的位置:首页 » 帮助文档 » P8操作指南 » SEO优化

优化网站设计:避免404错误

什么情况下会发生404错误?

 404 意味着Not Found,意思是说未找到资源。既然如此,那么至少会有两种原因导致404错误:该资源按理说是要有,但我们没有提供。用户按照正常的方式来请求,所以资源找不到。该资源本来就不存在,用户按照不正常的方式来请求,当然还是找不到。

先来看第一种情况吧。

1. 例如每个网站其实默认都应该有一个favicon.ico文件(规定是放在网站的根目录下面),它用来在浏览器中为网站显示一个小图标。这个文件是由浏览器自动请求的,如果找不到,则自然会报告404错误。

2. 还有一种可能性就是,用户之前访问过你的网站,当时某个页面是存在的(比如html/cn/index.html),而且为了访问方便,他将这个页面收藏起来(恭喜你,有人收藏你的网页表明你的网页对他很有用)。但是在某个时候,你的网站由于某些考虑,例如功能合并或者重组等,对html/cn/index.html做了改动,并且重新命名为了html/cn/index.htm。试想一下,如果原先那个用户使用收藏夹里面记录的地址来访问,那么是不是会发生404错误呢?

3. 又或者,你在网页中定义的链接地址,由于疏忽,在发布之前没有检查,导致原来应该链接到html/cn/index.htm的链接,写成了html/cn/index.html,用户在点击链接的时候,同样会收到404错误。

以上三种场景都属于本来应该提供资源,但是我们却没有提供,所以由于此类问题导致的404错误,我们是应该(同时也可以)避免的。

但另外一些情形就可能不容易完全避免了,例如用户就是输入了错误的地址(天知道,他们可能是真的误操作,也可能是故意输错的),因为该资源本来就不存在,所以当然应该是返回404错误。

误操作:用户本来想输入html/cn/index.htm,但却输成了html/cn/index.html故意输错:用户本来就不想好好用你的网站,所以他故意乱输入了一些地址。

 

404错误会有什么影响?

看不到的影响:有时候,404错误发生了,用户可能根本没有感觉到。例如请求favicon.ico文件,或者请求了某个不存在的脚本文件、样式表、图片文件,页面还是会按照正常的方式进行呈现。丢失的脚本文件、样式表、图片文件,会导致页面的某些行为、界面效果出现异常(也可能不是很明显)

最大的问题可能是性能方面的影响。尤其是如果请求一个不存在的脚本文件,因为浏览器在请求脚本文件的时候,即便是返回404,它也会尝试去按照Javascript的方式解析响应中的内容。这无疑会增加很多处理的时间,而因为该文件不存在,所以这些都是无用功。看得到的影响:如果用户请求的某个页面不存在,那么他将收到明确的回应。默认情况下,他将收到一个标准的错误页面(请注意:不少用户会被这个页面吓到)

应该如何尽可能避免404错误的发生

既然了解了404错误发生的场景,那么相应的,我们可以通过一些措施来尽可能避免它的发生:

1、为网站提供favicon.ico。

2、在发布网站前的测试工作中,运行Link checker工具,确保所有链接都是能够访问到的。这个工具是W3C发布的,完全免费,你值得拥有。

3、为了避免用户收藏绝对地址(html/cn/index.html),给后期更新带来隐患。可以考虑在设计阶段采用 Url Rewriting  或者 Routing 等技术来实现更加友好和灵活的地址,以后如果业务逻辑有变化,只需要修改一下路由规则即可。

第三条措施,同样可以尽可能地减少用户手工输入地址出错的机会。

 

如何提供自定义的404错误页面

我们知道,404错误是无法完全避免的。而默认情况下,IIS 服务会提供标准的错误页面(但是,这些页面可能不是那么友好)。所以,为了让你的网站能在出现这种错误的时候,给用户相对较好一些的用户体验,我建议你应该设计自定义的404错误页面。