WordPress主题模板优化技巧之nofollow篇

2012/08/22

从今天开始,点金主题网推出wordpress主题模板优化技巧。稍微知道一点SEO的网友都知道大量重复的页面内容被搜索引擎索引,是很危险的事情。而wordpress本身对重复内容的控制是比较弱的,辛好我们找到了几个方法去处理这个问题。其中之一就是nofollow。最开始nofollow是用来控制权重分散的技术,例如有人不想让权重分散到友情链接的页面,就可以通过rel=”nofollow”来控制。现在我们使用nofollow来控制重复内容。

一、元noindex和nofollow标签

元 nofollow标签位于wordpress页面的<head>区,例如在你的博客 “header.php” 文件内,你可能会发现下面的代码:


<meta name="googlebot" content="index,archive,follow" />
<meta name="msnbot" content="all,index,follow" />
<meta name="robots" content="all,index,follow" />

这段代码告诉搜索引擎特别是谷歌,必应和其它复杂的搜索引擎,所有的页面都是被索引的,跟进的和归档的。反过来,我们可以告诉搜索引擎不要索引、不要跟进和不要归档。一般情况下,我们都希望我们的主要内容出现在搜索引擎的结果中。而另一些重复的内容不希望出现,所以我们可以通过下面的代码进行控制:


<meta name="googlebot" content="noindex,noarchive,follow" />
<meta name="robots" content="noindex,follow" />
<meta name="msnbot" content="noindex,follow" />

这告诉搜索引擎,不要包括我的页面在搜索引擎中,与此同时告诉他们要跟进页面,也就是说在我们不索引的页面中有链接,跟进这些链接,也就是让蜘蛛沿着超级链接进行爬行。

同样的道理,我们也可以告诉搜索引擎完全不理会我的页面:


<meta name="googlebot" content="noindex,noarchive,nofollow" />
<meta name="robots" content="noindex,nofollow" />
<meta name="msnbot" content="noindex,nofollow" />

因此,通过这些元标签技术,我们可以较好的仿制重复内容被索引、归档和跟进。在 “header.php” 文件中,可以通过条件语句来控制。下面的代码是个不错的选择:

<?php if(is_home() && (!$paged || $paged == 1) || is_single()) { ?>
 <meta name="googlebot" content="index,archive,follow,noodp" />
 <meta name="robots" content="all,index,follow" />
 <meta name="msnbot" content="all,index,follow" />
<?php } else { ?>
 <meta name="googlebot" content="noindex,noarchive,follow,noodp" />
 <meta name="robots" content="noindex,follow" />
 <meta name="msnbot" content="noindex,follow" />
<?php } ?>

上面的代码的意思是首页、文章页全部索引和跟进,而其它的就不要。

二、如果控制wordpress主题模板单页面

一般情况下,在wordpress主题模板中有single.php这个模板文件,它是用来控制文章显示的。现在的问题是,我们要控制单独一篇文章,而不是整个文章。我们都知道,每篇文章都有一个ID号,这是唯一的。所以我们可以通过这个ID号进行控制:


<?php if ($post->ID == 77) { echo '<meta name="robots" content="noindex,noarchive">'; }

这个77就是文章ID号,修改成你自己想控制的文章ID号。

三、如何控制评论分页在搜索引擎中的显示

在wordpress2.7开始,wordpress支持评论分页。如果评论出现的分页,这就有可能同一篇文章出现在搜索引擎中,这就要可能被判断为重复内容。因此我们要防止出现这样的情况,正所谓“防患于未然”:


// prevent duplicate content for comments
function noDuplicateContentforComments() {
 global $cpage, $post;
 if($cpage > 1) {
 echo "n".'<link rel="canonical" href="'.get_permalink($post->ID).'" />'."n";
 }
}
add_action('wp_head', 'noDuplicateContentforComments');

把上面的代码放进你的函数文件functions.php内即可。

 

发表评论

邮箱地址不会被公开。 必填项已用*标注