搜索引擎的爬虫访问一个网站时,通常先查看根目录下的 robots.txt 文件。它是一份纯文本的“抓取说明”,用来告诉爬虫哪些内容可以访问、哪些目录应该绕开。如果设置得当,能避免后台和重复页面被收录,同时让爬虫把抓取额度用在最重要页面上。
robots.txt 通常放在网站根目录,对文件名和路径大小写敏感,建议以 UTF-8 编码保存,每条规则独占一行。一个完整实用的文件一般由以下部分组合而成:
举个例子,以下组合是最常见的配置样式:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
这段配置的含义是:允许所有爬虫进入网站,但 /admin/ 目录整体不许抓,只有里面的 /public/ 子目录可以正常访问。需要注意的是,Allow 指令只被 Google 等少数爬虫识别,如果爬虫不认识这条指令,它仍然会遵守更加严格的 Disallow 设定,因此不能完全依赖 Allow 来放开某个目录。
不同类型的网站对抓取需求有较大差异,下面这些思路可以覆盖大多数情况。
以内容为主的网站通常希望爬虫尽量多地抓取并收录页面。这类站点可以把 Disallow 的值留空,表示不做限制:
User-agent: *
Disallow:
如果直接省略 Disallow 这一行,效果也是一样的。最常见的失误是误写成 Disallow: /,这会让所有爬虫立刻停止访问整站,造成收录完全停滞,务必反复核对。
当遇到不希望的某个搜索引擎收录网站内容时,可以为它单独定义规则:
User-agent: Bingbot
Disallow: /
这条规则只会限制 Bing 爬虫的操作,Google 和百度的抓取行为不会受到影响。动手前应先到各搜索引擎官方文档中确认爬虫名称的准确拼写,例如百度爬虫是 Baiduspider。一旦名称拼写有误,屏蔽规则就不会生效。
如果遇到大规模改版、敏感数据迁移或短时间内网站不对外提供服务的情况,可以暂时阻止所有爬虫:
User-agent: *
Disallow: /
这种做法的好处是快速且干净,但务必在操作完成后及时恢复配置。要是长期保留这一规则,网站内容将从搜索结果中逐渐消失。常见做法是配合计划在改版完成后第一时间移除该限制,并用 Search Console 或百度搜索资源平台申请重新抓取。
即使语法没有错误,配置仍可能出现意外效果,以下几个细节需要特别留意。
每次改动 robots.txt 后,建议及时检查文件是否能够正常访问,并留意爬虫的反馈结果。验证路径时,在浏览器中直接输入 https://你的域名/robots.txt 查看是否显示最新的内容,同时注意是否出现首行缺失、编码异常等情况。
更标准的做法是利用搜索引擎提供的工具,例如 Google Search Console 中的“robots.txt 测试工具”或百度搜索资源平台的相关功能,它们能显示规则是否有效,以及可能影响到的 URL 数量。等待变更生效一般需要几天时间,期间不要反复修改,以免爬虫无法稳定读取。
不能。robots.txt 只能阻止爬虫抓取页面,但页面若已存在于搜索结果中,抓取屏蔽后不会立即移除索引。要让页面彻底不被收录,应使用 noindex 标签或直接删除页面内容。
Allow 不是所有搜索引擎都支持的指令,部分爬虫会忽略它。如果需要确保某个指定路径不被屏蔽,建议重新设计目录结构,或避免在 Disallow 中覆盖该路径,而不能仅依赖 Allow 来开放权限。
没有固定时间,通常需要数小时到数天才能完全生效,取决于搜索引擎多久来抓取一次这份文件。想加快速度,可通过 Google Search Console 或百度搜索资源平台手动提交 robots.txt 更新请求。
robots.txt 虽然只是一份简单文本,却直接影响站点的抓取效率和收录质量。配置时建议先明确当前运营阶段的目标:是希望放开收录还是临时收紧。每次改动都要确认文件位置、路径写法和符号是否准确,改完借助官方工具加以验证。合理运用这份“守则”,能让搜索引擎的资源真正集中在有价值的内容上。