当前位置:园子博客 » Wordpress » WordPress 评论者链接实现重定向跳转的方法

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

7月 9th, 2010 | Filed under Wordpress | 共有7,954次浏览

垃圾评论已经不是一个新鲜的东西了,相信只要是日独立IP超过2000的网站,只要开放评论的话,每天都会收到几十条乱七八糟的垃圾评论。

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

一般情况下评论者的链接都是直接以其网站链接的形式出现的,点击会直接跳转到该网站,通过重定向跳转处理后,评论者网站的链接会如下显示:

http://www.yzznl.cn/?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 ,将以下代码添加到该文件中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//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: http://www.yzznl.cn/");
            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 文件里面,代替上面提供的代码。

1
2
3
4
5
6
7
8
9
//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="http://www.yzznl.cn/?r=<?php comment_author_url() ?>" rel="external nofollow">

改完代码后,再使用上面提供的基于插件或修改代码的方法即可完美实现重定向跳转的效果。

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

  1. 追风VPN
    5月 22nd, 201215:41

    呵呵!那您 的网址为什么不实现这个功能呢?是不是还更加先进的功能

  2. e-van
    7月 9th, 201116:16

    怎么在新窗口中打开呢?

  3. 脱发怎么办
    3月 25th, 201115:58

    这个看起来很麻烦啊,难弄啊

  4. 他和她
    2月 18th, 201120:23

    哈哈 学习了

  5. 泉州seo
    12月 16th, 201017:35

    写的不错,不过第一种貌似不管用了,3.0.1

  6. dev
    11月 28th, 201007:55

    第二次搜过来了 很使用

  7. yesureadmin
    10月 19th, 201015:48

    目前IP不足200SPAM来一个干一个也不显得忙,日后翻倍再来偷学

  8. 三人行
    9月 1st, 201023:11

    以后可能会用到。

  9. 严重浪漫
    8月 26th, 201022:28

    呵呵,今天研究了一下这个事情,刚刚看到许多文章,都是转载你的这篇

  10. Clyee
    8月 13th, 201013:10

    非常感谢, 按你说的做好了

  11. 绿色实用软件
    7月 27th, 201016:48

    😀 下次把我博客也改造一下

  12. 呛口小辣椒
    7月 27th, 201009:02

    哈哈~~正需要这个~~

  13. 见习枪手
    7月 23rd, 201019:50

    我正需要这个插件,马上安装试试

  14. Junan
    7月 20th, 201006:24

    暂时不用这个~~~

  15. liveasx
    7月 18th, 201008:16

    这个有需要

  16. Louis Han
    7月 14th, 201017:23

    我想直接加上nofollow就好了

  17. 不得言
    7月 14th, 201011:37

    @不得言
    并且我发现一个问题。点引用里的链接,直接跳转到首页了。博主考虑一下用网址全称吧。

  18. 不得言
    7月 14th, 201011:35

    @任侠 你说到我心里了。我看到我朋友用zblog那加密就特恶心。我还专门写了则日志去讨论,如何去掉地址加密功能呢。

  19. 书剑
    7月 14th, 201002:58

    试下效果:http://baidu.com

  20. 大智若鲁
    7月 13th, 201009:24

    那个,百度已经开始支持nofollow了

  21. 雅岚
    7月 11th, 201015:16

    这些代码看得我头昏眼花。。。哈哈
    闲下来时慢慢折腾,嘿嘿

  22. 日记男孩
    7月 11th, 201010:29

    这个不错啊,垃圾评论对网站百度提名确实影响大。。。等下去试试

  23. reizhi
    7月 10th, 201023:18

    暂时还用不着,这毕竟会减低留言的积极性

  24. 刘晓林
    7月 10th, 201023:07

    发现很多这样做的人,原来是对别人没有好处的啊!

  25. 周先生
    7月 10th, 201020:20

    方法还是值得借鉴的,还好我现在垃圾评论不怎么多,偶尔来个一条,我直接给他编辑了,去掉链接。

  26. 兰州烧饼
    7月 10th, 201019:47

    等我的兰州烧饼有PR了在来整这个东西吧

  27. 煮茶老头
    7月 10th, 201017:15

    现在我的访问量很小,就遇到过一次垃圾评论,还直接被拦截了

  28. 睿智小超人
    7月 10th, 201014:14

    大家都这样做岂不是大家都少了很多外链?

  29. 可乐
    7月 10th, 201012:54

    真不错.

  30. A.shun
    7月 10th, 201012:18

    重定向东作用缺点很明显
    当服务器不知道你从哪里发出请求的时候,只会跳到你的主页

    当关掉了发送referrer信息,点击链接或使用手势和拖拽等方法也可能会导致这种情况

    为了seo和防止spam,这样不值得

  31. 园子
    7月 10th, 201010:07

    @任侠
    只是提供一个方法,用不用看个人了
    呵呵~

  32. 任侠
    7月 10th, 201009:55

    人家用z-blog的是想怎么把跳转取消掉,你是用wp的想怎么把跳转建立起来~ 看看卢松松的都改为直接的连接了~

  33. 软件盒子
    7月 10th, 201009:50

    我看到做广告明显的直接关了

  34. 记忆盒子
    7月 10th, 201007:42

    嗯,以后用wp时,会想到你有写过着篇文章。:)

  35. 丕子
    7月 10th, 201006:59

    嗯 很实用

  36. 蛋卷
    7月 10th, 201000:55

    似乎看过,不过我弄不了哈

  37. ifenwen
    7月 9th, 201021:07

    不想搞得那么复杂

  38. 奶牛
    7月 9th, 201020:20

    板凳板凳板凳,哈哈,奶牛来得还很早的说~~~

  39. 自由人
    7月 9th, 201020:01

    沙发呐。。。我说在哪里看过了 呵呵,今天我也去试试

您必须在 登录 后才能发布评论.