WordPress 技巧:给外部链接自动添加 nofollow
在撰写日志的时候,经常会引用一些外部链接,如果你不想给这些外部链接传递权重,你需要给这些外部链接加上 rel="nofollw"
属性,如果每个外部链接都需要手工添加,那么会非常麻烦,你可以在当前主题的 functions.php
中添加如下代码,它会给外部链接自动添加 nofollow。
add_filter('the_content', 'wpjam_auto_nofollow');
function wpjam_auto_nofollow($content) {
return preg_replace_callback('/<a>]+/', 'wpjam_auto_nofollow_callback', $content);
}
function wpjam_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;
}
当然给所有外部链接都加上 rel="nofollw"
属性在 SEO 角度来看可能并不一定都好,这个具体要你自己怎么取舍了。