wordpress笔记:说一说404页面以及最新可用的404延迟跳转代码!

写在前面——

关于404页面跳转尚有争议,一部分人从SEO角度认为不应该进行404跳转,因为,当搜索引擎在请求某个错误URL地址得到“404”状态回应时,即知道该URL地址已经失效,便不再索引该网页,并向数据中心反馈将该URL地址表示的网页从索引数据库中删除,而进行404跳转这会让搜索引擎误认为当前页面仍然存在,导致搜索引擎抓取该网址,并将其内容编入索引,因为除了301跳转以外的跳转都无法实现【搜索引擎能够识别的跳转】,最后会给跳转到的页面产生大量的不同的链接,链接不同,内容却相同,最终被搜索引擎认为该页面大量重复,收录减少,导致被“K站”。而另一方面,有些人则认为,从用户角度来看,做404跳转对用户更有友好,可以将用户引导至有效的页面,从而留住用户。当然,如果该用户是在寻找明确的特定信息时,这种跳转并不会有什么帮助。
目前来看,一个比较可行的方案就是进行404【延迟】跳转,而不是直接跳转,延迟跳转的时间应该为10秒或10秒以上,这么做的根据在于百度自己的产品“百度知道”就对404页面进行了延迟跳转,“百度知道”的延迟时间为15秒。延迟跳转既实现正确的返回给搜索引擎404错误的信息,同时又实现了对用户的主动引导。


  • 延迟代码

当然,是否进行404页面跳转还请自行斟酌,同时,网上搜到的404跳转教程大多年代久远,而且并没有任何效果,所以仲夏在这里分享出最新正确可用的404延迟代码:

<?php if(is_404()){ ?>
<meta http-equiv='refresh' content=12;URL="<?php bloginfo('url'); ?>">
<?php } ?>

将上面的代码插入【主题页眉 (header.php)】文件中第一个【<head>】下面。其中代码第二行的数字“12”是延迟跳转的秒数,可以自己修改,记住,要设置在10秒或10秒以上。

  • 向搜索引擎蜘蛛正确返回404标识代码

打开主题根目录的404.php文件,在第一个<head>上面插入如下代码:

<% Response.Status = "404 Not Found" %>

但是这样插入之后,在404页面顶部会显示【<% Response.Status = “404 Not Found” %>】这行代码,影响美观,如果不想显示,可以将这行代码设置成404页面背景色一致的颜色,例如,我的404页面是白色,则代码如下:

<span style="color: #ffffff;"><% Response.Status = "404 Not Found" %></span>

一般主题中都会自带404模板,不再需要额外创建404页面,所以将修改过的【主题页眉 (header.php)】文件保存更新之后,应该就已经生效了。


  • 验证

通过“HTTP状态码(HTTP Status Code)”在线检测工具来进行验证:

  1. 进入中国站长平台【http://tool.chinaz.com/pagestatus/
  2. 在输入栏输入一个你当前主机或服务器上不存在的地址,例如【http://zhongxia.me/666
  3. 点击【查看分析】按钮,等待测试结果
  4. 返回状态码显示【404】,则设置成功

  • 结尾彩蛋

  1. 现在很多站长喜欢把404页面设置成一整张图片,甚至是占满整个屏幕,这么做确实是好看了些,但是,你有没有想过,404页面如果访问量大的情况下,将造成不必要的流量浪费,而且有可能影响网站的稳定,所以,仲夏在这里给出的建议是可以放图,但是要严格控制图片的大小;
  2. 404页面也是一个很好的展示机会,通过设置关键词链接、网站目录,会有意想不到的效果;
  3. 另类玩法也可以放广告。当然,这里需要注意的是,如果你使用的是某个联盟的广告,那么,请仔细查看协定,一般情况下,联盟的广告是不允许投放在没有实质内容的页面上的,这点要注意。
  4. 最后的最后,根据你网站的内容风格,可以选择放公益广告,是的,毕竟我们都希望世界更美好~

更新补遗

2016年12月31日   【向搜索引擎蜘蛛正确返回404标识代码】;

2019年8月27日  目前仲夏博客已经弃用404延迟跳转代码,因为仲夏觉得一个明确、固定的404页面,可以清楚的告知访问者“此页面不存在”,强行跳转至首页或其他页面,会给访问者造成混乱。

仲夏博客 © zhongxia.me