现在的位置:首页>wordpress>正文

给你的wordpress博客的分类页面的Read more(阅读全文)和指定分类加上nofollow属性

2013年07月26日 ⁄ 共 1550字 暂无评论

部落在前面的文章中,已经介绍了一些给wordpress博客的一些细节地方加上nofollow属性的方法,比如给wordpress评论者和回复的链接地址加nofollow属性这篇,那么在我们的博客中,还有哪些地方是需要添加nofollow属性的呢,今天部落再来说一个地方,那就是分类页面的Read more(阅读全文)这个地方.

当然,在介绍这个方法前,先来说一说为什么要将Read more(阅读全文)这个标签加上nofollow属性呢,这是因为在我们的分类页面上,会同时出现两个地址一样的链接,为了避免搜索引擎重复抓取,我们很有必要修改一下这里了。

要实现这个功能,有几种方法,如下:

一.修改post-template.php文件
我们在wp-includes这个目录下找到post-template.php这个文件,然后在get_the_content 方法里为 Read more 链接加上 rel="nofollow".大约在该文件的第200行左右,如下图:

Read more

这里再说明一下,这种方法如果将您的wordpress博客升级的话,就会失效。

二.在function.php添加代码
相对来讲,这个方法就要简单得多,而且不用担心wordpress升级带来的不方便.我们直接在function.php这个文件中添加以下代码,内容如下:

//为Read more链接加nofollow属性
add_filter('the_content_more_link','nofollowReadMore' ,0);
function nofollowReadMore($link) {
return str_replace('class="more-link"', 'class="more-link" rel="nofollow"', $link);
}

检查nofollow属性是否成功
能过以上两种方法,我想您的Read more链接已经成功加上nofollow属性了。我们用查看网页源代码的方式查看页面,就能在阅读全文这个标志下看到 rel="nofollow",如下图:

Read more

有的朋友可能按上面的方法修改过后,还是不能正常显示nofollow属性,这可能是因为您的主题在Read more(阅读全文)这一点上作了处理,例如部落现在的lovnvns主题,用上面的两种方法都不能成功添加nofollow属性,那么这时我们就可以在当前主题下找到archive.php这个文件,然后找到如下类似的内容:

Read more

再在对应的地方加上rel="nofollow"就可以了。

相比前面的方法,这是最简单的了。

那么如何对指定的分类加nofollow属性呢,也非常容易,在在function.php添加如下代码:

function nofollow_cat_posts($text) {
global $post;
if( in_category(1) ) { // 在这儿设置类别ID;
$text = stripslashes(wp_rel_nofollow($text));
}
return $text;
}
add_filter('the_content', 'nofollow_cat_posts');

要说明一下的是,in_category后面的数字就是用来指定分类的,这个用法比较特殊,对我来说是没有什么意义的,如果您用得上,拿去吧!

PS:7月31日
如果您想将Read more去掉,也很简单,只需要在functions.php添加以下代码:

function remove_more_jump_link($link) {
return preg_replace('/#more-\d+/i','',$link);
}
add_filter("the_content_more_link", "remove_more_jump_link");

给我留言