网站的根目录下,robots.txt 是一份给搜索引擎爬虫看的访问说明,它划定出哪些目录和文件可以抓取,哪些需要绕行。这份文件配置得当,爬虫的抓取预算能被用在刀刃上,新页面的收录速度也会随之提升;一旦配置失当,轻则重要页面迟迟不被收录,重则可能导致整个站点在搜索结果中消失。接下来我们就把这份文件的关键知识一次性讲清楚。
这份文件的访问地址是固定的,在域名后直接加上 /robots.txt 即可,比如 https://example.com/robots.txt。它必须放置在服务器的根目录下,并且文件名的大小写要完全一致,一旦写错,爬虫就无法找到它。需要特别强调的是,它的职责仅限于管理爬虫的抓取动作,并不能直接决定页面是否出现在搜索结果里。如果希望某个页面彻底不入库,应当在页面头部添加 noindex 标签,这是 robots.txt 无法替代的。
同时要记住,这份文件的效力完全依赖爬虫的配合。主流搜索引擎的爬虫会严格遵守协议,但那些恶意的采集程序或非正规工具根本不会理会它。因此,涉及用户隐私、后台管理或付费资源的路径,务必叠加登录验证、IP 白名单等硬性防护手段,不能只靠一份文本文件来保护。此外,建议定期检查文件中是否误写了敏感目录,避免把不该公开的内部路径暴露给爬虫。
文件的内容由若干组规则构成,每组都以 User-agent 字段开头,每条指令的写法为"字段名: 值",冒号后建议保留一个空格,字段名统一使用小写字母,这样兼容性最好。
这个字段用来指定规则针对哪个爬虫。例如 User-agent: Googlebot 只约束谷歌的爬虫;User-agent: * 则对所有搜索引擎生效。同一份文件中可以配置多组规则,为不同爬虫设定不同权限时要注意,如果某个爬虫同时命中了多组规则,搜索引擎通常按照匹配路径最长的那组执行,拿不准时可以借助站长平台的测试工具来验证。
Disallow 表示禁止抓取的路径,Allow 则表示明确放行。有一个细节容易被忽略:Disallow: 后面如果什么都不写,表示不限制任何路径,即开放全站。当 Allow 与 Disallow 对同一路径产生冲突时,搜索引擎统一遵循"路径更长者优先"的规则。比如同时设置了 Disallow: /api/ 和 Allow: /api/public/,那么 /api/public/ 下的内容依然可以被抓取。书写路径时建议从根目录写完整,避免使用含糊的简写。
Sitemap 指令用于声明网站地图的完整地址,通常放在文件末尾,方便爬虫快速获取内容清单。Crawl-delay 用于设定抓取间隔,但谷歌早已明确表示会忽略该指令,若要控制谷歌爬虫的抓取频率,应当前往 Google Search Console 后台设置;对于 Bing 等搜索引擎它仍然有效,可以保留备用。
下面列出几个常见场景的配置模板,具体路径请按照自身情况灵活替换。
配置完成后,建议先将文件放在测试环境,确认不影响正常抓取再上线。一个容易踩的坑是:把 Disallow 和 Allow 的顺序写反,导致原本想放行的路径被拦截,排错时会耗费大量时间。
文件写完后,不能直接放任不管,应当通过几种方式验证效果。首先,浏览器直接访问 https://你的域名/robots.txt,检查内容是否正确返回且格式无误;其次,使用各大搜索引擎站长工具中的抓取测试功能,模拟真实爬虫的访问结果,观察是否出现意外拦截;最后,观察服务器访问日志中爬虫的抓取频率,若出现异常下降,很可能是规则过严。
以下几个误区需要格外留意:一是把 Disallow 写成不允许,导致整个站点无法被抓取;二是路径末尾漏写斜杠,造成匹配范围与预期不符;三是与 noindex 混用,造成抓取和收录的矛盾状态;四是配置文件包含敏感信息,比如把后台登录地址写进去,等于给恶意爬虫指路。每一条都可能导致严重后果,需要仔细排查。
不会直接导致降权。它的作用是告诉爬虫哪些路径可以抓取,如果配置错误把正常页面屏蔽了,最直接的后果是页面长时间不被收录,进而影响流量和排名,但搜索引擎并不会因此惩罚网站。发现错误后及时修正,并提交重新抓取即可恢复。
以匹配路径更长的规则为准。搜索引擎会先比较两条规则对应的路径长度,路径长的规则优先级更高。例如 Disallow: /shop/ 与 Allow: /shop/sale/ 并存时,/shop/sale/ 下的页面可以被抓取,而 /shop/ 下的其他路径依然被禁止。这种机制是为了支持精细化的目录控制。
生效时间取决于爬虫的重新抓取频率。通常是几小时到几天不等,不同搜索引擎的处理速度也不一样。如果希望加速生效,可以在站长工具中提交文件更新请求,或通过 Sitemap 指令提示爬虫重新读取。耐心等待即可,不必频繁修改。
robots.txt 看似简单,但在实际应用中经常出现因细节疏忽导致的抓取异常。建议在配置前先明确网站各目录的功能定位,再动手编写规则;改动后务必通过站长工具验证,并定期复查文件内容,尤其是涉及敏感路径的配置。记住它的核心作用是引导爬虫高效抓取,而不是阻止收录,对于真正需要保密的内容,始终要搭配更硬性的防护手段。