经常在一些朋友的博客上看到,当鼠标移动到评论者上时,浏览器的状态栏显示的地址是这样子的格式:https://www.zrblog.net/?to=http://newrul,而我的博客是直接指向评论者地址的,网上有人说这样子每个评论就是一个外链,会分散网站权重。所以,我也搜下,将评论者链接重定向。下面是来自网络整理,个人实测的修改方法。
打开我们的主题目录,找到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.zrblog.net/"); exit; } } }
这样修改后,刷新下页面,我们的评论者链接已经被重定向了,不过,每次别人打开评论者链接的时候,就离开了你的博客,回头客就这么白白的跑了太可惜,别着急,我们还可以修改: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”了吗?这就是我添加进去的,添加了这句代码,评论
者链接就在新窗口打开啦!怎样,你也去试试吧!