自动给WordPress文章或评论内容的站外链接添加Nofollow属性

[ wordpress教程   // 2014-03-06  ]
115

       在博客里编写文章的时候都会用到一些外链,外链这个东西根据每个人对SEO的理解层面不同所以运用上也都有不同的手法,非常多的站长在使用wordpress发表文章带外链的文章时都会给外链添加nofollow属性。

什么是nofollow?

         nofollow 是一个HTML标签的属性值。这个标签的意义是告诉搜索引擎”不要追踪此网页上的链接”或”不要追踪此特定链接按照平常的说法就是让蜘蛛不给这条链接传递权重。这样的做法在SEO上有某些意义,下面散人为大家介绍一下怎么自动的在发表外链文章时添加nofollow。

站外链接添加Nofollow属性方法:

方法1:直接【后台】——【插件】搜索并且安装启用 Nofollow for external link 插件即可;

方法2:打开我们所用的主题的模板函数文件,也就是functions.php 文件,将下面的代码加到模板函数里面,它会给外部链接自动添加
nofollow。

代码如下:

add_filter('the_content', 'auto_nofollow'); //nofollow文章内容的站外链接

add_filter('comment_text', 'auto_nofollow'); //nofollow评论内容的站外链接

function auto_nofollow($content) {

     //return stripslashes(wp_rel_nofollow($content));

 return preg_replace_callback('/<a>]+/', 'auto_nofollow_callback', $content);

}

function auto_nofollow_callback($matches) {

$link = $matches[0];

$site_link = get_bloginfo('url');

if (strpos($link, 'rel') === false) {

   $link = preg_replace("%(href=S(?!$site_link))%i", 'rel="nofollow" $1', $link);

} elseif (preg_match("%href=S(?!$site_link)%i", $link)) {

   $link = preg_replace('/rel=S(?!nofollow)S*/i', 'rel="nofollow"', $link);

}

return $link;

}

        注意:代码中的第1、3行分别是针对文章内容、评论内容的,请根据自己的需要选择。比如不需要自动给文章内容的站外链接添加 nofollow 的话,就注销或删除第一行代码。