出於SEO方面的考慮,對於文章或迴響內容的站外鏈接,不少人都希望自動添加nofollow屬性,直接將下面的代碼添加到主題的 functions.php 文件即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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; } |
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 的話,就註銷或刪除第一行代碼。