首页 > 编程笔记

404页面是什么?

404 页面是用户在浏览网页时,服务器无法正常提供信息,或者服务器无法回应,且不知道具体原因所返回的页面,也称为 404 错误页面。

404 错误页面通常是网站目标页面被更改或删除(前面讲解死链接时有所提及),或者是用户所输入的页面地址本身是错误的,由网站服务器反馈回来的提示页面,如图1所示。

新宝库404页面
图1:新宝库404页面

读者可以猛击《404页面常见设计方案》来查阅更多的例子。

404 页面的作用是避免搜索引擎索引死链接而影响收录,避免搜索引擎降低对网站的信任度而降低排名,避免由于配置错误导致大量 404 返回 200 状态码引起降权,提升用户体验。

用户访问网站上不存在的页面时,服务器通常应该返回 404 错误。如果站长没有在服务器端设置自定义的 404 页面,用户浏览器将显示一个默认的错误页面。这样的错误页面用户体验肯定不好。

所有主机都提供自定义 404 页面的功能,应该充分利用。

不能假设页面不存在,搜索引擎就不会爬行这种网址。由于种种原因,网上任何地方都可能出现指向你的域名却写错目录或文件名的 URL,搜索引擎蜘蛛会跟踪这种错误 URL,访问不存在的页面。

404 错误代码

首先要注意的是,当页面不存在时,一定要返回 404 代码。

有的服务器设置有问题,或站长有意在页面不存在时返回 200 状态码,也就是表示页面数据正常,这样将使搜索引擎认为网站上有大量重复内容,多个 URL 正常返回页面,但内容全是一样的。

页面不存在时,不要返回任何转向代码。有的站长觉得既然页面不存在,就将用户 301 转向首页,这也是搜索引擎不友好的设置,会让搜索引擎认为网站上有大量与首页相同的内容。

不要使用 JavaScript 转向或 Meta Refresh 转向,尤其是时间比较短的(如 10 秒钟以下的)Meta Refresh 转向。这些转向都使搜索引擎误认为页面存在,却返回重复内容。

不存在的页面一定要保证正确返回 404 状态码。可以使用站长工具箱中的 HTTP 状态查询工具,任意输入一个自己网站根本不存在的 URL,看看服务器返回的是什么情况。

404 页面对 SEO 的影响

自定义 404 错误页面是增强用户体验很好的做法,但在应用过程中往往并未注意到对搜索引擎的影响,譬如错误的服务器端配置导致返回 404 状态码或自定义 404 错误页面使用 Meta Refresh 导致返回 302 状态码。

正确设置的自定义 404 错误页面不仅应当能够正确地显示,同时应该返回 404 错误代码,而不是 200 或 302。虽然对访问的用户而言,HTTP 状态码究竟是 404 还是 200 并没有什么区别,但对搜索引擎是相当重要的。

搜索引擎蜘蛛在请求某个 URL 时得到 404 状态回应时,即知道该 URL 已经失效,便不再索引该网页,并向数据中心反馈将该 URL 表示的网页从索引数据库中删除,当然删除过程有可能需要很长时间。

而当搜索引擎得到 200 状态码时,则会认为该 URL 是有效的,便会去索引,并将其收录到索引数据库,这样的结果便使这两个不同的 URL 具有完全相同的内容:自定义 404 错误页面的内容,这会导致出现复制网页问题。

出现大量重复内容是致命的,轻则被搜索引擎降权,重则被 K 站。所以使用者不可盲目地简单使用,而要学会如何正确地使用 404 页面。

404 页面的设置方法

1) 虚拟空间设置方法

现在的 IDC 服务商基本都提供 404 设置的功能,直接上传 404 页面文件设置即可。

每个空间商的控制面板都不同,要求的 404 页面的后缀也有所不同,一般为 404.htm、404.html、404.shtml。

2) 在 IIS 下设置 404 页面

在 IIS 管理器中右击要管理的网站,打开 IIS 管理器,单击要设置自定义 404 的网站的属性,然后单击自定义错误选项,选中 404 页面,打开并编辑属性,设置成 URL,在 URL 中填写“/err404.html”,单击“确定”退出,再把做好的 err404.html 页面上传到网站根目录下。

此处在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然将会返回 HTTP 状态码值为 200。

3) 在 Apache 下设置 404 错误页面

在 .htaccess 文件中加入内容 ErrorDocument 404/notfound.php,切记不要使用绝对 URL,如果使用绝对 URL,那么返回的 HTTP 状态码将是 302 或 200。

所有教程

优秀文章