文章为什么被重复收录? 文章被百度重复收录的原因及解决方法

问题现象:

文章为什么被重复收录? 文章被百度重复收录的原因及解决方法

点击进入链接,除了原网页,分别出现:

http://www.stcash.com/5273/comment-page-1

http://www.stcash.com/5273?replytocom=1989

前面一篇文章居然出现一个三级目录,后面一篇文章又类似于动态网页网址。我文章中是没有这两个链接地址的,查看网页源码,看出了一点端倪。

原因分析:

我发现了这两个?replytocom=1989网址的来源:文章评论链接

文章为什么被重复收录? 文章被百度重复收录的原因及解决方法

四个评论刚好对应四个replytocom,百度蜘蛛可能有一定的智能,四个replytocom网址中只收录了一个,但是又不够智能,没有区分出来评论链接和原文链接对应的文章内容是相同的。

comment-page-1网址同样是来源于评论链接,comment-page-1代表着评论页面的第一页。如果我的评论比较多,比如说有1000条评论,那么一页肯定是显示不下去的,就会出现comment-page-2,comment-page-3......这就是评论分页功能,这个功能本质上是防止评论过多时,网页会被拉的很长,导致网页加载速度慢和用户体验差。但是不巧的是,百度蜘蛛依然不能识别出来这和原文

解决方法:

1、对于comment-page-1重复收录,有两种方式解决

1)在wordpress后台关闭评论分页

文章为什么被重复收录? 文章被百度重复收录的原因及解决方法

2)修改robots.txt,加上一句项目的代码

Disallow: /comment-page-

robots.txt在网站根目录,使用 网址/robots.tx就可以看到设置的结果了。如果根目录下没有这个文件

wp-includes/funtion中有这么一段代码:

  1. $output = "User-agent: *\n";
  2. $public = get_option( 'blog_public' );
  3. if ( '0' == $public ) {
  4.     $output .= "Disallow: /\n";
  5. else {
  6.     $site_url = parse_url( site_url() );
  7.     $path = ( !emptyempty$site_url['path'] ) ) ? $site_url['path'] : '';
  8.     $output .= "Disallow: $path/wp-admin/\n";
  9. }

$output .= "Disallow: $path/wp-admin/\n";  后面增加一句$output .= "Disallow: $path/comment-page-\n";

2、对于replytocom重复收录,设置robots.txt文件

Disallow:/*?replytocom=

或者是加上对于包含replytocom的所有链接都加上nofollow链接

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

相关推荐