robots 文件
本地来源:seo-llm/SEO实战密码-markdown/第04章 网站结构优化/禁止抓取、索引机制/robots 文件.md
robots 文件
搜索引擎蜘蛛访问网站时,会先查看网站根目录下有没有一个命名为 robots.txt 的纯文本文件,robots 文件用于指定搜索引擎蜘蛛禁止抓取网站某些内容或指定允许抓取某些内容。如百度的 robots 文件位于:
http://www.baidu.com/robots.txt
只有在需要禁止蜘蛛抓取某些内容时,写 robots 文件才有意义。robots 文件不存在或者是空文件时,都意味着网站允许搜索引擎蜘蛛抓取所有内容。有的服务器设置有问题,robots 文件不存在时会返回 200 状态码及一些错误信息,而不是 404 状态码,这有可能使搜索引擎蜘蛛错误解读 robots 文件信息,所以建议就算允许抓取所有内容,也要建一个空的 robots 文件,放在根目录下。
robots 文件由记录组成,记录之间以空行分开。记录格式为:
最简单的 robots 文件:
上面这个 robots 文件禁止所有搜索引擎蜘蛛抓取任何内容。
User-agent:指定下面的规则适用于哪个蜘蛛。*通配符代表所有搜索引擎蜘蛛。只适用于百度蜘蛛则用:
只适用于 Google 蜘蛛则用:
Disallow:告诉蜘蛛不要抓取某些文件或目录。例如,下面的代码将阻止所有蜘蛛抓取/cgi-bin/和/tmp/两个目录下的内容及文件/aa/index.html:
Disallow:这行代码中,禁止蜘蛛抓取的目录或文件必须分开写,每个一行,不能写成:
下面的指令相当于允许所有搜索引擎蜘蛛抓取任何内容:
下面的代码禁止除了百度蜘蛛的所有搜索引擎蜘蛛抓取任何内容:
Allow:告诉蜘蛛应该抓取某些文件。由于不指定就是允许抓取,Allow: 单独写没有意义,Allow: 和 Disallow: 配合使用,可以告诉蜘蛛某个目录下大部分不允许抓取,只允许抓取一部分。例如,下面的代码将使蜘蛛不抓取/ab/目录下其他目录和文件,但允许抓取其中/cd/目录下的内容:
通配符$:匹配 URL 结尾的字符。例如,下面的代码将允许蜘蛛抓取以.htm 为后缀的 URL:
下面的代码将禁止百度蜘蛛抓取所有.jpg 文件:
通配符*:告诉蜘蛛匹配任意一段字符。例如,下面一段代码将禁止蜘蛛抓取所有 htm
文件:
位置 Sitemap:告诉蜘蛛 XML 网站地图在哪里,格式为:
主流搜索引擎都遵守 robots 文件指令,robots 文件禁止抓取的文件搜索引擎蜘蛛将不访问,不抓取。
要注意的是,robots 文件是禁止抓取,并没有禁止索引。被 robots 文件禁止抓取的 URL 是可以被索引并出现在搜索结果页面中的。只要有导入链接指向这个 URL,搜索引擎蜘蛛就知道这个 URL 的存在,虽然不会抓取页面内容,但是索引库中还是有这个 URL的信息,并可能以下面几种形式显示在搜索结果页面中。
- 只显示 URL,没有标题、描述。
- 导入链接的锚文字显示为标题和描述。
- 将搜索引擎从其他地方获得的信息显示为标题和描述。
最著名的例子是,淘宝整站用 robots 文件禁止百度蜘蛛抓取,如图 4-2 所示。
但在百度搜索淘宝还是会返回首页及少量其他页面信息的,只不过页面标题和摘要来自其他来源,而不是页面本身的内容,如图 4-3 所示。


图 4-2 淘宝整站禁止百度蜘蛛抓取 图 4-3 百度返回淘宝首页
要想使 URL 完全不出现在搜索结果中,需要使用页面上的 noindex meta robots 标签禁止索引。
本文档为站内渲染。原始文件本地路径:saas/source/seo-llm/SEO实战密码-markdown-第04章-网站结构优化-禁止抓取-索引机制-robots-文件-8cfe68.md(仅本地保留,不入库不部署)