垃圾評論是現在wordpress博客站長一個頭痛的問題了,今天小編也因此找了很多方法,下面整理了兩個過濾垃圾評論方法與兩款常用的插件.
上周博客突然不能訪問了,問了下服務器商說是我流量太太,影響到了服務器的正常運行,不至于啊,下載帶本地一看,兩千多垃圾評論,我才明白應該是垃圾評論導致的服務器的負載過高,然后我沒辦法只好暫時關閉了評論,然后網站各種搜索解決辦法,總結起來,垃圾評論不可能徹底清除的,做的再好還是會有的,只能自己手動清理了,但是不至于導致服務器負載過高掛掉.
我用了兩個方法,這里給分享下,因為遲早你會用到的,哈哈.
1、屏蔽所有全是英文(不包含漢字)的評論.
只需修改你當前使用的主題目錄下的functions.php就可以了,而且不會受到的WordPress升級的影響,具體修改:打開當前使用的主題目錄下的functions.php,在最后加上下面代碼,這個可以屏蔽很多純英文的垃圾評論,垃圾評論中英文占比很大的,代碼如下:
- function scp_comment_post( $incoming_comment ) {
- $pattern = '/[一-?]/u';
- // 禁止全英文評論
- if(!preg_match($pattern, $incoming_comment['comment_content'])) {
- wp_die( "You should type some Chinese word (like "你好") in your comment to pass the spam-check, thanks for your patience! 您的評論中必須包含漢字!" );
- }
- return( $incoming_comment );
- }//開源軟件:Vevb.com
- add_filter('preprocess_comment', 'scp_comment_post');
2、修改wp-comments-post.php的文件名,讓機器人找不到評論入口,參考威言威語.
我們都知道,絕大部分的垃圾評論都是通過post網站根目錄下的wp-comments-post.php來提交垃圾評論的,我們讓其找不到post的入口,那么它就不能發垃圾評論了,對于普通用戶而言,正常情況下,不管你使用的什么主題,通用的解決方法是:
將博客根目錄下面的wp-comments-post.php改名,改成什么都可以,比如 no-comments-post.php
打開主題的里面的comments.php,找到代碼里面的 wp-comments-post.php,將其改為 no-comments-post.php
改的名字跟之前修改的名字一樣就行了,建議改的不要這么規則,防止垃圾評論發布機制升級通過什么正則匹配來猜某些類似的地址.
這個主要就是通過修改評論路徑,讓垃圾評論發表找不到入口,從而屏蔽垃圾評論,目前我使用下來還是很不錯的,如果你的WordPress也有很多垃圾評論,不妨也用用這個方法.
防止同一ip重復發垃圾評論、如果發某一ip有垃圾評論,那么24小時,將不讓提交評論.
你需要做的就是把下面一小段代碼,加入到你WordPress主題的functions.php文件中,代碼如下:
- //整治垃圾評論
- if(!function_exists('antispam_check')):
- function antispam_check($comment) {
- global $wpdb;
- $query = $wpdb->prepare('SELECT COUNT(*) AS SPAM_COUNT, MAX(comment_date_gmt) AS LAST_SPAM_DATE FROM '.$wpdb->comments.' WHERE comment_approved = 'spam' AND comment_author_IP = %s', preg_replace( '/[^0-9a-fA-F:., ]/', "",$_SERVER['REMOTE_ADDR'] ));
- $comment_count = $wpdb->get_row($query, ARRAY_A);
- if($comment_count['SPAM_COUNT'] >= 1) {
- wp_die('你屢次作惡,管理員已經忍無可忍永久封掉了你的IP地址,如果你對此有任何疑問請聯系管理員。');
- }elseif($comment_count['SPAM_COUNT'] > 0 && gmmktime()-strtotime($comment_count['LAST_SPAM_DATE'], gmmktime())<24*3600) {
- wp_die('你有過作惡的不良記錄,24小時的不能發言,如果你對此有任何疑問請聯系管理員。');
- }
- return $comment;
- }
- endif;
- add_action('preprocess_comment', 'antispam_check');
當然了還有朋友說利用相關插件下面我也整理一些.
1.Akismet
Akismet 是 WordPress 官方推薦的一款 WordPress 防垃圾評論插件,功能很強大,激活Akismet后,就可以自動攔截過濾大多數的垃圾評論,然而 Akismet 默認是沒有啟用和激活的,今天倡萌就給新手朋友演示一下如何激活Akismet防垃圾評論插件.
2.Math Comment Spam Protection 3.0的插件
當然評論問題全是英文,只要自己翻譯下error的英文就可以了,試用幾天后果然感覺不錯,推薦有blog的朋友可以試試……
新聞熱點
疑難解答
圖片精選