跳转到正文
技术教程·

robots.txt 配置教程:屏蔽爬虫与指定 sitemap

robots.txt 配置教程:从零讲解 robots.txt 语法与常见指令,含 User-agent、Allow/Disallow、通配符与 Sitemap 声明,附误配案例分析,避免屏蔽正常页面。

robots.txt 是什么

robots.txt 是放在网站根目录的纯文本文件,用来告诉搜索引擎爬虫:哪些页面可以抓,哪些不能抓。它不是强制性的安全机制,而是一份"君子协定":搜索引擎可以选择遵守,恶意爬虫也可以无视。想理解协议层面的背景,看 robots.txt 是什么

基本语法

一个最小可用的 robots.txt:

User-agent: 

Disallow: /admin/

Sitemap: https://example.com/sitemap.xml

三行分别表示:对所有爬虫生效、禁止抓取 /admin/ 目录、声明 sitemap 位置。Sitemap 行不是 robots 协议的标准部分,但多数搜索引擎都支持,方便爬虫发现 sitemap。

一个常见误区是认为 robots.txt 可以"让页面从搜索结果消失"。 实际上,已经收录的页面不会因为 robots.txt 屏蔽就立刻消失,屏蔽主要影响的是未来抓取。想让已收录页面快速失效,要用资源平台的"删除"功能或返回 410。

常用指令

指令作用示例
User-agent指定规则适用的爬虫User-agent: Baiduspider
Disallow禁止抓取指定路径Disallow: /private/
Allow允许抓取指定路径Allow: /public/
Sitemap声明 sitemap 地址Sitemap: https://example.com/sitemap.xml
Crawl-delay请求间隔(多数引擎忽略)Crawl-delay: 10

不同搜索引擎的 User-agent

不同爬虫有各自的 User-agent,需要按引擎分别控制:

爬虫User-agent用途
百度Baiduspider百度搜索收录
GoogleGooglebotGoogle 搜索收录
BingbingbotBing 搜索收录
360360Spider360 搜索收录

写法是:一段规则块开头写一个 User-agent,下面跟它适用的 Allow / Disallow,不同 User-agent 的规则块之间用空行隔开。想针对某个引擎做精细控制,就给它的 User-agent 单独写一个块。注意一个常见误配:写了 User-agent: Baiduspider 之后,下面的规则只对百度生效,不会影响 Google。

通配符用法

robots.txt 支持两个通配符:

  • 匹配任意字符序列,例如 Disallow: /.pdf 会屏蔽所有 PDF 文件。
  • $ 匹配结尾,例如 Disallow: /.pdf$ 只屏蔽以 .pdf 结尾的路径。
空路径与整站控制的区别很容易写混: Disallow:(后面留空)表示允许抓取全部;Disallow: / 表示禁止抓取所有路径,两者语义完全不同。想屏蔽整个目录时用的是后者,想放行时用的是前者。

一个完整的示例

User-agent: *

Disallow: /admin/

Disallow: /api/

Allow: /public/

User-agent: Baiduspider

Crawl-delay: 5

Sitemap: https://example.com/sitemap.xml

这个例子中,所有爬虫都不能抓 /admin//api/,但可以抓 /public/;百度额外被设置了 5 秒的请求间隔,用来降低服务器压力。

误配的常见根源

绝大多数 robots.txt 问题来自三处:对 Disallow 语义理解偏差、路径与目录混淆、以及改完文件后没有验证。下面几个案例覆盖了最常见的情况,可以直接对照检查自己的配置。

误配案例

误配一:屏蔽了整站。 有人想屏蔽后台,写了 Disallow: /,结果把整个站都屏蔽了,首页也抓不到。Disallow: / 只应在确实不想让任何页面被抓时使用,屏蔽单个目录应该写具体路径。 误配二:路径大小写写错。 robots.txt 的路径是大小写敏感的,/Admin/ 不会屏蔽 /admin/,两边必须一致。很多站点的后台是大小写混用的,写规则前先看一遍真实路径。 误配三:只写 Disallow 不放行子目录。Disallow: /private/ 屏蔽整个目录、但想放行 /private/demo/ 时,需要显式加一行 Allow: /private/demo/。多数引擎按最长匹配生效,单独写 Allow 才会放行子目录。 误配四:把 robots.txt 当成安全手段。 robots.txt 只是给搜索引擎看的提示,无法阻止恶意爬虫或真人直接访问。需要保护的内容应配合登录鉴权,而不是指望 robots.txt。

配置后怎么验证

  • 直接访问 https://你的域名/robots.txt,确认内容正确返回、没有 404。
  • 在百度搜索资源平台的"抓取诊断"里,可以查看爬虫抓到的页面和资源。
  • 确认正常页面没有被 Disallow 误伤,重点看首页和文章页。
  • 修改后及时回滚错误配置,观察索引量变化,确认没有异常下降。

与 sitemap 配合

robots.txt 里的 Sitemap 行是辅助手段,真正的提交还要按平台流程做。想了解 sitemap 的生成与提交,看 sitemap 网站地图是什么网站收录提速教程

必须说明的边界

配置好 robots.txt 能减少抓取层面的障碍,但不保证页面被收录,更不保证排名。收录由搜索引擎算法结合内容质量等因素决定,robots.txt 只是"放行"而不是"邀请进索引"。想理解从抓取到收录的完整链路,看 搜索引擎收录是什么

下一步

常见问题

相关推荐

获取更多 AI 内容

订阅更新,第一时间获取新教程和工具推荐。