[WP技巧]将WordPress评论链接重定向跳转且在新窗口打开
迷走映像建站也有快半个月了吧,Alexin浏览了很多Wordpress的站点,有时有打开一些链接的时候,总是会发现链接变成了以下形式:
http://www.mizimage.com/?r=http://评论者的URL
一开始还以为链接这样转变是在耍酷,后来才明白这是链接重定向跳转,链接重定向跳转有着深层的意义。
最主要的原因就是可以防止泛滥的Spam,将评论者的链接进行重定向跳转,就算有Spam在你的页面成功得手,你也无需担心Spam会和当前页面抢权重了。因为百度对nofollow不感冒,所以就算加了nofollow也是徒劳;另外,Google对nofollow的权重分布方法做了调整,站内链接可能会抢去当前页面的权重,单纯靠nofollow也不是那么靠谱。所以我们需要彩用链接重定向跳转的方法来防止权重的下降。
实现以上功能方法很简单,感谢我爱水煮鱼提供的Comments Link Redirect插件,但我们向来不喜欢用太多插件,所以建议使用代码解决:
将以下代码复制到主题文件夹下的 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://www.mizimage.com/"); exit; } } }
然后还需要在robots.txt文件中添加以下语句,告诉搜索引擎这个这个页面不要抓取:
Disallow: /?r=*
试了几下,感觉不错。但是问题来了:发现inove这个主题一个问题,就是评论的链接都是在同一个窗口打开,这样其实很不好,因为这样一来会减少本博客的浏览量,另外,很多人不是真的去其它的网站,而是想看看评论者的网站是怎样的,然后还要继续浏览本博客。如果直接转到其它网站,是一种很不爽的用户体验。
解决这个方法很简单,就是直接打开wp-includes文件夹,下的comment-template.php,查找代码段:
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);
修改为,即增加:target=’_blank’ 语句
if ( empty( $url ) || 'http://' == $url ) $return = $author; else $return = "<a class="url" rel="external nofollow" href="$url" target="_blank">$author</a>"; return apply_filters('get_comment_author_link', $return);
这样子就可在新的窗口打开了。
学习了
[Reply]
谢谢,终于找到了我想要的
[Reply]
[Reply]
3.0.4版本用了不行啊,还是我太菜的原因
[Reply]
不错,来支持一下
[Reply]
呵呵,不错的分享。
[Reply]
[Reply]
拿去用了3Q
[Reply]