WordPress 评论者超链接实现重定向跳转的方法

所属分类: CMS教程 / WordPress 阅读数: 1666
收藏 0 赞 0 分享
垃圾评论已经不是一个新鲜的东西了,相信只要是日独立IP超过2000的网站,只要开放评论的话,每天都会收到几十条乱七八糟的垃圾评论。

链接到的垃圾站过多,可能会造成网站在搜索引擎中被降权(主要是百度,Google 通过nofollow 设置是可以避免的),这对站长来说绝对不是什么值得恭喜的事情。今天我们要实现的就是即使收到再多的垃圾评论,这些发送评论的站点也不会被搜索引擎索引到。

一般情况下评论者的链接都是直接以其网站链接的形式出现的,点击会直接跳转到该网站,通过重定向跳转处理后,评论者网站的链接会如下显示:
https://www.jb51.net/?r=http://361ku.com
然后再通过对 robots.txt 文件的处理,评论区域的链接就不会被搜索引擎索引到,这样就不必再担心垃圾评论对网站的潜在威胁了。

实现重定向跳转主要有两种方法,一种是插件实现,一种是手工加代码实现,你可以根据需要自行选择。
使用 Comments Link Redirect 插件实现重定向跳转

使用我爱水煮鱼的 Comments Link Redirect 插件可以完美实现评论者链接重定向跳转,具体使用方法如下:

1.点击这里下载 Comments Link Redirect 插件。

2.安装激活插件,用记事本打开 wordpress 根目录下的 robots.txt 文件,添加如下代码:

Disallow: /?r=*

刷新你的页面,看看你的评论区的链接是不是已经加上重定向跳转了。
不用插件实现重定向跳转

对于不想用插件的朋友来说,可以使用这个方法实现,园子博客的插件已经达到20个了,实在是不敢加了。

1.找到你使用的主题文件中的 functions.php ,将以下代码添加到该文件中:

复制代码
代码如下:

//comments link redirect
add_filter('get_comment_author_link', 'add_redirect_comment_link', 5);
add_filter('comment_text', 'add_redirect_comment_link', 99);
function add_redirect_comment_link($text = ''){
$text=str_replace('href="', 'href="'.get_option('home').'/?r=', $text);
$text=str_replace("href='", "href='".get_option('home')."/?r=", $text);
return $text;
}
add_action('init', 'redirect_comment_link');
function redirect_comment_link(){
$redirect = $_GET['r'];
if($redirect){
if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){
header("Location: $redirect");
exit;
}
else {
header("Location: https://www.jb51.net/");
exit;
}
}
}

2.用记事本打开 WordPress 根目录下的 robots.txt 文件,添加如下代码:

Disallow: /?r=*

刷新页面看看,同样也可以实现评论区的链接重定向跳转。
cos-html-cache 静态化插件和 Comments Link Redirect 插件冲突的解决方法

这点是在万戈 那里看来的,说是如果使用了 cos-html-cache 静态化插件,会导致 Comments Link Redirect 插件无法正常使用,yanxc 给出了一个解决方案,专门针对使用了 cos-html-cache 静态化插件的朋友。

方法同样是把以下代码复制到你使用的主题文件中的 functions.php 文件里面,代替上面提供的代码。

复制代码
代码如下:

//comments link redirect
add_filter('get_comment_author_link', 'add_redirect_comment_author_link', 5);
add_filter('comment_text', 'add_redirect_comment_text', 99);
function add_redirect_comment_author_link($text = ''){
$text=str_replace("href=",'href="javascript:window.location=',ereg_replace('href='[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]'',"0"", $text));return $text;
}
function add_redirect_comment_text($text = ''){
$text=str_replace("href=","href='javascript:window.location=",ereg_replace('href="[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]"',"0'", $text));return $text;
}

然后再修改 robots.txt 文件即可。
使用 mg12 的 inove 主题不能实现链接重定向跳转的解决方法

有博友反映说使用 inove 主题通过以上的两种方法都不能实现评论区的链接重定向跳转,经过园子研究解决方法其实也很简单,方法如下:

打开 inove 主题目录下的 functions.php 文件,查找类似如下代码:
<a id="commentauthor-<?php comment_ID() ?>" class="url" href="<?php comment_author_url() ?>" rel="external nofollow">
将其改成:

<a target="_blank" id="commentauthor-<?php comment_ID() ?>" class="url" href="https://www.jb51.net/?r=<?php comment_author_url() ?>" rel="external nofollow">
改完代码后,再使用上面提供的基于插件或修改代码的方法即可完美实现重定向跳转的效果。

这两种方法的最终目的其实都是在和垃圾评论做战,虽然不能通过此方法杜绝垃圾评论,但如果那些发垃圾评论的人得不到丝毫的权重和价值,对他们来说也就没有什么意义了。
更多精彩内容其他人还在看

WordPress中让Widget 标题支持简单的HTML标签

在默认情况下,WordPress 的 Widget 标题是不支持任何 HTML 标签的,下面的技巧教你使用简单的代码替换实现在 Widget 标题实现支持 HTML 标签
收藏 0 赞 0 分享

不使用wordpress插件添加页面关键词和描述信息

WordPress存在一个问题,就是页面中keywords和description信息的缺失,其实这个工作应该由主题来完成,遗憾的是大部分主题并没有涉及,因此造成这两个信息的缺失,对于SEO很不利。下面说下如何用非插件的方式在模板中实现keywords和description的调
收藏 0 赞 0 分享

wordpress数据库优化和清理冗余数据的方法

本文主要介绍了wordpress数据库优化和清理冗余数据的方法,大家参考使用吧
收藏 0 赞 0 分享

wordpress博客多站点获取当前博客信息示例

在开通WordPress多站点之后,你或许需要在插件中获取当前的博客信息。本文帮你解决这个问题
收藏 0 赞 0 分享

wordpress恶意代码解决方法分享

发现自己的测试站的主题带上了恶意代码,非常明显的就是出现了一个函数_verifyactivate_widgets,通常情况下,一旦出现了这个函数在你的主题中,使用PHP可以任意的获取用户名、博客的主题文件等等,下面是解决方法
收藏 0 赞 0 分享

wordpress中短代码失效解决办法

在WordPress中我们偶尔会使用短代码,但是在一些特殊的主题中,我们偶尔会发现,短代码失效了,没有显示为我们想要的音乐播放器,却只显示为原本的字符串。这个时候,你可能需要对主题进行一些简单的处理来实现这个打印效果
收藏 0 赞 0 分享

wordpress文章标题为空时其它内容代替的方法

本文主要介绍了wordpress文章标题为空时使用其它内容代替的方法,大家参考使用吧
收藏 0 赞 0 分享

为wordpress绑定多个域名的方法分享

本文主要介绍了WordPress绑定多个域名的方法,wordpress默认情况下会自动跳转到后台规定的home_url上去,如何实现绑定多个域名的功能,详细看下文吧
收藏 0 赞 0 分享

wordpress在postname中支持大写字母的方法

本文主要介绍了wordpress在postname中支持大写字母的方法,wordpress默认会将标题中的英文大写字母lower到小写,要在URL中使用中文,那么使用大写也是常有的,这里提供一种取消wordpress自动降级字母大写的方法
收藏 0 赞 0 分享

wordpress实现用户历史阅读记录功能分享

历史记录是一种较为私密的功能,主要为当前用户提供服务,不同的用户使用不同的终端看到的结果是不同的,不同用户之间不能共享,以保持用户对自己浏览记录的独享性。一般而言,我们有以下几种实现思路
收藏 0 赞 0 分享
查看更多