自定义404页面返回不当状态码如“200”等给网站最终SEO效果带来的不利影响,因此,确保自定义的404错误页面能够返回“404”状态码是极为重要的,也是网站优化与SEO的基本要求。
HTTP404对SEO的影响
自定义404错误页面是提供用户体验的很好的做法,但在应用过程中往往并未注意到对搜索引擎的影响,譬如:错误的服务器端配置导致返回“200”状态码或自定义404错误页面使用meta Refresh导致返回“302”状态码。正确设置的自定义404错误页面,不仅应当能够正确地显示,同时,应该返回“404”错误代码,而不是 “200”或“302”。虽然对访问的用户而言,HTTP状态码究竟是“404”还是“200”来说并没有什么区别,但对搜索引擎而言,这则是相当重要的。当搜索引擎蜘蛛在请求某个URL时得到“404”状态回应时,即知道该URL已经失效,便不再索引该网页,并向数据中心反馈将该URL表示的网页从索引数据库中删除,当然,删除过程有可能需要很长时间;而当搜索引擎得到“200”状态回应时,则会认为该url是有效的,便会去索引,并会将其收录到索引数据库,这样的结果便是这两个不同的url具有完全相同的内容:自定义404错误页面的内容,这会导致出现复制网页问题。对搜索引擎而言,特别是 Google,不但很难获得信任指数TrustRank,也会大大降低Google对网站质量的评定。
自定义404错误页使用meta Refresh返回“302”状态码
常常看到许多网站的自定义404错误页面采取类似这样的形式:首先显示一段错误信息,然后,通过meta Refresh将页面跳转到网站首页、网页地图或其他类似页。根据具体实现方式不同,这类404页面可能返回“200”状态码,也可能返回“302”,但不论哪种,从SEO技术角度看,均不是一种合适的选择。对“200”状态的情况我们上面已经谈过,那么,当404页面返回“302”时,搜索引擎会怎么对待呢?从理论上说,对“302”错误,搜索引擎认为该网页是存在的,只不过临时改变了地址,仍然会索引收录该页,这样,同样会出现类似于“200”状态码时的重复文本问题;其次,以google为代表的主流搜索引擎对302重定向的适用范围要求越来越严格,这类不当使用302重定向的情况存在很大的风险。
确保自定义404错误页面能够返回“404”状态码
在自定义404错误页面设置完毕后,一定要检查一下其是不是能够正确地返回“404”状态码。
大家可以下载ieHTTPHeadersSetup.exe安装,这是一个在ie下面显示http头信息的工具,安装时确认关闭所有ie窗口,然后从新启动系统,然后打开ie. 在菜单栏察看下面选择浏览器栏,然后选择,ieHTTPHeaders,ie下面就会出现一个窗口,用来显示http头信息,我们可以通过它看到浏览器和服务器的http信息交流。
IIS/ASP.net下设置404错误页面
首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容:
注:上文例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。
然后,在自定义的404页面“notfound.asp”中加入:
这样,便可以保证IIS能够正确地返回“404”状态码
(四)在IIS/ASP.net下设置404静态页面
设置静态404错误页面的方法则比较简单,在IIS管理器中右键单击要管理的网站,打开“属性”中的“自定义错误信息”页,为“404”设定相应的错误信息页即可。不过,此处在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然,将导致返回“200”状态码。
具体操作如下,删除WINDOWS\Help\iisHelp\common文件夹的所有文件,这些都是iis的默认错误信息文件,并没有什么用,然后在这个目录中添加一个404.htm,内容大致如下
您打开的网页可能更改了地址,请点击下面的链接返回本站首页从新查找
你的网站名字
你的网站名字首页
然后在IIS管理器中右键单击要管理的网站,打开“属性”中的“自定义错误信息”页,为“404”设定你刚才建立的文件。消息类型一定要选择“文件”。然后确定退出
ie浏览器有一个特殊的限制,如果自定义页面小于500字节,就不会显示这个自定义的错误页面,而是显示那个默认的404错误页面,(你一定奇怪,我们不是删除了那个默认的404页面了吗,对了,我们在服务器上删除了,但ie本身也有这个文件别忘了iis和ie都是ms的东西,他们的那个iis错误页面是一模一样的,刚开始也把我迷惑了)ie的这个功能在高级选项里面有个开关,就是那个“显示友好的http错误信息”这个开关默认是打开的,所以,如果自定义的页面太小,我们使用ie根本就看不到自己的自定义页面,ie可能看见404错误,就自动打开自己的错误页面了,但微软也没有把事情做绝,只要自定义的页面大于500字节,ie就认识自定义的页面了,(如果你的自定义页面很小,你可以关闭ie的那个选择测试一下,不过,你不可能要求你网站的访问者都关闭那个选项的)所以,就添加了一份东西,随便填,只要让这个文件够大就行了。最好能把自体颜色弄的和背景一样,这样这个东西就是看不见的,不过也不要紧,这个文件本身就不让人看,它是自动转到别的页面的 这就是