wordpress去除replytocom评论链接影响收录

引言:此文由子域名转移而来,因为细微强迫症和放弃子域名而不舍得完全丢弃,所以将会逐步第二次转移文章到主域名上来,二者主题(阿里白秀和D8)均来自大前端,追求完美的同时有一丝小懒,主题就不换了,D8主题用起来挺好。

众多的wordpress网站,对于wordpress的评论链接有一个问题,那就是会出现这样带replytocom参数的链接(http://a.com/a.html?replytocom=12#respond),这样一来对网站收录不友好,对于这点百度也有动作:

百度cannio标签说:各位站长在设置Canonical标签前,仔细检查两个网页是否真的完全相同——一旦百度发现其中一个Canonical标签有问题,会不信任该站点的所有Canonical标签。 这样的抓取很容易导致网站被k,这里说下几种解决方法。

以下是几种解决办法(推荐第三种):

方法一:robots.txt屏蔽该链接即为最简单的方法。

  1. User-agent: *
  2. Disallow: /*?replytocom=

方法二:在链接上加上nofollow,这个也容易理解。

  1. add_filter('comment_reply_link', 'add_nofollow', 4204);
  2. function add_nofollow($link, $args, $comment, $post){
  3.     return str_replace("href=""rel='nofollow' href=", $link);
  4. }

方法三:替换replytocom链接。

  1. //WordPress去除留言带replytocom链接,防止收录重复内容
  2. add_filter('comment_reply_link', 'add_nofollow', 4204);
  3. function add_nofollow($link, $args, $comment, $post){
  4.     return preg_replace( '/href=\'(.*(\?|&)replytocom=(\d+)#respond)/', 'href=\'#comment-$3', $link );
  5. }

因为不是所有的搜索引擎都支持robots协议跟nofollow属性而且蜘蛛不识别带#的链接,所以推荐第三种将replytocom替换为#comment-评论id的方法。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注