当前位置 : 主页 > 基础优化 > 正文

robots禁止抓取规则为什么还被收录

原创

重庆seo2017-09-25 21:41:00阅读()robotsseo优化网站基础优化A+ / A-

robots禁止抓取规则为什么还被收录

       有时候不希望搜索引擎抓取某些内容可以写robots.txt文件放到根目录,按理蜘蛛会首先读取这个文件,按照robots协议抓取相应的内容。但是许多站长们发现,蜘蛛并不太遵守这个协议。

       为验证这个问题,做了测试后发现,如果蜘蛛已经抓取并有索引、快照了,这个时候再写robots就不遵守这个协议了,一般在robots中禁止抓取文件夹如下,

Disallow:/about/

       还不放心,在页面里增加<meta>声明

<meta name="robots" content="noindex,follow" />

       这个声明的意思是告诉蜘蛛不建立索引,可以沿着路径继续抓取内容。以为这就能让已经收录的快照删除了,有网友说这需要等待,时间都说不好。

       百度有个规则是判断页面质量,如果多个页面重复内容过多,会被降权,甚至移出索引库。等待很长世间才会被移出索引库,一般调整过的网站的收录量会减少,但不是大幅度减少,是因为有些垃圾页面在算法更新后被移出索引库而已,这对于正规SEO做法的站长来说是好事,垃圾页面会影响到网站的排名。

       robots和nofollow都能控制蜘蛛抓取范围,而两个的用法不尽相同。

robots协议

       告诉蜘蛛哪些内容可抓取,哪些不可抓取。原则是:参与排名的就让蜘蛛抓,不参与的或涉及到信息安全的不抓取。

nofollow标签

       告诉蜘蛛该页面内,某链接不可信任,不传递权重。一般在页面链接较多的情况下(页面会给该页面下所有链接权重),为了集中页面权重,一些无关紧要的链接采用nofollow加以控制。

       简单说,nofollow主要是为了集中某个页面的权重,而robots是控制整个网站的蜘蛛抓取范围。那么问题来了,为什么很多时候蜘蛛不遵守我们的robots协议呢?(一些垃圾蜘蛛是完全不遵守robots协议的)我们说的蜘蛛主要指百度、谷歌蜘蛛。

①书写错误

       robots.txt的书写格式是一行一行的写,不能连着写,如

User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/

       每个记录都需要另起一行,每个记录里不允许空行,空行用来分割不同的记录。正确的如

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/

       很多时候搜索引擎抓取了你 robots.txt 不允许抓取的内容不是因为机器人不遵守,而是从抓取到索引到展现这个过程需要一段时间,当搜索引擎已经抓取了,你才更新,那么之前抓取的是不会那么快删掉的,删除周期并不规律,一般是算法更新后生效的情况多些。

       下面说下几个新手可能会需要的信息。

1、robots.txt 怎么写?       

       各大搜索引擎的站长平台(英文叫 webmasters )都有详细说明,也有生成工具。

2、怎样确定 robots.txt 有效?

       站长平台都有抓取 robots.txt 的工具,也会有“抓取工具”来确认某个页面是不是可以正确抓取。

3、怎样通知搜索引擎 robots.txt 已更新?

       和上面的一样,通过站长平台的抓取工具重新抓取(有的是“更新”)即可。

4、让搜索引擎抓取了不应该抓取的内容怎么办?

       这个常用方法有几种:

* 在站长平台的删除链接工具中输入链接并确认删除
* 修改代码使搜索引擎访问时返回错误代码(503、404等),然后在站长平台重新抓取
* 修改 robots.txt (这个只建议在上面两个操作过之后补充)

5、整站禁止抓取,如何操作更有效?

       有的搜索引擎索引是不遵守 robots.txt 的,只有在展现的时候遵守,也就是说,就算你 robots.txt 写明了禁止抓取,你会发现还是有机器人来爬。

       所以如果是大目录或者是整站禁止抓取,建议在服务器软件(如 nginx)的代码段中直接判断搜索引擎 UA 并返回错误代码。这样一方面可以减轻服务器压力,一方面可以真正禁止抓取。

    扩展阅读

    本文地址:https://www.vi586.com/seo/470.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处

    赞(64)