您的位置:首页 > 其它

WordPress去除带replytocom参数链接,防止收录重复内容

2013-10-18 00:00 459 查看
文章目录

禁止蜘蛛抓取replytocom
给链接添加nofollow
直接删除replytocom链接


在WordPress的评论列表区域,大多数主题的回复按钮链接是类似这样的:

链接A:http://a.com/a.html?replytocom=12#respond
其实上面的链接跟没有参数的链接是同一个页面,两个链接的内容其实是完全一样的:

链接B:http://a.com/a.html

这样就会导致一个后果,链接A被蜘蛛抓取后,会导致搜索引擎重复收录相同内容的页面,影响SEO。为了不被搜索引擎惩罚,保护自身利益,我们应该尽量避免这样的问题出现。下面我提供三种方法,供大家参考:

禁止蜘蛛抓取replytocom

在网站根目录下的robots.txt中,加入以下规则,禁止搜索引擎抓取含有 ?replytocom= 的链接:

User-agent: *

Disallow: /*?replytocom=

给链接添加nofollow

此方法效果跟上面的差不多。我们可以在当前主题的functions.php中添加以下PHP代码,这样就给回复按钮链接添加rel="nofollow"属性,同样可以告诉搜索引擎不要抓取此链接:

add_filter('comment_reply_link', 'add_nofollow', 420, 4);
function add_nofollow($link, $args, $comment, $post){

  return str_replace("href=", "rel='nofollow' href=", $link);

}

直接删除replytocom链接

有些搜索引擎并不遵守robots.txt规则或nofollow属性,会照样抓取replytocom链接。我们可以在当前主题的functions.php中添加以下PHP代码,这样链接A就会直接被替换成了#comment-评论id,搜索引擎会自动忽略带 # 号的链接,并且你的网站再也不存在replytocom链接了:

add_filter('comment_reply_link', 'add_nofollow', 420, 4);
function add_nofollow($link, $args, $comment, $post){

  return preg_replace( '/href=\'(.*(\?|&)replytocom=(\d+)#respond)/', 'href=\'#comment-$3', $link );

}

如果你不喜欢 #comment-评论id 这样的链接,可以将第4行代码中的 #comment-$3 改成你自己喜欢的链接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: