搜索引擎爬虫访问网站时,首先会读取根目录下的 robots.txt 文件。这个纯文本文件相当于向爬虫提供的访问指南,按其约定,哪些路径允许抓取、哪些路径需要避开一目了然。合理配置可以有效保护后台与隐私目录不被收录,同时引导爬虫将有限的抓取配额集中在核心页面,对网站 SEO 产生积极促进作用。
robots.txt 文件必须放置在站点根目录,例如 https://yourdomain.com/robots.txt,注意文件名和目录大小写敏感,推荐使用 UTF-8 编码保存。每条指令需单独占一行,行尾不应存在多余空格。要想编写正确的规则,首先要了解几个基础字段的含义和边界:
除了上述指令,还可以添加 Sitemap 行指明站点地图文件位置。下面是一个典型的规则组合:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
这段配置的含义为:默认允许抓取全站,但 /admin/ 目录不开放,其中 /admin/public/ 作为例外可以访问。需要注意的是,如果某个爬虫不识别 Allow 指令,那么它只会遵循 Disallow 的限制,此时 /admin/public/ 对它仍然不可访问。
不同网站的目标不同,robots.txt 的写法也会随之变化。以下三种模式可覆盖大多数站点的需求,可根据自身路径进行替换调整。
内容型网站或刚上线的新站,通常希望所有页面都能被搜索引擎抓取。这时只需一行规则:
User-agent: *
Disallow:
实际上,将 Disallow 整行省略也能达到同样效果。最需要警惕的是误写为 Disallow: /,一旦如此,所有爬虫都会被拒绝访问,收录数据将立即停止更新。修改规则后,建议通过站长平台的抓取测试工具验证实际效果。
如果网站不希望被某个特定搜索引擎收录,可以单独为其编写规则:
User-agent: Bingbot
Disallow: /
这样设置后,其他爬虫的抓取策略不会受到任何影响。注意爬虫名称必须写准确,比如 Googlebot、Baiduspider 和 Sogou 蜘蛛各不相同,名称写错规则就不会生效,建议到各搜索引擎官方文档中核实名称写法。
部分工具型站点希望爬虫只能进入指定目录,其余路径全部限制。此时可以这样配置:
User-agent: *
Disallow: /
Allow: /public/
要注意,Disallow: / 会阻止所有爬虫访问全站,但 Allow 指令对某些爬虫可能无效,若爬虫忽略 Allow,那么 /public/ 目录也会被禁止访问。因此,对于重要目录的放行,建议同时通过其他方式(如内链和 sitemap)辅助抓取。
在实际操作中,不少站长会因为细节疏忽导致规则失效或误伤。以下列出几个高频问题:
编写完成后,验证是必不可少的一步。可以按照以下步骤逐步检查:
如果发现爬虫依然抓取了 Disallow 指定的路径,优先排查是否写错文件名、是否有多余空格,或者是否使用了不支持的指令格式。
不能。robots.txt 只能阻止爬虫抓取页面,但如果页面已被其他网站链接或出现在外部内容中,搜索引擎仍可能将其编入索引。若需要彻底禁止页面出现在搜索结果中,应使用 noindex 标签。
不能。Disallow: / 会阻止所有爬虫抓取全站内容,导致页面无法被正常收录,已有的收录结果也可能逐步消失。若误操作,应立即修改为 Disallow: 并提交抓取测试确认恢复。
不可以。robots.txt 文件必须位于站点根目录下才能被爬虫自动读取,放在子目录中规则不会生效。同时,每个子域名通常需要独立放置一个 robots.txt 文件。
robots.txt 是站点与搜索引擎沟通的基础工具,写对规则能有效保护隐私目录、优化抓取配额。建议优先掌握 User-agent、Disallow、Allow 和 Sitemap 四个核心指令,根据站点实际场景选择模板,并在修改后通过站长工具验证。日常维护中,定期检查文件格式和路径变化,避免因小疏忽导致整站无法收录,才能让爬虫稳定高效地为你服务。