前言
垃圾评论,如今可以说是无处不在,作为 WordPress 使用者的我们,防止垃圾评论的侵扰是必须要做的。而且垃圾评论也就算了,居然还不访问我们的网站直接用脚本刷,连个 pv 值都不贡献下,太抠啦,不走心,差评。
在屏蔽垃圾评论方面,Akismet 插件还是很不错的,能起到一定的效果。但还是不够给力,接下来的教程就可以基本杜绝垃圾评论了。
方法 1:评论黑名单加强版(推荐)
wordpress 有个“评论黑名单”功能,这个功能在 wordpress 后台-“讨论”菜单里面,我非常喜欢这个功能。它的作用是:当评论的内容、评论者名称、URL、电子邮件或 IP 地址中包含其中任何关键字时,系统将自动将评论标记为“垃圾评论”。但有个不好的地方是评论者的评论还是能提交上来,你必须手动去清理这些“垃圾评论”…
下面的方法就是弥补这个缺陷的,当评论的内容、评论者名称、URL、电子邮件或 IP 地址中包含其中任何关键字时(当然,这些关键字需要你自己去设置好~),评论将不能提交!
将以下代码扔到我们的主题的 functions.php 中
效果:请在本页评论“婊子”试试~~
方法 3:屏蔽昵称,评论内容带链接的评论
方法 4:屏蔽长链接评论
当评论者链接长度大于 50 个字符时,评论将被当作垃圾评论。
function lxtx_lang_url_spamcheck($approved, $commentdata) {
return (strlen($commentdata['comment_author_url']) > 50) ?
'spam' : $approved;
}
add_filter('pre_comment_approved', 'lxtx_lang_url_spamcheck', 99, 2);
方法 5:设置一个发送评论前需要勾选的选择框
我们通常使用的防机器人的方式是增加验证码,如:数字字母验证码、算术验证码等,在这里介绍的是添加一个发送评论前需要勾选的选择框,来判断是否人工。
首先,在你的评论模板页面的适当位置加入下面的代码,一般是在 comments.php 这个文件中。
<label for="enable"><input type="checkbox" name="enable" id="enable" onClick="apply()" class="enable_checkbox"> Check this box to enable the send button</label>
然后,引入下面的 JS 代码:
<script type="text/javascript">
function apply() {
var form_submit = document.commentform.submit;
var form_checkbox = document.commentform.enable;
form_submit.disabled=true;
if(form_checkbox.checked==true) {form_submit.disabled=false;}
if(form_checkbox.checked==false) {form_submit.enabled=false;}
}
</script>
方法 6:禁止不访问网站页面直接评论
很多机器人和恶意评论的人为什么可以不访问网站的任何页面,却能留下评论回复呢?Spam 的原理其实很简单:发表评论是由 wp-comments-post.php 文件执行完成的,只要机器人确定你的网站是 WordPress 搭建,通过软件直接读取网站根目录下的 wp-comments-post.php,并写入内容即可完成,无需访问网站的任何页面。
那么,怎么预防这种形式的垃圾评论呢?下面有 2 种方法。
① 通过修改.htaccess 文件判断评论来路是否是通过网站的页面读取 wp-comments-post.php 文件的,如果否则禁止写入。在.htacess 中加入以下代码
方法 2:评论中必须有中文
屏蔽纯英文或纯日文评论,评论中必须含有中文:
- 最新
- 最热
只看作者