我们写文章的时候经常会引用一些外站链接一般是供给用户做参考的,给这些链接添加 nofollow 属性可以减少自己网站权重的流失。手动添加过于麻烦,这里给大家一个自动添加 nofollow 属性的方法,把一下代码加入 functions.php。
add_filter('the_content', 'auto_nofollow'); function auto_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; } 要注意的是模板升级或者更换的时候要把这段代码加入新主题。 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; }