WordPress 会自动帮我们生成很多存档页面,有时候,这些存档页面是有用的。有时候,这些存档页面会生成很多重复内容和不必要的页面,这可能会对 SEO 效果造成一些影响。如果存档页面没有特殊的用途,我们可以移除这些存档页面,以帮助提升 SEO 效果。
WordPress 中默认的存档页面
默认情况下, WordPress 会为我们生成以下存档页面:
分类存档
标签存档
作者存档
日期存档
文章格式存档(如果主题支持文章格式的时候)
搜索结果存档 (搜索结果页面)
如果我们添加了自定义文章类型和自定分类方法,WordPress 还会为我们生成:
文章类型存档
分类法项目存档
分类目录存档
如果我们的网站没有使用分类组织内容,所有的文章将被自动添加到 “未分类” 分类目录,这个默认分类目录的存档页面是 http://yourwebsite.com/category/uncategorized,而这个分类目录存档页面的内容将和首页或博客页面的完全一样,这就造成了重复内容的出现。
当然,在某些站点中,WordPress 的分类目录是非常有用的。如果使用恰当,对丰富我们的站点是非常有帮助的。
标签存档
有时候,人们会使用大量的“通用”标签,从SEO的角度来看,这些标签是没有意义的,但是标签可以用一种很灵活的方式将文章关联起来,并将相关内容显示到某个文章中。这意味着您可以在后台继续使用标签,而在前端避免显示标签链接和标签归档页面。
作者存档
当我们的网站有多位作者,并且需要为每个作者生成一个文章作品存时,作者存档是一个很有用的功能,而如果网站只有一个作者,和只有一个分类的情况一样,显示作者存档会为我们的站点生成重复内容,影响 SEO 效果。
日期和文章格式存档
如果我们的网站不是经常更新,日期存档和文章格式存档的意义也不大,用户需要查看什么文章,直接搜索就可以了。
移除不必要的存档页面的方法
下面的代码为我们移除了分类、标签、日期和作者存档,直接粘贴到主题的 functions.php 里面即可,如果不想移除某些类型的存档,直接删除判断语句里面的条件即可。
/* 移除不必要的存档页面 */ add_action('template_redirect', 'meks_remove_wp_archives'); function meks_remove_wp_archives(){ //If we are on category or tag or date or author archive if( is_category() || is_tag() || is_date() || is_author() ) { global $wp_query; $wp_query->set_404(); //set to 404 not found page } }
当然,除了完全移除这些存档,我们还可以通过设计“noindex” 标签来让 WordPress 忽略这些存档,相对于设置 noindex 的方法,我本人更偏向与本文中介绍的方法,减少一些不必要的页面,也可以让用户介绍一些困惑,少即是多。