WordPress 404 和权威链接

Google Webmaster 的日志跟软404代码说再见中建议:不要使用软404代码,因为它返回的是200响应代码,然后出现一个错误信息页面,这样可能会对对用户和搜索引擎造成困惑,所以我们让404页面应该返回硬404代码。下面我就说说如何让 WordPress 404页面返回硬404代码。

首先对于 WordPress 来说它有一个权威 URL(Canonical URL)的概念,可以帮你避免一些 404 问题,导向正确的页面。

比如博客地址为 http://blog.wpjam.com/,那么你可以通过下面的链接访问你博客的首页。

  • http://blog.wpjam.com/
  • http://blog.wpjam.com/index.php/
  • http://blog.wpjam.com?paged=1
  • http://blog.wpjam.com/?paged=1
  • http://blog.wpjam.com/page/1/

你甚至可以通过这个链接访问到你博客首页

  • http://blog.wpjam.com/index.php/////page/1///////?paged=1

而对于日志页面,比如你使用了永久链接,你的某一篇日志的 URL 为:http://blog.wpjam.com/2008/09/04/creating-a-menu-showing-certain-categories/,它的 POST ID 为 1645。那么你可以通过以下链接访问到这篇日志:

  • http://blog.wpjam.com/2008/09/04/creating-a-menu-showing-ce
  • http://blog.wpjam.com/2008/09/04/creating-a-menu-showing-ce/
  • http://blog.wpjam.com/index.php/2008/09/04/creating-a-menu-showing-ce/
  • http://blog.wpjam.com/index.php/2008/09/04/creating-a-menu-showing-ce
  • http://blog.wpjam.com/?p=17
  • http://blog.wpjam.com/index.php?p=17

WordPress 提供了404自定义页面,我们可以通过编辑主题下面的 404.php 实现自定义。在默认情况下, WordPress 404页面返回的代码是200。为了让搜索引擎如 Google 能正确爬这些页面,最好在你主题的 404.php 添加以下两行:


<?php header("HTTP/1.1 404 Not Found"); ?>
<?php header("Status: 404 Not Found"); ?>

对于某些情况,你可能还要在上面两行代码之前添加以下代码:


<?php ob_start(); ?>

最后推荐一个这方面的插件 AskApache Google 404 Plugin

标签:

热门文章