SEO实战密码-4.6 禁止抓取、收录机制- 高飞网

4.6 禁止抓取、收录机制

2016-07-26 13:23:46.0

    有的时候,站长并不希望某些页面被抓取和收录,如付费内容、还在测试阶段的页面、复制内容页面等。网站不出现链接,或者使用JavaScript、Flash链接,使用nofollow等方法都不能保证页面一定不被收录。站长自己虽然没有链接到不想被收录的页面,其他网站可能由于某种原因导入链接,导致页面被收录。

    要确保页面不被收录,需要使用robots文件或Meta Robots标签。

4.6.1 robots文件

    搜索引擎蜘蛛访问网站时,会先查看网站根目录下有没有一个命名为robots.txt的纯文本文件,robots.txt用于指令搜索引擎禁止抓取某网站某些内容或指定允许抓取某些内容。如百度的robots.txt文件位于:

    http://www.baidu.com/robots.txt

    只有在需要禁止抓取某些内容时,写robots.txt都有意义。robots文件不存在或者是空文件都意味着允许搜索引擎抓取所有内容。robots.txt文件由记录组成,记录之间以空行分开。记录格式为:

    <域>:<可选空格><域值><可选空格>

    最简单的robots文件:

User-agent:*
Disallow:/

    上面这个robots文件禁止所有搜索引擎抓取任何内容。

域值含义
User-agent

指定下面的规则适用于哪个蜘蛛。通配符*代表所有搜索引擎。搜索引擎Agent请参考这里。例如:

User-agent:Baiduspider
User-agent:Googlebot

Disallow

告诉蜘蛛不要抓取某些文件或目录。例如,下面的代码将阻止所有蜘蛛抓取/cgi-bin/和/tmp/两个目录下的内容及aa/index.html:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /aa/index.html

Allow告诉蜘蛛应该抓取某些文件。
$匹配符

匹配URL结尾的字符。例如,下面的代码将允许蜘蛛抓取以.htm为后缀的URL

User-agent: *
Allow: .htm$

*通配符

告诉蜘蛛匹配任意一段字段。例如,下面代码将禁止蜘蛛抓取所有htm文件

User-agent: *
Disallow: /*.htm

Sitemap

告诉蜘蛛XML网站地图在哪里,格式为:

Sitemap:<网站地图位置>

    下面的代码禁止除百度以外的所有搜索引擎抓取任何内容:

User-agent:Baiduspider
Disallow: 

User-agent: *
Disallow: /

    由于不指定就是允许抓取,Allow单独写没有意义,Allow和Disallow配合使用,可以告诉蜘蛛某个目录下大部分不允许抓取,只允许抓取一部分。例如,下面的代码将使蜘蛛不抓取/ab/目录下其他目录和文件,但允许抓取其中/cd/目录下的内容:

User-agent: *
Disallow: /ab/
Allow: /ab/cd/

  

    主流搜索引擎都遵守robots文件指令,robots.txt禁止抓取的文件搜索引擎将不访问,不抓取。但要注意的是,被robots文件禁止抓取的URL还是可能出现在搜索结果中。只要有导入链接指向这个URL,搜索引擎就知道这个URL的存在,虽然不会抓取页面内容,但是可能以下面几种形式显示在搜索结果中:

  1. 只显示URL,没有标题、描述。Google常这样处理。
  2. 显示开放目录或雅虎等重要目录收录的标题和描述。
  3. 导入链接的锚文字显示为标题和描述。百度常这样处理。
  4. 要想使URL完全不出现在搜索结果中,需要使用页面上的meta robtos标签。


4.6.2 meta robots 标签

    meta robots标签是页面head部分meta标签的一种,用于指令搜索引擎禁止索引本页内容。

    最简单的meta robots标签格式为:

 <meta name="robots" content="noindex,nofollow">

    上面标签的意义是禁止所有搜索引擎索引本页面,禁止跟踪本页上的链接。

    Google、必应、雅虎都支持的meta robots标签如下:

标签含义
NOINDEX告诉蜘蛛不要索引本页面。
NOFOLLOW告诉蜘蛛不要跟踪本页面上的链接
NOSNIPPET告诉蜘蛛不要在搜索结果中显示说明文字
NOARCHIVE告诉蜘蛛不要显示快照
NOODP告诉蜘蛛不要使用开放目录中的标题和说明

    百度的官方说法是目前只支持NOFOLLOW和NOARCHIVE。