wordpress评论者超链接重定向并在新窗口打开

wordpress评论者超链接重定向并在新窗口打开
朱定聪近期更换了一款新的WordPress博客主题,但是在文章以及留言板的评论出站链接对SEO优化做的并不怎么理想。近期经常在一些朋友的个人博客上面看到,当鼠标移动到评论者的昵称上面时,浏览器的状态栏上面显示的地址是这样的格式:http://www.congblog.cn/?r=http://www.gxv5.com ,而我的博客是直接指向评论者填写的地址的,在网上有看到过某篇文章说这样子每个评论就是一个外链,会分散网站权重。另外如果被指向的链接是被百度或者搜索引擎惩罚过的站点,那你的站点必定会受到搜索引擎的牵连,必定会对你的网站作出降权,或者对搜索引擎失去信任,无疑这将是站长们不愿意看到的杯具。

下面朱定聪给大家说下实现方法:

打开我们的WordPress安装的主题目录/wp-content/themes/,找到你正在使用的主题,进入该目录找到functions.php文件,在该文件最后面的?>前添加我们需要的重定向代码,WordPress评论者链接的网址重定向跳转代码如下:
//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.congblog.cn/");
exit;
}
}
}

这个代码是我从网上找的,添加好以上代码之后,保存,刷新下页面,我们就可以看到效果了。

比如下面的一个访问者在我的文章或者留言板下留下网站地址,经过以上代码的重定向以后的url地址就会变成了:http://www.congblog.cn/?r=http://www.gxv5.com ,当你点击该链接,这个地址就会自动跳转到评论者留下的网站地址,不过,当每次别人点击打开评论者的链接的时候,就离开了你的博客,回头客也就这么白白的跑了的话那实在是太可惜了,别着急,我们还可以修改:/wp-includes/comment-template.php ,实现评论者链接在新的窗口中打开:
if ( empty( $url ) || 'http://' == $url )
$return = $author;
else
$return = "<a class="url" rel="external nofollow" target="_blank" href="$url">$author</a>";
return apply_filters('get_comment_author_link', $return);

大家看到这段代码当中的红色字体部分 target="_blank" 了吗?这就是我刚刚添加进去的,添加完以上代码后上传即可。

接下来我们打开robots.txt文件中增加一行:Disallow:/?r=*,实现禁止搜索引擎索引这个链接,就OK了。

评论 (24)
  1. 沙发
    Jankey 2014-09-20 16:54

    您好,我也加了跳转代码后,跳转的时候会出现403错误,请问怎么解决呢?

  2. 板凳
    eeg平台 2013-05-01 04:38

    楼主经验之谈,学习了,谢谢!推广的方法多种多样,要努力学习啊!

  3. 地板
    林肆 2012-05-20 07:10

    我觉得给所有的评论链接加个nofollow属性就行了嘛!我就是这样滴!

  4. 4 楼
    冠朔wordpress插件 2012-04-05 10:18

    还是暂时放弃这样做,目前太少评论者了,这样做的话,评论者更少了。

  5. 5 楼
    冠朔wordpress插件 2012-04-05 10:15

    一直在考虑要不要这样做。

  6. 6 楼
    NianQing 2011-12-28 19:27

    我早用上了…哈哈

  7. 7 楼
    Teresa 2011-12-28 16:35

    强大!

  8. 8 楼
    lite3 2011-12-28 13:13

    评论链接重定向可以用我这个插件的,很方便,不用再去改php代码了.呵呵. 我会持续更新该插件的
    https://www.congblog.cn/url/aHR0cDovL2xpdGVmZWVsLmNvbS9hcmNoaXZlcy8xNDkwLw==
    后续再添加更有趣的功能.

    • 回复
      大葱 2011-12-28 15:53
      @lite3 :shock: Wordpress的原则是能不能插件则不用,至少我个人是这么认为的。
      • 回复
        lite3 2011-12-28 15:56
        @大葱 wordpress是因插件而强大的
        • 回复
          大葱 2011-12-28 16:08
          @lite3 插件是有利于用户体验,不过插件多了自然的会对博客不利哟~
  9. 9 楼
    闲云野鹤 2011-12-23 12:38

    其实用jquery筛选出评论链接,然后给链接加一个新窗口打开的属性就可以了。

  10. 10 楼
    杨欣诺博客 2011-12-22 08:51

    😳 没用过这个!!!

  11. 11 楼
    天天 2011-12-22 01:29

    你的网站怎么这么多垃圾评论,也不删掉一下!话说新窗口打开是必须的,但是那个连接重定向就没必要了,没看到源代码中那个连接时带有nofollow的吗?完全没必要把连接变成?r=http://这种形式,还显得小气…..放心,不会分散权重的!

    • 回复
      大葱 2011-12-22 03:08
      @天天 嗯,因为之前把链接添加了重定向,所以也不怎么去管这些垃圾评论了,不知道这样是否对SEO不利?
    • 回复
      刘公馆 2011-12-22 04:38
      @天天 谁也说不定以后搜索引擎会不会遵循nofollow规则,还是注意一点好啊。。
  12. 12 楼
    天浩博客 2011-12-22 01:04

    很喜欢你博客的这个版面

  13. 13 楼
    免费资源部落 2011-12-20 13:13

    貌似越来越多的人这样做了。

  14. 14 楼
    OOXX研究院 2011-12-16 02:29

    最怕这种无故牵连了~ 学习了

  15. 15 楼
    红外防水摄像机 2011-12-16 02:19

    超链从定向?第一次听说!

  16. 16 楼
    陌凡 2011-12-15 17:57

    还好我的博客主题没有遇到这个问题 😛

    • 回复
      大葱 2011-12-15 18:41
      @陌凡 这个是超链接重定向,为了防止权重流失。。