跳到正文

Robots.txt

中级网页

Robots.txt 是放在网站根目录、供爬虫读取的文本文件,用来说明哪些路径可以抓取、哪些路径希望它别抓取。比如你可以让搜索引擎抓取公开文章,同时避开大量筛选结果页。

你可能会说:「我想让搜索引擎继续抓公开文章,但别反复抓取那些筛选出来的列表页,怎么设置?」

读之前建议先了解

动手看看

读取规则搜索爬虫先看规则抓取规则robots.txt公开文章等待抓取筛选结果页等待判断
1

搜索爬虫准备收集内容站的页面,先读取网站根目录的 /robots.txt,看看站点希望它抓哪些路径。

要点

  1. 1

    放在网站根路径供爬虫读取

    爬虫访问一个站点时,可以先读取这个站点根路径下的 robots.txt。它只管所在的协议、域名和端口;你给主站配好了,不等于另一个子域名也跟着生效。

  2. 2

    按爬虫和路径表达抓取意愿

    文件里可以用 User-agent 指定爬虫,再用 Disallow 和 Allow 描述路径规则。比如我们想减少筛选页被抓取,就先确认这些页面实际使用的路径,再写规则,而不是凭页面名称猜。

  3. 3

    规则生效不等于内容受保护

    守规矩的爬虫会参考规则,但普通访客和其他程序仍能访问页面。爬虫也可能缓存文件,所以改完后不会立刻都按新规则行动;你可以检查线上文件是否可访问,再观察抓取变化。

容易混淆的地方

Robots.txt 管的是爬虫能否抓取路径,不是页面能否出现在搜索结果里:被拦住的 URL 仍可能因外部链接被收录。想让公开页面退出搜索结果,可以考虑页面级 noindex,并让搜索引擎能读取到它;想保护后台或私密数据,则靠身份认证和权限控制。

什么时候用

适合用

  • 产品站有大量按颜色、价格组合出的筛选页,你想减少爬虫在这些重复路径上的抓取。
  • 上线公开文档站后,你想让爬虫抓正文页面,同时避开站内搜索结果页。
  • 迁移网站时,你要核对新域名上的抓取规则,避免沿用测试环境的拦截配置。

不适合用

  • 后台页面含客户资料时,不能靠它保密;给后台加身份认证和权限控制。
  • 某篇公开页面已经出现在搜索结果中,而你只想移除这篇页面;考虑页面级 noindex,让爬虫能读取到它。
  • 你只是想告诉搜索引擎网站有哪些重要页面;用 XML 站点地图提供页面清单更合适。

练一练

你的网站有公开文章,也有大量可由筛选条件生成的列表页。团队希望减少爬虫抓取列表页,但文章仍可被抓取。你会让 AI Agent 怎么做?

让 AI 帮你做

请检查本站线上 robots.txt 和实际路由:公开文章页保持可抓取,限制爬虫抓取筛选结果页。先列出会受影响的路径,再修改配置;不要把它当作访问控制。完成后说明如何验证线上文件可访问,以及文章页没有被误拦。

接下来学什么