欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-04-26 15:56:24
一篇文章被三次重复收录,这一现象无论是对于读者还是对于搜索引擎都是不好的,一篇同样文章被收录三次,另外两篇就成了"垃圾"了么?文章为什么被重复收录?本文将提供文章被百度重复... 16-01-06...
问题现象:

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

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

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. }

以上就是对文章被百度重复收录的原因及解决方法全部内容的介绍,更多内容请继续关注!