什么是404页面 404页面就是当用户访问一个网站,因为网址不存在或用户输入地址错误,导致无法正常访问网址,网站会返回给用户一个404页面,告诉用户该网址不存在
404页面就是当用户访问一个网站,因为网址不存在或用户输入地址错误,导致无法正常访问网址,网站会返回给用户一个404页面,告诉用户该网址不存在请阅读其他网页。404页面设置以后的好处,提高网站在搜索引擎中的权威性。
404页面产生原因
用户访问网站上不存在的页面时,服务器通常应该返回404错误。如果站长没有在服务器端设置客制化的404页面,用户浏览器显示的将会是一个默认错误页面,这样的错误页面用户体验肯定不会好。所有的主机都提供客制化404页面的功能,站长应该充分利用。
由于种种原因,网上任何地方都可能出现指向你的域名却写错目录或文件名的URL,搜索引擎蜘蛛会跟踪这种错误URL,访问不存在的页面。当页面不存在时,一定要返回404代码。
自定义404错误页面是增强用户体验的很好的做法,但在应用过程中往往并未注意到对搜索引擎的影响,譬如:错误的服务器端配置导致返回“200”状态码或自定义404错误页面使用MetaRefresh导致返回“302”状态码。正确设置的自定义404错误页面,不仅应当能够正确地显示,同时,应该返回“404”错误代码,而不是 “200”或“302”。虽然对访问的用户而言,TTTP状态码竟是“404”还是“200”来说并没有什么区别,但对搜索引擎这则是相当重要的。
搜索引擎蜘蛛请求某个URL时得到“404”状态回应时,即知道该URL已经失效,便不再索引该网页,并向数据中心反馈将该URL表示的网页从索引数据库中删除,当然,删除过程有可能需要很长时间;而当搜索引擎得到“200”状态码时,则会认为该url是有效的,便会去索引,并会将其收录到索引数据库,这样的结果便是这两个不同的url具有完全相同的内容:自定义404错误页面的内容,这会导致出现复制网页问题。轻则被搜索引擎降权,重则会K掉网站。
为什么要做好404页面
1.提高用户体验。当客户在点击你网站的时候,出现一些错误,在404页面上添加主站链接,能更好的挽留住你的客户
2.同时也可检查请求的链接来生成页面。
比如一篇文章可能因为编辑的失误没有生成静态页面。那实际文章内容是存在的但是因为不存在文件那设置个性404页面的话可以通过检查获取文章ID然后匹配合法直接生成文件,然后跳转到目标页面。当下次再访问就不会出现404的情况。不管是从SEO角度还是从用户角度都是不错的。
404页面对seo的影响
自定义404错误页面是提供用户体验的很好的做法,但在应用过程中往往并未注意到对搜索引擎的影响,譬如:错误的服务器端配置导致返回“200”状态码或自定义404错误页面使用Meta Refresh导致返回“302”状态码。正确设置的自定义404错误页面,不仅应当能够正确地显示,同时,应该返回“404”错误代码,而不是“200”或“302”。虽然对访问的用户而言,HTTP状态码究竟是“404”还是“200”来说并没有什么区别,但对搜索引擎而言,则是相当重要的。
1、自定义404错误页返回“200”状态码
当搜索引擎蜘蛛在请求某个URL时得到“404”状态回应时,即知道该URL已经失效,便不再索引该网页,并向数据中心反馈将该URL表示的网页从索引数据库中删除,当然,删除过程有可能需要很长时间;而当搜索引擎得到“200”状态回应时,则会认为该url是有效的,便会去索引,并会将其收录到索引数据库,这样的结果便是这两个不同的url具有完全相同的内容:自定义404错误页面的内容,这会导致出现复制网页问题。对搜索引擎而言,特别是Google,不但很难获得信任指数TrustRank,也会大大降低Google对网站质量的评定。(为什么会出现返回“200”状态码的情况??请参看下面内容“自定义404错误页面的基本原则”)
2、自定义404错误页使用Meta Refresh返回“302”状态码
常常看到许多网站的自定义404错误页面采取类似这样的形式:首先显示一段错误信息,然后,通过Meta Refresh将页面跳转到网站首页、网页地图或其他类似页。根据具体实现方式不同,这类404页面可能返回“200”状态码,也可能返回“302”,但不论哪种,从SEO技术角度看,均不是一种合适的选择。
对“200”状态的情况我们上面已经谈过,那么,当404页面返回“302”时,搜索引擎会怎么对待呢?从理论上说,对“302”错误,搜索引擎认为该网页是存在的,只不过临时改变了地址,仍然会索引收录该页,这样,同样会出现类似于“200”状态码时的重复文本问题;其次,以google为代表的主流搜索引擎对302重定向的适用范围要求越来越严格,这类不当使用302重定向的情况存在很大的风险。
确保自定义404错误页面能够返回“404”状态码
在自定义404错误页面设置完毕后,一定要检查一下其是不是能够正确地返回“404”状态码。可以使用Server Header检查工具,输入一个不存在网页的url,查看一下HTTP Header的返回情况,确信其返回的是“404 Not found”。
如何实现良好的404页面
遵循的理念:
提供简明的问题描述,消除访客的挫败感。
提供合理的解决方案,辅助访客完成访问目标。
提供个性化的友好界面,提升访问体验。
实现方式(按照从简单到复杂的顺序排列):
使得访客转到某个地方而不是后退。
页面包含该站点重要部分的链接,如主页或站点地图。不要仅仅告诉他们检查拼写。使用文本的链接替代图片,因为有许多访客不会想到点击这个图片。
例子:我们的站点有一个主页的返回链接。这是实现友好反馈的最低限度。
此外,我们还会考虑,在有效的帮助信息不足的情况下,如何通过访客的反馈弥补错误。
需要包括一个指向网站管理员的email链接,或者一个用于提交丢失链接的表格。
相对于发送email,访客更喜欢使用提交表格。
加入一个搜索框用于搜索站点。
例:MSN在所有页面的底部都有一个搜索框,同时也链向站点的重要部分。
在站点中列出接近于访客期望页面的链接,用于推测访客正在寻找的页面。
你不需要采纳上述所有的建议,但是这些建议一致服务于使得访客更愿意停留在你的站点的目的。
合理的404错误页面至此即可以完成了,这将给访客提供许多有价值的信息。
如何制作404页面
一、 Apache下设置404
为Apache Server设置 404错误页面的方法很简单,只需:
(1)在.htaccess 文件中加入如下内容:ErrorDocument 404 /notfound.php,将.htaccess文件上传到网站根目录。
(2)制作一个404页面,随便您设计,命名为notfound.php,同样上传到网站根目录。
注意:
(1).切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失。
(2).切记不要使用绝对URL,如果使用绝对URL返回的状态码是302+200。
二、 IIS/.net设置404
首先,修改应用程序根目录的设置,打开 web.config文件编辑,在其中加入如下内容:
以下为引用的内容:
<configuration>
<system.web>
<customErrors mode=On defaultRedirect=error.asp>
<error statusCode=404″ redirect=notfound.asp />
</customErrors>
</system.web>
</configuration>
注:上文例中error.asp为系统默认的404页面,notfound.asp为自定义的404页面,使用时请修改相应文件名。
然后,在自定义的404页面notfound.asp中加入:
以下为引用的内容:
<% Response.Status = 404 Not Found %>
这样,便可以保证IIS能够正确地返回404状态码.
编辑本段404制作设置注意事项
1.不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失
2.不要使用绝对URL,如果使用绝对URL返回的状态码是302+200
3.404页面设置完成,一定要检查是否正确。但http头信息返回的一定要是404状态。这主要是对搜索引擎有关系,因为如果你网站产生较多页面时候但搜索引擎看到的是很多一样的正常页面,有可能会误被认为作弊。
4.404页面不要自动跳转,让用户来决定去向。这涉及到404页面的制作,提供用户体验很重要,404页面制作很有学问。 <% found="" not="" response.status="404">
这样,便可以保证IIS能够正确地返回404状态码.
编辑本段404制作设置注意事项
1.不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失
2.不要使用绝对URL,如果使用绝对URL返回的状态码是302+200
3.404页面设置完成,一定要检查是否正确。但http头信息返回的一定要是404状态。这主要是对搜索引擎有关系,因为如果你网站产生较多页面时候但搜索引擎看到的是很多一样的正常页面,有可能会误被认为作弊。
4.404页面不要自动跳转,让用户来决定去向。这涉及到404页面的制作,提供用户体验很重要,404页面制作很有学问。
注意事项
1、不使用专业术语
“404错误”这个词的使用一直非常规范,但这并不是你使用专业术语吓跑访客的理由。“找不到网页”这个说法相比来说更准确也更易于接受。
2、不要责备访客
你的访客很有可能是从其他网站链接或者是你网站上一个旧链接而来。看到这个错误页面并不是他们的错,所以要善待他们。撰写的措辞要充满歉意并尽量提供有益的帮助,而不是一些让访客们感到糟糕的文字。
3、提示访客检查拼写
还有一个可能:访客看到404错误页面是由于他们自己在输入URL网址时出现了拼写错误。提示访客检查他们的拼写,但不要失礼。就像我们在上面提到的,你的措辞不要让访客们感到你是在责备他们。
4、让页面返回404
每个网页都有一个服务器响应代码。 代码200是指页面一切正常,404则是指页面无法被找到。如果你已经指定了自定义的404错误页面,则需要确保页面的标题是返回正确的响应代码。有几种不同的方法可以做到这一点,最简单的就是用你的htaccess文件来指定错误页面。
5、明确表明404
清楚地向访客声明他们正在搜寻的页面无法找到,且不要让错误页面看起来与正常的内容页(如加入过多的文本和链接)太过相似。你是想要表明这是一个错误页面,所以就不要羞于向访客们声明这一点。
6、帮助访客
404错误页面已经呈现在访客面前,表明这个页面并不是他们正在搜寻的。所以你应该设法帮助他们找到原来的页面。确保你的错误页中包含一个选项来协助用户寻找他们想要的页面,甚至可以包括最近有过更改的页面的链接。
7、放置网站主页链接
不要让访客无处可去或是无法找到你的网站信息。至少应该有一个链接链回你的网站主页。这样一来,从其他网站链接而来的访客就可以了解你以及你的网站,甚至他们可能在你的网站中找到一些他们喜欢的内容。
8、访客方便反馈信息
如果访问者点击了你网站上的一个错误链接,你会想了解这个链接故障。如果通过404页面给他们提供一个反馈信息的便捷方式,让他们可以报告这个故障以便你去解决。这只需要一个非常简短的形式来提示访客告诉你他们来自哪个页面及哪个链接。通过这个方法,你可以获取到所有你需要的信息。 访客们可能依然因为无法找到他们想要的页面而感到困惑和烦恼,因此给他们一个发泄不满的地方,同时也给你一个做出回应并提供帮助的机会。这很可能会为你挽回一个潜在客户。
9、保持品牌风格
我们都看过非常酷的“让访客发现一个巨大的“复活节蛋”“的错误页面的设计案例。但千万不要使这个页面的设计与你网站的其他页面相差太大,否则会看起来这个页面不像你网站的设计,会让访客产生疑惑,误以为自己已经被带到了一个外部网站。
10、语言版本
如果你的网站是多语种的,404错误页面将从你所有语言版本的网站中获取错误信息。无论你想要显示任何信息,都需要将其翻译成各个语言版本,使每个人都能理解。同时还需提供一个链接返回到访客所对应的语言版本的网站。
11、让访客搜索想要的
如果访客正在访问的页面已被移动,你可能想给他们一个途径来搜索页面被移动到了何处,可以考虑在页面增加一个搜索框。
12、修复你的无效链接
如果你得到的数据显示有大量的访客访问您的404页面(检查你的网站的分析数据来确定数量),这表明你的网站上有很多无效链接。你完全可以通过修复这些链接来阻止访客进入404页面。像SiteBeam和Nibbler这样的网站测试工具可以帮助检查是否有无效链接,使你能够迅速找到并修复他们而不必等待别人来告诉你。
13、不要重定向到主页
一些404错误页面会立刻重定向到网站主页,这样做非常不好。你的访客不知道他们已经链接到了错误的页面,而且他们会感到困惑因为被无缘无故地链回到了网站主页。