WordPress评论链接重定向跳转与新窗口打开

2011年2月17日 发表评论 阅读评论

看过月光博客以及一些使用Zblog的博客,我们会发现他们文章后面的评论链接显示为:http://url/?to=http://newrul,并不是直接的地址,但是点击后,同样可以跳转到评论者的网站,Wordpress也可以吗?

一、闪电博客今天教大家如何改成重定向链接的方式,早前闪电也写过一篇直接去掉评论者链接的文章。

先说下重点向链接比直接显示留言者链接的好处,从一定程度上讲默认的这种链接每一个评论都是一个外链,会分散站点的权重,就跟闪电博客以前说的友情链接太多会分散首页权重,将评论链接修改为重定向之后效果会好一些。

OK,开始动手吧!

在主题目录的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: http://你的网址/");
            exit;
        }
    }
}

如果你还有特殊需求,也可以重定向控制评论框中的文本的URL链接。

二:评论链接新窗口打开

WordPress默认的评论者链接都是在同一个窗口中打开的,访客点击评论者链接之后就离开了你的站,

也就没有了回头客,很多时候流量就是在这个时候丢失的。

方法:在wp-includes/comment-template.php中增加一个target=’blank’语句。

即把这段代码:

if ( empty( $url ) || ‘http://’ == $url )
$return = $author;
else
$return = "<a class="url" rel="external nofollow" href="$url">$author</a>";
return apply_filters(‘get_comment_author_link’, $return);

即在第一句的nofollow后面增加一个target="_blank"

最后 建议在robots.txt中增加一行:Disallow: /?r=* 告诉搜索引擎不要抓取此页面  至此整个修改已经大功告成,刷新浏览器所见即所得。


转载请注明来自:[闪电博客]http://shandian.biz/304.html

分类: Wordpress 标签:
  1. baby stroller
    2011年2月18日09:42 | #1

    这个好玩,我也去我空间试试。。。

  2. SuperPhper
    2011年12月24日14:49 | #2

    人家是大站啊,小站个人觉得新窗口打开就好了 没必要在重定向了