或者

404页面详解

作者:月光边境 浏览:172 发布时间:2017-08-21
分享 评论 0

先说一下什么是404?

  网站404是服务器对ua请求一个不存在或已删除页面返回的一个"状态码", 判断一个404页面不是看它长的像不像404页, 而是要看返回码, 所以谷歌里面有个"软404"的概念.

  更多网页返回码的意思请自行度娘.

  404页面的重要性

  404不重要吗? 我觉得很重要, 如果要写一个网站最先做的部分我的建议就是记录错误页面功能, 为什么呢? 记录/发现并及时改正错误是一个网站正常运行的基础. 当然我们也可以通过查看网站日志来找到这些错误.

  404对搜索引擎的影响比较大, 搜索引擎检查到某个页面返回404代码就会不会收录这个页面, 如果是已经收录的页面蜘蛛在重新抓取的时候发现返回404就会从搜索引擎中删除这个已经收录的页面.

  合理的设置404页面有利于增加网站体验

  对于用户: 一个比较好的404页面引导可以避免用户流失降低跳出率, 这里要注意, 有的朋友在返回404码的同时做了转跳, 这时候ua获取到的可能会是302或200等代码, 请用返回码工具检查, 正如上面我所提到的, 404是个返回码, 而页面的呈现样式可以是五花八门的.

  对于搜索引擎: 搜索引擎不会收录404码的页面; 对于已经收录的页面搜索引擎再次抓取发现返回404会删除这个已经收录的页面. 如果网站突然出现大量的404页面请用百度站长平台的删除死链工具提交死链, 以免影响蜘蛛对网站的体验.

  怎样找出网站中的404错误?

  1. 最直接的方法: 查看网站的访问日志;

  2. 如果网站有记录404的统计可以方便很多.

  对于网站中大量404死链的解决:

  如上面我们提到的, 大量404影响用户和搜索引擎的体验, 提交死链删除很有必要.

  收集死链是个复杂的问题, 目前百度还没有通配符的方式提交死链.

  · 如果站点同目录下的死链可以根据死链的url规则来判断并找出这些死链;

  · 对于泛域名解析导致的死链, 每个泛域名都是一个相对独立的站点, 少量的收录可以用手工的方式来收集, 但是大量收录只能借助第三方工具从百度都搜索引擎中抓取出来.

  404页面设置举例:

  以php为例, 用.htaccess自定义一个404页面

   RewriteEngine on

   RewriteBase /

  ErrorDocument 404 /404err.php

  那么在这个404err.php页面里面我们可以设置成自己想要的界面, 并统计记录错误页的URL,方便我们查看并解决问题.

  <?php

  header('HTTP/1.1 404 Not Found');

  header("status: 404 Not Found"); //返回404错误

  //注意这里不要用header("Location...")转跳,否则返回码是302而不是404

  ?>

  <html>

  ....这里弄上要显示的界面

  </html>

  对于改版导致的死链

  改版导致旧的url失效, 这时候需要用正确的方法来处理, 用301永久转跳到新的url 可以把我们从搜索引擎的损失降到最低, 在站长平台里的改版工具里面把新旧url提交, 以确保旧的url收录权重转移到新的url上. 要注意301对搜索引擎来说需要很长一段时间去更新, 所以301转跳要保持很长一段时间.

  养成查看网站日志的习惯很重要.

  以发现的实际案例为例:

  某客户网站用.htaccess对网站的url重写, 百度抓取并能够成功收录, 但是在检查网站日志中发现了大量百度蜘蛛重新抓取时返回404页面, 仔细检查发现对url重写的时候没有对转码进行设置, 导致斜杠等参数被转码后不能正确识别所以返回404, 知道问题的所在也就可以顺利解决.