Wordpress自动将包含长链接的评论标记为垃圾评论的方法((共10篇))由网友“苍白序章”投稿提供,以下是小编帮大家整理后的Wordpress自动将包含长链接的评论标记为垃圾评论的方法,欢迎大家收藏分享。
篇1:Wordpress自动将包含长链接的评论标记为垃圾评论的方法
现在大量的机器可以直接对WordPress博客进行评论并带有大量的连接,这些带链接评论我们定为垃圾评论了,这里就来给大家介绍几个自动将包含长链接的评论标记为垃圾评论的方法.
方法一:此方法依旧是来自 Willin Kan 大师(可惜他已经退出WordPress圈),折腾很简单,直接将下面的代码放到主题的functions.php文件的最后一个 ?>前面即可,代码如下:
代码如下:// 垃圾评论拦截
class anti_spam {
function anti_spam {
if ( !current_user_can(‘level_0‘) ) {
add_action(‘template_redirect‘, array($this, ‘w_tb‘), 1);
add_action(‘init‘, array($this, ‘gate‘), 1);
add_action(‘preprocess_comment‘, array($this, ‘sink‘), 1);
}
}
function w_tb() {
if ( is_singular() ) {
ob_start(create_function(‘$input‘,‘return preg_replace(“#textarea(.*?)name=([”‘])comment([“‘])(.+)/textarea>#”,
“textarea$1name=$2w$3$4/textarea>”,$input);‘) );
}
}
function gate() {
if ( !emptyempty($_POST[‘w‘]) && emptyempty($_POST[‘comment‘]) ) {
$_POST[‘comment‘] = $_POST[‘w‘];
} else {
$request = $_SERVER[‘REQUEST_URI‘];
$referer = isset($_SERVER[‘HTTP_REFERER‘]) ? $_SERVER[‘HTTP_REFERER‘] : ‘隐瞒‘;
$IP= isset($_SERVER[“HTTP_X_FORWARDED_FOR”]) ? $_SERVER[“HTTP_X_FORWARDED_FOR”] . ‘ (透过代理)‘ : $_SERVER[“REMOTE_ADDR”];
$way = isset($_POST[‘w‘]) ? ‘手动操作‘ : ‘未经评论表格‘;
$spamcom = isset($_POST[‘comment‘]) ? $_POST[‘comment‘] : null;
$_POST[‘spam_confirmed‘] = “请求: ”. $request. “n来路: ”. $referer. “nIP: ”. $IP. “n方式: ”. $way. “n?热? ”. $spamcom. “n -- 记录成功 --”;
}
}
function sink( $comment ) {
if ( !emptyempty($_POST[‘spam_confirmed‘]) ) {
if ( in_array( $comment[‘comment_type‘], array(‘pingback‘, ‘trackback‘) ) ) return $comment;
//方法一: 直接挡掉, ? die(); 前面两斜线?h除即可.
die();
//方法二: 标记为 spam, 留在资料库检查是否误判.
//add_filter(‘pre_comment_approved‘, create_function(‘‘, ‘return “spam”;‘));
//$comment[‘comment_content‘] = “[ 小墙判断这是 Spam! ]n”. $_POST[‘spam_confirmed‘];
}
return $comment;
}
}
$anti_spam = new anti_spam();
这个方法可以阻止98%以上的垃圾评论,当然了,倡萌还建议你审核第一次提交的评论人的评论,设置审核后才显示,如果遇到垃圾评论,将其email、IP、网址等添加到黑名单即可,下面是倡萌目前的评论设置,你可以在WP后台-设置-讨论下设置.
方法二:自动拒绝包含特定关键词的垃圾评论,将下面的代码添加到主题的functions.php文件,自己根据需要,修改 $ bad_comment_content 数组的内容,任何包含在$ bad_comment_content 数组内的字符,将会被自动拒绝留言,代码如下:
代码如下:function in_comment_post_like($string, $array) {
foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
return false;
}
function drop_bad_comments() {
if (!emptyempty($_POST[‘comment‘])) {
$post_comment_content = $_POST[‘comment‘];
$lower_case_comment = strtolower($_POST[‘comment‘]);
$bad_comment_content = array(
‘viagra‘,
‘hydrocodone‘,
‘hair loss‘,
‘xanax‘,
‘tramadol‘,
‘russian girls‘,
‘russian brides‘,
‘lorazepam‘,
‘adderall‘,
‘dexadrine‘,
‘no prescription‘,
‘oxycontin‘,
‘without a prescription‘,
‘sex pics‘,
‘family incest‘,
‘online casinos‘,
‘online dating‘,
‘cialis‘,
‘best forex‘,
‘amoxicillin‘
);
if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
$comment_box_text = wordwrap(trim($post_comment_content), 80, “n ”, true);
$txtdrop = fopen(‘/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt‘, ‘a‘);
fwrite($txtdrop, “ --------------n [COMMENT] = ” . $post_comment_content . “n --------------n”);
fwrite($txtdrop, “ [SOURCE_IP] = ” . $_SERVER[‘REMOTE_ADDR‘] . “ @ ” . date(“F j, Y, g:i a”) . “n”);
fwrite($txtdrop, “ [USERAGENT] = ” . $_SERVER[‘HTTP_USER_AGENT‘] . “n”);
fwrite($txtdrop, “ [REFERER ] = ” . $_SERVER[‘HTTP_REFERER‘] . “n”);
fwrite($txtdrop, “ [FILE_NAME] = ” . $_SERVER[‘SCRIPT_NAME‘] . “ - [REQ_URI] = ” . $_SERVER[‘REQUEST_URI‘] . “n”);
fwrite($txtdrop, ‘--------------**********------------------‘.“n”);
header(“HTTP/1.1 406 Not Acceptable”);
header(“Status: 406 Not Acceptable”);
header(“Connection: Close”);
wp_die( __(‘bang bang.‘) );
}
}
}
add_action(‘init‘, ‘drop_bad_comments‘);
今天再补充下,自动将包含长链接的评论标记为垃圾评论,将下面的代码添加到主题的 functions.php 文件即可:
代码如下:function rkv_url_spamcheck( $approved , $commentdata ) {
return ( strlen( $commentdata[‘comment_author_url‘] ) > 50 ) ? ‘spam‘ : $approved;
}
add_filter( ‘pre_comment_approved‘, ‘rkv_url_spamcheck‘, 99, 2 );
注意看第二行的 50,根据自己的需要修改这个数值,如果你希望将所有带有链接(不管是否是长链接)的评论内容都自动标记为垃圾评论,将 50 改为 1 即可.
希望本文所述对大家的WordPress建站有所帮助,
篇2:三种wordpress评论链接跳转方法
对于wordpress程序我们都知道,它是一款用PHP语言和MYSQL数据库开发的开源、免费的博客程序,同时也是现在博客程序中功能最强大、 插件最多、可塑性最强的程序,它的使用和安装都是很简单方便的。而现在wordprss程序不单只是做博客,也有很多朋友拿它来做企业站、资讯站、门户等 等。
今天张力就讲一下wordpress程序做的博客站中的评论跳转方法,我们都知道wordpress程序由于是一款英文的开源程序,所以每天博客都 有很多的英文垃圾评论,虽然我们都有用屏蔽垃圾评论的插件,但也怕万一,而且很多垃圾评论中的网站链接,都是一些垃圾站。为了我们站点能够对各种搜索引擎 更加的友好,我们就要做一个评论跳转。可能有的朋友会说wordpress默认的留言网址都已经有加rel=“external nofollow”来防止垃圾评论了,但我想告诉大家,百度对于external nofollow还没有做到完全意义上的忽略,所以我们有必要做评论链接跳转。最后建议大家也可以在做跳转的同时加上rel=“external nofollow”的(PS:个人建议)。
下面我就来给大家讲一下最简单的三种wordpress评论链接跳转的方法,新手朋友一看就会的。
第一种:首先我们新建一个go.php文件,在go.php里面写入:< ?php header(“location:“.$_GET[”url“]); ?>,然后保存好。接着我们将go.php上传到wordpress根目录下。接下来我们进入到wordpress后台→外观→编辑,找到右侧的评 论模板或模板函数点击进入,找到相应的评论链接的地方,如:
< id=“commentauthor-<?php comment_ID ?>” href=“<?php comment_author_url() ?>” rel=“external nofollow” target=_blank>
我们只需要将这一段代码改成:
< id=“commentauthor-<?php comment_ID() ?>” href=“你的网址/go.php?url=<?php comment_author_url() ?>” rel=“external nofollow” target=_blank>
这样我们就完成了wordpress评论跳转。最后一点希望朋友们在做完这些以后,一定要在网站robots文件中加入Disallow: /go.php? 来屏蔽蜘蛛爬取。
第二种:和上一种方法大致相同,我们也是新建一个go.php文件,在go.php里面写入:< ?php header(“location:”.$_SERVER['QUERY_STRING']); ?>,然后保存好。接着我们将go.php上传到wordpress根目录下,
接下来我们进入到wordpress后台→外观→编辑,找到右侧的评 论模板或模板函数点击进入,找到相应的评论链接的地方,如:
< id=“commentauthor-<?php comment_ID() ?>” href=“<?php comment_author_url() ?>” rel=“external nofollow” target=_blank>
我们只需要将这一段代码改成:
< id=“commentauthor-<?php comment_ID() ?>” href=“你的网址/go.php?<?php comment_author_url() ?>” rel=“external nofollow” target=_blank>
这样我们就完成了wordpress评论跳转。最后一点希望朋友们在做完这些以后,一定要在网站robots文件中加入Disallow: /go.php? 来屏蔽蜘蛛爬取。
第三种:比起上面两种,这第三种可能会麻烦一点,我就一步步的来讲给大家。
1、新建一个文件夹起名会go,在go这个文件夹中新建index.php
2、用DW打开go文件夹中的index.php,在里面加入以下代码保存:
< ? php
$url = $_GET[‘url’];
Header(“Location:$url”);
?>
3、将go文件夹上传到wordpress根目录下,我们再进入wordpress后台,在wordpress后台→外观→编辑,找到右侧的评论模板或模板函数点击进入,找到相应的评论链接的地方,如:
< id=“commentauthor-<?php comment_ID() ?>” href=“<?php comment_author_url() ?>” rel=“external nofollow” target=_blank>
我们只需要将这一段代码改成:
< id=“commentauthor-<?php comment_ID() ?>” href=“你的网址/go/?url=<?php comment_author_url() ?>” rel=“external nofollow” target=_blank>
4、最后我们也一定要在网站robots中加入Disallow: /go 来屏蔽蜘蛛爬取。(PS:这第三种方法正是张力在自己博客有用到的。)
篇3:WordPress中删除垃圾评论的方法
这篇文章主要介绍了WordPress中删除垃圾评论的方法,需要的朋友可以参考下
对于日访问量还不错的WordPress网站来说,肯定都会存在很多待审核的垃圾评论,如果要通过WP后台删除,那简直是一件非常耗时又耗力的工程,今天,我们主要介绍以下两种方法来进行WordPress垃圾评论的删除.我们可以执行SQL命令批量删除,或者通过启用 Delete All Pending Comments插件来进行删除。
方法一:Delete All Pending Commnets插件删除后台搜索安装Delete All Pending Commnets插件以后,就可以在左边的评论菜单下看到一个 Pending Comments,进去后勾选复选框,然后点击 delete 按钮就可以删除所有待审核的评论了:
方法二:通过 SQL 命令删除如果你不喜欢折腾插件,并且你可以通过登陆PhpMyAdmin 管理MySQL数据库,那你可以通过 SQL 命令来删除
Wordpress评论表为wo_comments,comment_approved为评论回应的字段.
Comment_approved 为1 :通过审核的评论Comment_approved 为0:待审核的评论Comment_approved 为trash:回收站的评论Comment_approved 为spam: 垃圾评论详细SQL命令执行方法如下所示,可以根据需要随时更改该语句.
1. 删除待审核评论,垃圾评论,回收站评论delete
From ‘wp_comments’
WHERE ‘cooment_approved’ NOT LIKE ‘1’
2. 只删除待审评论delete
From ‘wp_comments’
WHERE ‘cooment_approved’ =‘0’
3. 只删除垃圾评论delete
From ‘wp_comments’
WHERE ‘cooment_approved’=’spam’
4只删除回收站评论delete
From ‘wp_comments’
WHERE ‘cooment_approved’=’trash’
篇4:颠倒 WordPress 评论,将评论放在最上面
一般来说,WordPress 每篇文章的评论都是按照先后顺序排列在文后,前来的坐沙发,后来的坐板凳,如此等等,有时候你可能觉得wordpress默认的将最新的评论放在了评论栏的最下面看起来不方便。
本文就告诉你个倒过来的方法吧:很简单的
首先,打开comments.php 文件
然后找到这句:
改成:
就可以啦!!!简单不?自己试试看吧
来自:neolee.cn/wordpress/put-the-last-comments-on-the-top/
篇5:怎样解决wordpress中英文垃圾评论?
WordPress现在的使用是越来越广泛,wordpress这个玩意儿是从国外传过来的,wordpress也是国外SEO们使用最多的程序,同时与之而来的是相关SEO工具的开发也越来越多,技术也越来越高。
记得曾经使用过的一个英文版的评论工具可以快速找到N多的wordpress博客,同时还可以区分哪些是需要验证码、哪些是不需要验证码、哪些是评 论需要审核、哪些是不需要审核、哪些是评论有跳转、哪些是没有做跳转...等一系列的选项,工具做得很精细,同时还有代理登陆等模拟人工访问等功能,虽然 这些做得很好,但是制造的产物对于俺们这些博主而言特别是中文博主而言,简直就是万恶之源。
喜欢倒腾博客的童鞋们都知道,虽然评论能给博客带来活力,同时也是一个交流的平台,但是垃圾评论泛滥也不是件好事情,不仅浪费空间资源,同时会降低 网页的内容质量对用户体验产生不良影响;而对于很多人一提到处理垃圾评论都会想到使用类似Akismet这样的垃圾评论过滤插件,我的破折君博客刚开始也 是按照这个思路来做的,主要用到了下面三个常用的方法:
1、Wordpress自带的Akismet,默认禁用。启用后要到其网站上注册一下,拿到一个api key才能用。该api key对于个人用户是免费的。
2、Spam Free WordPress。文章里推荐的是另一个,不过看到这个评分比较高,所以装这个了。
3、Math Comment Spam Protection。加了个验证码,让做一道数学题。
但是这三个插件虽然能阻挡一些垃圾评论,但是很多时候都是放在垃圾评论里面,但是也还是要手工删除,
刚开始觉得没什么,但是随着破折君博客的流量的 增加,垃圾评论越来越多,不止中文的还有很多的纯英文垃圾评论,有时候一天甚至达到四五百条,删都删的累了,所以就想通过禁止纯英文评论来解决这个问题。
评论工具不同于手工填表单的方式进行评论而往往是利用ajax入口或者wp-comments-post.php或者其它入口进行发送。但是不管他 从哪里入口,wp钩子的作用应该一直存在,所以我在主题模板的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 );}
add_filter('preprocess_comment', 'scp_comment_post');
通过这个方法可以让纯英文内容不能评论,这比把纯英文评论标记为垃圾评论更好一些,省去了再去删垃圾评论的时间。
篇6:利用WordPress博客评论建设外部链接
献给那些不经过大脑就来我博客 Spam 的人或者机器,
首先不要随随便便就去 Spam,基于两点:
WordPress 和其他一些博客留言链接一般都是 nofollow,nofollow 链接对于 Google 是没有权值,虽然会引导 bot 到你的网站上。对于 Baidu 没有考证,baidu 很多东西没法考证,就像它为什么 K 你一样。
如果很多人把你的留言提交的 Akismet 黑名单,那么你就惨了,以后正常的留言都没有用了。
那么水平高一些的 Spam 方式该怎么做?同样基于上面的原因,因为一些 blogger 为了鼓励他人留言,会给自己的 WordPress 博客安装一个 dofollow 插件,这样留言者的链接就没有了 nofollow 的属性,在搜索引擎中就有了权重。所以聪明的 Spammer 就是应该找到这些博客。然后留下有建设性的留言,比如,Thanks! Your site is awesome!具体过程是这样子的:
在搜索引擎中查找比自己主题相关的的 WordPress 博客。比如你搜索和音乐相关的博客,在搜索引擎中输入:“powered by wordpress” music,
然后在这些博客中查找出 dofollow 的并且 PR 高的。
如何查找 dofollow 的博客,需要你安装一个 SearchStatus Firefox 扩展。安装之后,在浏览器的右下方会显示当前网页的 PR,Alexa 等值,右键点击 SearchStatus Logo 在弹出的菜单中选择 Highlight nofollw links,这样你就可以观察下你找到的博客的留言区域的留言者链接是不是没有高亮显示,如果没有高亮显示,那么就是 dofollow 的博客。
当然网上已经有一些工具,能够实现在搜索结果中显示每个链接的 PR 值。但是没有找到能够显示留言区域是不是 dofollow 的。
好了,就介绍这里,看完之后,如果你的博客安装了 dofollow 插件,记得关闭 。
作者:雪山飞猪
原文链接:简单而有效的链接建设
延伸阅读:
内部链接nofollow控制权重分布
nofollow标签的使用与外部链接
经得住时间检验的外部链接
如何增加外部链接
八个实用的外部链接查询分析工具
外部链接的相关性
外部链接锚点文字对百度SEO的作用
篇7:wordpress除去评论者和评论内容链接
Spam泛滥的时代如何控制好WordPress不被这些评论内容链接链接导致网站被K,影响到整站的SEO,这是很重要的,
WordPress除去评论者和评论内容链接
把如下代码加入主题模板函数functions.php文件中,修改前记得先备份functions.php文件,加在中间即可。
function remove_comment_links {global $comment;$url = get_comment_author_url();$author = get_comment_author();if ( empty( $url ) || '' == $url )$return = $author;else$return = $author;return $return;}add_filter('get_comment_author_link', 'remove_comment_links');remove_filter('comment_text', 'make_clickable', 9);
这样设置以就可以除去WordPress评论者和评论内容链接,
篇8:将WordPress的Trackbacks/Pingbacks 和评论列表分开
大部分的WordPress主题,在默认情况下,会把评论和trackbacks / pingbacks显示在同一列表之中,但为什么我们不把它们分开呢?这个小小的改动会使您的博客的评论看起来像图片中一样更加简单明了,难道不是吗?这改动步骤很简单,但你要确保你的博客是独立博客(而不是托管在wordpress.com) ,并且可以自由修改其中的comments.php文件 。准备好您最喜爱的编辑器,OK,让我们开始吧。
首先找到你的theme中的comments.php文件并用编辑器打开 。当然你先要做好备份然后再开始修改它。
第1步
找到
把以下代码添加在之后
第2步
找到
把以下代码添加在之前
第3步
找到
把以下代码添加在之前
Trackbacks
大功告成,
保存你的文件并更新你的博客,你会发现, trackbacks已不在评论列表中并显示底下。如果您想在评论之前显示trackbacks。最简单的方法是加入
并通过style.CSS更改 ,自得其乐吧~。
英文原文链接:Seperate Comments from Trackbacks/Pingbacks
来自:skydao.com/archives/46
延伸阅读:
blogger:为什么说反向链接backlink要比trackback要好?
篇9:CSS将已访问的链接标记为已读
用CSS将已访问的链接标记为已读,可以让浏览者很清楚知道哪些文章阅读过,哪些没有阅读过,
CSS将已访问的链接标记为已读
。使用户体验更加友好!是web2.0的一个很好体现。标准之路www.aa25.cn 提示:可以先修改部分代码后再运行
篇10:让 WordPress 侧边栏评论不显示评论者链接
这两天老是有小白,一些想通过不正当的SEO来获取自己PR的小白,看准了我的博客和网站的侧边栏最新评论用的是Widget(就是WordPress默认的,至于为什么这么用,是因为可以用上缓存插件而已),就跑来留言,说的也没啥,无非是支持,顶之类的,然后,留下自己的垃圾站的网址就跑了,对于这种,人肉 Spam,我是最讨厌的,
在WordPress的文章和页面中,评论者的链接默认是no follow的,所以对自己的PR毫无用处,而Widget调用的最新评论,确实没有no follow,这样就让一些投机的人钻了空子,不停评论,除了直接 spam 以外,能否通过自己修改文件来达到目的呢?答案是肯定的。
用非记事本打开wp-includeswidgets.php文件,搜索get_comment_author_link(),如果以前没修改过,应该只有一个,然后把get_comment_author_link()修改为get_comment_author(),然后刷新或者删除缓存,再看看首页,没有评论者的链接了吧,哎,对付人肉 Spam,只能用这招,假如没人会可以为了PR而留言,我是很乐意把所有朋友的留言都直接放到首页,而且给你一个链接,呵呵。
话说,通过观察 wp-includeswidgets.php 文件,你会发现很多有趣的侧边栏东东,比如这个最新评论的重要部分代码是:
}
/**
* Display recent comments widget.
*
* @since 2.2.0
*
* @param array $args Widget arguments.
*/
function wp_widget_recent_comments($args) {
global $wpdb, $comments, $comment;
extract($args, EXTR_SKIP);
$options = get_option(’widget_recent_comments’);
$title = empty($options[“title”]) ? __(’Recent Comments’) : apply_filters(’widget_title’, $options[“title”]);
if ( !$number = (int) $options[“number”] )
$number = 5;
else if ( $number < 1 )
$number = 1;
else if ( $number > 15 )
$number = 15;
if ( !$comments = wp_cache_get( ‘recent_comments’, ‘widget’ ) ) {
$comments = $wpdb->get_results(“SELECT * FROM $wpdb->comments WHERE comment_approved = ‘1′ ORDER BY comment_date_gmt DESC LIMIT $number”);
wp_cache_add( ‘recent_comments’, $comments, ‘widget’ );
}
?>
if ( $comments ) : foreach ( (array) $comments as $comment) :
echo ‘’ . sprintf(__(’%1$s on %2$s’), get_comment_author_link(), ‘comment_ID) ) . ‘">’ . get_the_title($comment->comment_post_ID) . ‘’) . ‘
’;endforeach; endif;?>
怎么样?不喜欢用widget的同学可以发挥自己的聪明才智,导入到主题的siderbar.php里,那就可以实现不依靠任何插件或者widget就能显示最新评论了,
管理资料
不过我还是推荐使用widget,因为可以配合WP Widget Cache 插件来缓存,嗯,适合小流量的博客。
WordPress博大精深,值得我们每个人去学习
PS:正在考虑是否要去除自己的评论,但是,我每次都是通过首页来看最新的评论然后去回复一个,这样就懒得进后台了,再三考虑,还是不要去除的好。
再次PS:目前不会加入评论回复邮件功能,一方面是正在用的vps的sendmail有点问题,貌似发送的邮件到达不了,所以我就没装sendmail,二是每天N多个邮件看着不爽(我为访客考虑嘛)。
本文来自:showfom.com/remove-recent-commentors-links-from-wordpress-widgets/
★ 论文的引用格式
★ 网站营销实习报告
【Wordpress自动将包含长链接的评论标记为垃圾评论的方法(共10篇)】相关文章:
联想面试笔试题2023-10-14
企业网站策划书精选2023-01-31
WordPress标签(函数)参考指南2023-06-03
鹤群说课稿2022-12-19
学位论文引用格式2023-11-18
网站的第一次改版2022-11-06
《鹤群翔空》教学设计2023-07-10
《鹤群翔空》优秀教案2023-07-22
让百度最快收录的9个方法总结2023-02-28
SEO功课 二十个你必须知道的SEO概念2022-09-17