示例 3:为所有搜索引擎阻止选定的文件/文件夹
假设,我们不希望搜索引擎抓取搜索引擎结果页面 (SERP) 中的某些文件 (private.html) 和文件夹(图像)。
我们可以对需要排除的每个文件和文件夹使用多个 Disallow。
User-agent: * Disallow: /images/ Disallow: /private.html
robots.txt 文件如何工作?
搜索引擎首先执行爬网以发现网页,然后执行索引以将它们包含在搜索引擎结果中。
在抓取过程中,搜索引擎会根据网站上的链接来发现其他页面,因此能够抓取超过 10 亿个网站。
在抓取网站之前,搜索引擎机器人会检查 robots.txt 文件。
如果 robots.txt 文件允许所有内容,搜索引擎将抓取所有页面。
如果我们禁止所有或者某些页面,它不会抓取这些页面。
robots.txt 文件指定抓取指令,不控制索引。
示例 4:多个规则
在这里,我们阻止了谷歌搜索引擎的“我的文件夹”,阻止了谷歌图片的所有内容,并允许了必应搜索引擎的所有内容。
User-agent: googlebot Disallow: /my-folder/ Allow: / User-agent: Googlebot-Image Disallow: / User-agent: Bingbot Allow: / Sitemap: https://www.domain.com/sitemap.xml
示例 1:允许所有搜索引擎抓取所有内容。
User-agent: * Disallow:
在这里,星号 (*) 符号用于指示所有搜索引擎。
由于不允许为空,所有内容将被允许为所有搜索引擎抓取。
robots.txt 文件的语法:
我们可以在 robots.txt 中指定不同的元素,例如 User-agent、Allow、Disallow、Crawl-delay 和 Sitemap。
这是文件的简单结构或者语法:
User-agent:[网络爬虫或者机器人名称] Disallow: [不允许抓取的文件/文件夹URL] Allow: [可以抓取的文件/文件夹URL]
字段 | 描述 |
---|---|
User-agent | 指定网络爬虫或者机器人 |
Allow | 指定允许访问的页面、文件或者文件夹 |
Disallow | 指定不允许访问的页面、文件或者文件夹 |
Crawl-delay | 告诉时间(以秒为单位)在开始抓取页面之前等待抓取工具。Google 不遵循此规则,但我们可以在 Search Console 中更改其设置。 |
Sitemap | 指定网站站点地图文件的 URL。Google、Bing、Ask 和 Yahoo 等有限的机器人支持这一点。 |
注意:在标题大小写中写下每个元素(仅限首字母大写)。
以井号 (#) 符号开头的行将仅被视为注释。
robots .txt 是一个文本文件,其中包含针对搜索引擎爬虫的说明,可以访问或者爬取哪些页面以显示在搜索引擎结果中。
robots.txt 文件指定网站的机器人排除协议 (REP)。
当我们想要阻止搜索引擎(或者公共用户)访问网站内容时,机器人扮演着重要角色。
大多数搜索引擎爬虫(如 GoogleBot、Bingbot)遵循机器人文件,但某些(不良)网络机器人可能不会。
因此,我们不应完全依赖 robots.txt 文件来阻止网站上的私有或者机密数据。
在为网站制定搜索引擎优化 (SEO) 教程时,了解 Robots.txt 文件的使用非常重要。
流行用户代理(机器人)列表:
- 谷歌:Googlebot
- 必应:Bingbot
- Google 图片:Googlebot-Image
- 雅虎:Slurp
- 百度:Baiduspider
创建 robots.txt 时的提示和说明:
- robots.txt 文件需要放在网站的根目录中,例如:顶级目录并且可以公开访问。
- 示例 1:https://www.example.com/robots.txt
- 示例 2:https://subdomain.example.com/robots.txt
- 文件 robots.txt 名称必须小写。
- 搜索引擎可能会缓存 robots.txt 文件一段时间(Google 缓存最多一天)。
- 如果我们希望 Google 立即获取最新的 robots.txt 文件,我们可以尝试使用 Search Console 中的 Google 机器人测试工具“提交”。
- 谷歌对 robots.txt 的最大文件大小限制为 500 kb。这对于大多数网站来说已经足够了。尽管如此,如果我们有数千个 URL,则需要智能地指定它们。
- 如果 robots.txt 文件不存在或者不包含任何禁止规则,它将抓取网站上的所有信息。
- 每条允许或者禁止访问的指令都区分大小写。因此,请指定确切的文件夹/文件名。
- 建议在 robots.txt 文件底部包含站点地图文件位置。它可以帮助爬虫更快地定位所有网站页面。
示例 2:阻止所有搜索引擎的所有访问
如果我们想限制公众访问网站(通过搜索引擎),我们可以阻止所有搜索引擎。
User-agent: * Disallow: /
此处,斜线 (/) 符号用于指定所有文件夹、子文件夹和文件。