robots.txt 是站点根目录下一个纯文本文件,通过简单的声明来引导搜索引擎爬虫了解哪些路径可以访问。配置得当,爬虫抓取预算会集中到关键页面,新内容收录速度明显加快;一旦配置出错,核心页面可能迟迟无法出现在搜索结果中。理解它的运作机制和细节规则,对每一位网站运营者来说都极为关键。
robots.txt 的标准访问入口是 https://example.com/robots.txt,核心作用是在爬虫进入网站时提供抓取范围的指示。需要注意的是,它的职责止步于“是否抓取”,并不决定页面最终是否被搜索引擎建立索引。如果确实需要某个页面彻底与搜索结果绝缘,正确的做法是在该页面的 HTML 中放置 noindex 元标签,只有这样才能直接干预索引状态。
此外,这个文件依赖爬虫自觉遵守协议。面对不怀好意的采集器或非法抓取程序,它完全无力约束。凡是存储用户隐私、处理支付流程或涉及商业机密的路径,需要配合账号权限校验、服务器 IP 白名单等手段来确保安全,切不可把 robots.txt 当作唯一的防护措施。
robots.txt 主体由若干规则组搭建,每个组以 User-agent 开头来声明适用的爬虫对象。通用的记录格式为“字段名: 值”,建议字段名保持小写,并在冒号后保留一个空格,这种写法能获得最广泛的解析兼容性。
User-agent 限定了规则的归属。例如声明 User-agent: Googlebot,后续规则只对谷歌爬虫生效;声明 User-agent: *,则适用于所有搜索引擎爬虫。一份文件内可并列多个规则组,针对不同蜘蛛来差异化设定权限,比如给 Googlebot 放开部分目录,而对 Bingbot 适度收紧,让抓取分配更具策略性。
Disallow 负责禁止抓取指定路径,Allow 则负责放行。当两条规则同时匹配同一个 URL 时,搜索引擎通常以“最长匹配”为准——也就是路径描述越精确、字符越长,其优先级越高。以同时设置 Disallow: /api/ 和 Allow: /api/public/ 为例,因为后者的路径更长,/api/public/ 内的文件依然会被正常抓取。还需留意一个细节:如果 Disallow 后面没有任何路径(留空),等于撤销全部限制,允许爬虫访问整站资源。
Sitemap 指令用于向爬虫提供站点地图的地址,帮助其更快地认识新发布的页面,从而缩短新链接被收录的等待时间。Crawl-delay 则用来设定两次请求之间的等待秒数,适合并发处理能力有限的服务器。不过,并非所有搜索引擎都认可这一字段,部分爬虫会直接忽略,因此不能把它作为唯一的限速方案。
结合不同的运营需要,以下几组模板可以按需选用,便于快速落地:
在更新完配置后,可以在浏览器中直接访问 robots.txt 的 URL,检查语法是否被正确解析;也可借助搜索引擎官方的站长工具进行测试,及时发现规则冲突或误屏蔽的路径。
梳理常见错误,可以帮助你少走弯路:
因为 robots.txt 只管抓取,不管索引。当页面在其他站点被作为链接引用时,搜索引擎仍可能在没有抓取的情况下,依据外部信息将其纳入索引。想要彻底从搜索结果中移除,应使用 noindex 标签或通过站长平台提交删除请求。
并非如此。每条规则都须携带对应的 User-agent 声明,只写在某一组下的规则,只对该组的爬虫对象生效。如果不指定,默认只对当前规则组内的蜘蛛起效。
通常情况下,爬虫会定期重新获取该文件,生效时间从几分钟到一两天不等。也可以通过搜索引擎的站长工具主动提交更新后的文件,以缩短等待期。
要让站点抓取效率最大化,建议定期复查 robots.txt 的每条规则,确保保留目录可用、禁用路径没有任何误伤。上线新功能或调整目录结构时,不妨将其纳入常规检查清单。慎用通配符,留意路径大小写,并在每次改动后利用站长工具进行验证。把这份文件当作精细的路由手册来维护,而不是一劳永逸的摆设,才能让搜索引擎爬虫真正为你服务。