垃圾評論一直都是廣大 WordPress 博主非常頭疼的問題,雖然 Akismet 插件可以有效的幫助博主們低於垃圾評論的侵蝕,但是長久的使用 Akismet 插件會在數據庫生成許多無用的表嚴重影響網站的運行效率。而且申請 Akismet 插件的頁面也時不時的被牆,新博客想用 Akismet 插件還挺難。今天小編就整理了一些防止 WordPress 垃圾評論的方法。

1 、刪除評論鏈接框字段 (URL) 。發垃圾評論無非就是為了那麼點外鏈,如果去除掉評論中的鏈接框的確可以阻擋住一些人為發送的垃圾評論。

function remove_comment_fields($fields) {
    unset($fields['url']);
    return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');

將以上代碼加入到 functions.php 文件即可將評論中的鏈接填寫框給去除掉,不過有些童鞋不想除去鏈接框也可以參考我這篇文章 《WordPress 小技巧:評論鏈接轉為內鏈轉跳的方法》 。

2 、為評論內容中的外鏈添加 Nofollow 屬性。

add_filter('comment_text', '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;
}

將以上代碼加入到 functions.php 文件之後評論內容中的所有外鏈都會加上 Nofollow 屬性,不過你想移除掉 WordPress 評論內容中的描文本功能可以直接使用以下代碼:

remove_filter('comment_text', 'make_clickable', 9);