整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

如何为你的网站设置404页面

如何为你的网站设置404页面

个好的网站,拥有一个好的 404页面 是标配。

为何要有 404页面?如何设置一个 404页面?

why 404 pages?

在本地,比如我打开 localhost/fuck.htm(该文件不存在),HTTP 返回 404 Not Found,同时页面展示如下:

用户体验很差有木有!更重要的是,如果没有 404页面,会影响 SEO。

为什么说会影响 SEO 呢?

当你的网站有些页面地址(路径)改变了。或者内容被删除了,导致原地址访问本页面时,提示页面不存在。比如说你网站改版,也会导致很多原来存在的页面,访问的时候提示页面被删除或不存在。这个时候就会产生很多死链接,当一个网站死链接过多的时候,对搜索引擎是非常不友好的,影响你的网站整体权重,也对用户体验很不好。

这时候就需要一个 404 页面。这个页面是所有死链接的着陆页,所有打不开的页面都会跳转到这个 404 页面。这个页面包含了你的主要的网站栏目导航。用户在这个页面可以很方便的选择继续浏览你网站别的内容。404 页面设置好以后,通过站长工具状态码检,会返回 404 状态码。如果返回状态码是 200 说明是设置错误(这样结果会造成搜索引擎有可能认为你网站有大量的重复内容,从而网站权重被降),虽然对访问的用户而言,HTTP 状态码究竟是 "404" 还是 "200" 并没有什么区别,但对于搜索引擎则是相当重要的。

404 说白了就是在当前页面上做一个返回首页或者其他页面的一个链接,这个链接一方面告诉搜索引擎我们这个页面已经无效了请 "蜘蛛" 再去爬一次首页吧!这样当蜘蛛爬到死链接(404页面)那里的时候就会自动跑到首页并进行索引,也就是说 404 的出现不仅仅让搜索引擎的数据库更快的删除掉这些死链接,还能让蜘蛛更加勤快的认识新网站,可以说是一举两得。

set 404 pages

笔者总结了两种在 APACHE 中设置 404页面的方法。当然首先你得写好一个 404页面,毕竟本质上这也是个 html 页面,内容就可以集思广益了,比方说可以写个小游戏啊,展示网站其他内容,或者说 404公益,等等。这里我写了个文件把它命名为 404.htm,放在本地服务器的根目录下(localhost/404.htm)。

方法一 —— .htaccess 设置:

第一种方法是在 .htaccess 文件中进行相关设置。

什么是 htaccess?概述来说,htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过 htaccess 文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

关于 htaccess 文件的更多内容可以参考文末链接或者自行谷歌百度。

这文件是不是很奇怪,木有文件名,其实也不奇怪,用过 Git 的话你也肯定见过 .git 文件夹。但是本地服务器下没有该文件啊?在 windows 下从别的文件强制改名转换的话,会提示 "必须键入文件名",so 我们可以用命令行。

打开 cmd,cd 到指定目录后,用如下命令便可创建一个 .htaccess 文件:

echo.>.config

前面说了,htaccess 文件负责相关目录下的网页配置,所以服务器下的任何文件夹都可以有一个自己的 htaccess 文件。这里我们把它放在根目录下。

打开该文件,将以下内容复制进去:

ErrorDocument 404 /404.htm

这时再打开 localhost/fuck.htm,页面内容便会变成 404.htm 的内容,返回 404 状态码,URL 却不会变化。

(PS:如此这般我本地便已经生效,但是有些文章指出还需要在 conf 文件下做一些修改,如果没有生效,可以参考下 这里)

这里有几点需要注意:

  • 一是不能把以上 ErrorDocument 404 /404.htm中的斜杠漏掉,if so 404 页面会显示字符串 "404.htm"
  • 其二是路径不能用绝对地址,比如说用 “http://localhost/404.htm”,这样页面打开无效的链接后,会跳至 “http://localhost/404.htm” 的地址(改变 URL),返回状态码 200,这不仅影响站长工具的检查结果,而且影响 SEO 的收录
  • 其三是不要把 404 错误直接转到网站首页,这将影响网站的收录。有些人可能会有疑惑,搞什么 404页面,404 的时候直接转到网站根文件不是更好,还能给首页导量,naive 啊,搜索引擎也不是吃素的,它会认为你这是 "欺骗",从而就不待见你了。
  • 如果 IE 还是跳不过去,那肯定是你的 404 页面内容太少了,至少需要 512 b(字节) 才能让 ie "臣服",认为你的 404 页面还是有诚意的

方法二 —— vhosts 设置:

假设你跟楼主一样设置过 vhosts。(如果没有,欢迎参考 WampServer下如何实现多域名配置)

接下去就很简单了,打开 vhosts 文件(比如我的路径 \wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf),修改如下:

<VirtualHost *:80> 
    DocumentRoot "c:\wamp\www"
    ServerName localhost  
    ErrorDocument 404 /404.htm
</VirtualHost>

要注意的点同 htaccess 设置要注意的一致。

总结

404 页面是一个成熟的网站必须要有的东西,主要有两个作用,利于用户体验以及 SEO。在 apache 中有两种设置方式,htaccess 和 vhosts,某些文章指出尽量使用后者,前者比较耗费资源。设置中要注意的点请参考第二小节。

 404错误是网站通过浏览器反馈给客户的一种提示页面,告诉访问者当前请求的URL不存在或者链接错误。理论上404页面的出现不但造成了搜索引擎的爬行中断,更破坏了用户体验。

  众所周知,正规SEO的大前提是用户体验,所以解决网站中的链接错误非常重要,除了解决掉链接错误以外,制作一张符合用户体验的404页面,也是对用户体验的一种补救。

  大部分网站的404页面只是默认的页面,一些CMS建站系统虽然有自带404页面,但是基本不符合用户体验的标准。那么要怎么才能建立一个符合用户体验的404页面,同时又符合SEO标准呢?

  首先,制作一张美观的404页面,该页面千万不可有跳转到首页或者其他页面的功能,我们发现许多网站为了用户方便,将404页面做了跳转,这样很容易造成搜索引擎的判断错误,甚至将跳转目的页,比如首页从搜索结果中删除。

  当用户或者搜索引擎访问到一个错误链接时,网站应该反馈一个404的状态码,此时用户电脑就会出现404页面,而搜索引擎则会放弃对该链接的索引。此时,一定要避免错误链接反馈的是202或者302等状态码,这样一来搜索引擎就会对该页面进行索引,如果存在大量错误链接,那么就会索引许多相同的页面,甚至可能造成搜索引擎对网站的惩罚,后果是很严重的。

自定义样式的404页面的配置方法(Apache服务器):

  如果你购买的是虚拟主机,则要先确定是否支持自定义404页面的功能。如果是独立主机则可以自己配置。首先,将制作好的404页面放置在根目录下,文件名可以起404.html或者自定义一个。然后,在空间的根目录下的.htaccess文件中加入代码:ErrorDocument 404 /404.html

(/404.html前面不要带域名,否则反馈的状态码会变成202或者302。)

信我们访问网站的过程中,经常会出现404 not found的情况,如果不做任何的处理,不但界面比较丑、不利于搜索引擎优化,而且用户的体验也很不好,用户一懵B可能就会直接关闭页面,离开你的站点。

网页服务器默认的404页

网站为什么要设置404页面?

当网站上的某些页面路径发生了改变或者内容被删除了,导致原地址访问本页面时,就会提示页面不存在,这样就产生了死链接,当一个网站死链接过多的时候,蜘蛛将无法继续爬行,导致搜索引擎对网站的关注降低,影响你的网站整体权重、收录及排名。

设置404页面的好处

  1. 界面可以自定义,变得美观大方

  2. 可以引流,在404页面放上首页链接,可以把用户拉首页,同样可以让蜘蛛再去爬一次首页,这样不仅仅让搜索引擎的数据库更快的删除掉这些死链接,还能让蜘蛛更加勤快的认识新网站。

  3. ……

自定义的404页面

如何设置404页面

如果你用的虚拟主机,应该可以直接在控制面板中设置404页,如果你用IIS服务器,打开IIS,在“网站属性”中找到“自定义错误”,并将HTTP404错误文件指向一个新建的404.html,我们具体讲一下Apache服务器如何设置404页。

  • 方法一:设置.htaccess文件

htaccess 文件是 Apache 服务器中的一个配置文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

1.新建.htaccess文件

注意这个.htaccess文件没有文件名只有后缀,所以并不能直接在window上通过修改文件后缀获得,我们可以用命令行创建这个文件。

打开 cmd,cd 到指定目录后,用如下命令便可创建一个 .htaccess 文件

echo.>.htaccess

htaccess 文件负责相关目录下的网页配置,我们把它放在根目录下。

2.编辑该文件,将以下内容复制进去

ErrorDocument 404 /404.htm

注意:如果IE浏览器上没有效果,肯定是你的 404 页面内容太少了,至少需要 512 b才能征服它。

  • 方法二:vhosts 设置

如果你设置过vhosts,可以直接打开 vhosts 文件,修改如下:

<VirtualHost *:80>

DocumentRoot "D:\phpStudy\WWW"

ServerName localhost

ErrorDocument 404 /404.htm

</VirtualHost>

第一种方法比较简单但是比较耗费服务器资源,建议用第二种方法。另外,还需要注意两点:1,不要在404页上直接跳转到首页,搜索引擎会直接标记你的行为为违规行为。2,设置好以后最好再检查一遍网页的http状态,如果是200状态,表示这是一个正常页面,会造成大量URL地址都是显示这个页面,搜索引擎会误以为网站上有大量重复的内容,这样可能会造成网站被降权或被K掉。