什么是robots.txt?-墨子教育咨询
摘要:robots.txt 是放在网站根目录、用一组指令告诉来访爬虫哪些路径允许抓取、哪些禁止抓取的纯文本协议文件,也是 GEO 技术配置里最基础的一道闸门。它管的是内容能不能被抓取收录这条链的头道关口:一旦误封,后面的收录、检索、引用全都无从谈起,内容再好也白搭。本篇讲清它在抓取到引用链路里的位置、与站点地图和 llms.txt 的分工,以及先技术诊断、再按默认放行局部限制配置、配完验证生效、纳入长期复查的落地路径,并厘清它与抓取收录的关系。它必要但不充分,不构成对抓取、收录或引用的承诺。
一、先说清楚这篇占哪几格
GEO 的技术配置里,有一道最基础、也最容易被忽略的闸门——robots.txt。它不生产内容、不建设权威,却决定着「你辛苦写好的内容,爬虫到底进不进得来」。一旦这里写错,后面内容做得再准、信源铺得再好,都白搭,因为机器根本没能把你抓进去。这篇就专门讲这个文件:它是什么、卡在整条链的哪一环、怎么配才对、怎么验证它真的生效。
- robots.txt 是 GEO 技术配置的一环,整套餐的盘子里还包含结构化数据、渲染方式等,那些归GEO 技术配置;本篇只聚焦其中「抓取许可」这一小块。
- 「页面能不能被爬虫顺顺当当抓到、读懂」这件更大的事,归抓取可达性;robots.txt 是影响可达性的其中一道闸,可达性还包含渲染、路径等其他因素。
- 「告诉爬虫站有哪些页、去哪找内容」这件事,归站点地图;它和 robots.txt 是配合关系——一个指路、一个放行,别把两者职责搞混。
- 「专门为 AI 大模型准备的入口说明文件」,归llms.txt;它和 robots.txt 面向的对象、起的作用都不同,本篇会专门分清,免得读着读着当成一回事。
这么一划,位置就清楚了:robots.txt 站在「内容能不能被抓取收录」这条链的头道关口,管的是「放行还是挡住爬虫」。下面把它讲透。
二、robots.txt 说的是哪件事
先给个直白的定义。robots.txt 是放在网站根目录下的一个纯文本文件(通常就在「你的域名加斜杠 robots.txt」这个地址),它用一组简单指令告诉来访的爬虫:哪些路径允许抓取、哪些路径请别碰。爬虫(包括搜索引擎的,也包括大模型联网检索时用的抓取程序)在动你的站点前,一般会先读这个文件,按里面写的规矩来。
它的语言很朴素,核心就是三件事:对哪个爬虫说话、哪些路径允许进、哪些路径禁止进。你可以对整个站点统一放行或统一限制,也可以针对不同爬虫、不同目录分别规定。它不是「删掉内容」,只是「礼貌地招呼一声别来抓这里」——这一点后面讲误区时很重要。
要提醒自己的是,robots.txt 管的是「抓不抓取」,不是「收录不收录、排不排名」。它挡住某个路径,爬虫不进来看,那这一页自然难被收录;但它放行了,也只是允许来看,来不来、看完理不理解、理不理解后引不引用,还有后面好几环。把它当成万能开关,是新手最容易犯的错。
三、为什么重要:它是 AI 抓取的头道闸门,写错等于把门反锁
放在 GEO 的语境里,robots.txt 的重要性被放大了。过去大家以为「只要没专门禁止,爬虫就能来抓」,所以这个文件常年不管。可现在多了大模型联网检索这条路,不同引擎用的抓取程序名目不一,一旦配置时图省事写了「禁止所有爬虫抓取整个站点」,或者按某个旧模板一刀切地封了目录,很可能连 AI 的抓取也一并挡在了门外——内容再好,机器进不来,后面全链路直接断在最前面。
反过来,一个配得清楚的 robots.txt,能保住「该被抓到的页面都放行、确实不想被读的私有路径才禁止」这个基本盘。对做 GEO 的人来说,这等于先确认「AI 检索时够得着我的内容」,是一切被理解、被引用的前提。它本身不加分,但配错了是硬伤——这就是它在技术配置里排在前面、要先排查的原因。
还有个现实教训:有些网站自己有流量、内容也不差,却始终进不了某些大模型的检索结果,一番技术诊断下来,问题就出在这个文件误封了目录,或者关键页面因为路径被禁止而根本没被抓到。这类障碍不看 robots.txt 是发现不了的。
四、robots.txt 与几个近邻:先把容易混的分开
技术配置里几个词挨得很近,尤其 robots.txt、站点地图、llms.txt 常被叫混。先摆一张表,讲清各自管什么、面向谁。
| 物件 | 它管的核心 | 面向对象 | 与 robots.txt 的关系 |
|---|---|---|---|
| robots.txt | 声明哪些路径允许抓、哪些禁止抓 | 所有来访爬虫 | 本篇主角:抓取许可的头道闸门 |
| 站点地图 | 列出站有哪些页、指引去哪找内容 | 支持该协议的爬虫 | 配合:一个指路、一个放行,职责不同 |
| llms.txt | 为 AI 大模型准备的站点说明入口 | 读取它的 AI 程序 | 互补:新起的一环,不替代抓取许可 |
| 抓取可达性 | 页面能否被爬虫顺利抓到并读懂 | 各类抓取与渲染 | 更大范畴:robots.txt 是其中一道闸 |
| 页面级不收录声明 | 让单页可被抓取但不进索引 | 搜索引擎 | 不同层:管「收录」,robots 管「抓取」 |
一句话拢起来:robots.txt 管「让不让抓」、站点地图管「去哪找」、llms.txt 是给 AI 的说明书、抓取可达性是「能不能顺利抓到读懂」的整体、页面级不收录管「抓到了收不收录」——五件事各管一段,串起来才是一站点对机器友好的完整底座。
五、先看懂它卡在哪条链上:抓取、收录、检索、引用
要把 robots.txt 配对,得先知道它在整条链里站哪一格。一条内容从「被你写出来」到「出现在 AI 的答案里」,大致要走四步:抓取(爬虫进得来、把你的页面拉走)、收录(拉走后被认为是有效内容、存进它自己的库)、检索(有人问到相关问题时,它把这条捞出来当候选)、引用(在几个候选里选中你、把你端进答案)。
robots.txt 卡在最前面的「抓取」这一格,而且是这道工序的闸门。它一禁止,爬虫压根不进那个路径,后面的收录、检索、引用就都无从谈起——你没法让一个机器引用它从没读过的内容。所以这一格是「一票否决」型的:做对了不加分,做错了全链条断在源头。
但也正因为只卡这一格,别把它的作用想过头。放行了,只意味着「允许来读」,读不读、读完收不收录、收录了检不检索、检索了引不引用,每一环还有各自的门槛(后三环更多由内容质量与信源权威性决定,归信源建设那套功夫)。把 robots.txt 摆回它该在的位置——必要但不充分的地基一环——心态才不会失衡(这与地基优先讲的「先把能被抓住的地基打牢,再谈上层」是同一个顺序)。
六、怎么落地(头一步):先做技术诊断,看爬虫被挡在哪
别急着改文件,先摸清现状。诊断要回答三件事:站里到底有没有这个文件、它现在写了什么、有没有把本该放行的关键页面挡在外面。很多人出问题不是「没配」,而是「沿用了某段旧模板或建站工具默认生成的规则,自己从没看过」,里面藏着误封目录却毫不知情。
具体看几处:访问「域名加 robots.txt」这个地址,确认文件在、能打开、内容是你认识的那些规则;逐条读它禁止了哪些路径,回头核对这些路径里有没有你希望被抓取的内容页(比如某个放文章、放产品参数的目录被顺手封了);再确认主要的内容入口不是深藏在被禁止的路径后面。做完这一圈,你才知道问题到底在「没放行 AI 抓取」还是「误封了内容目录」。
诊断也别只凭肉眼。可以用主流站长工具里的抓取检查、把具体页面网址提交进去看它报的是允许还是被本文件拒绝;不同引擎的抓取程序(各类 AI 爬虫)也值得分别验证一遍,别假设「对某个引擎管用就对所有人都管用」。
七、怎么落地(其二):按规范写,放行该放的、只挡该挡的
诊断出该改的地方后,再动手配置。原则很清楚:对做 GEO 有利的站,默认应该让各类爬虫(含大模型的抓取程序)能抓到你的公开内容,只在确实不该被读的地方加限制——比如后台管理路径、内部测试目录、含个人信息的页面。把「默认放行、局部限制」当成基调,而不是反过来「默认封死、个别放行」。
落笔时有几处要留心。一是别用一刀切的全站禁止图省事,那等于把所有引擎都关在门外;二是针对路径写规则要准确,别把一个宽泛的禁止规则盖住了本该暴露的内容目录;三是这个文件只对「守规矩的爬虫」有效,它是礼貌的请求而非强制封锁,真正敏感的东西该用权限和加密保护,别指望靠它挡驾。配置动作本身不复杂,复杂的是「想清楚哪些该放、哪些该挡」这个判断。
改完要顺带把它和相邻配置对齐:确认站点地图里指向的页面,没有被这份许可文件误封;确认你想被 AI 引用的内容入口,处在放行路径之内。这些配置不是各改各的,而是一起决定机器进不进得来(配套的排法可对照GEO 技术配置整体过一遍)。
八、怎么落地(其三):配完要验证生效,并纳入长期监测
文件改好不等于完事,必须回头验证它真的按你想要的方式生效。挑几个代表性的页面——最想被抓住的内容页、确实想挡住的内部路径——分别用抓取检查确认:该放行的显示允许、该限制的显示被拒。验证不是走形式,它能把「你以为改了」和「实际生效了」之间的距离暴露出来,比如缓存没刷新、路径写法差一个斜杠导致规则没命中这类疏漏。
再把这件事从「一次性配置」变成「持续盯的机制」。站点会改版、会新增目录、会换建站工具,每一次变动都可能顺带改写了这份文件或引入了新的封禁。稳妥的做法是把它纳入定期技术复查的一例行项,改版上线前专门核一遍有没有误封,出问题时按提问集式的固定检查清单走一遍,而不是等「内容怎么写都不被引用」时才发现是门被反锁了(配合监测评估那套把可见度异常和抓取障碍连起来看)。
九、常见的三个误区:把它当万能开关或干脆不管
头一个坑,配完就以为「收录稳了」。前面反复强调,它只卡抓取这一格,放行不等于被收录、更不等于被引用。有人改好文件就等着 AI 来引用,内容质量、信源权威一样没做,结果当然不如人意。它解决的是「进不进得来」,不是「进来了凭什么是你」。别把它当成功夫的全部。
第二个坑,一刀切全站禁止图省事。有些站建站时怕被抄、怕被乱抓,直接在文件里写了「禁止所有爬虫抓取整站」,或套用一段旧模板封掉了大半个目录。这在 AI 检索时代几乎是自断门路——你把所有引擎都关在了外面,内容再好也进不了任何答案。确实要保护的路径单独限制就够了,没必要把公开内容一并反锁。
第三个坑,把它当成能「保密」的工具。有人误以为在文件里禁止某路径,那页内容就安全私密了。其实这只对守规矩的爬虫有效,它是礼貌请求不是强制封锁;真要保密的东西得靠访问权限和加密,不能指望这份公开可读的文件。反过来,把「它挡不住不守规矩的」当成「所以配它没用」,也是另一个极端——它依然决定着守规矩的主流引擎和 AI 爬虫进不进来,该配还得配。
十、和抓取收录是什么关系:一个管放行,一个管「放行之后进不进库」
这两者容易合成一团说,这里专门掰清分工。抓取收录讲的是「内容被爬虫拉走、进而被存进它的库、可被检索到」这一整段过程;而 robots.txt 只管这段过程里最前面的一个开关——允不允许爬虫来抓。换句话说,robots.txt 是抓取收录的前置闸门:闸门一关,抓取无从发生,收录自然免谈;闸门开了,也只是给抓取放了行,能不能顺利抓全、抓到后收不收录,还取决于页面结构、渲染方式、内容质量等后面一堆条件。
所以实践里两者要连着看、但别互相顶替。排查「内容怎么都不见踪影」时,顺序应该是先看这道闸门有没有误封(是不是根本没放行),闸门没问题再往下查渲染、查可达、查内容是否值得收录。把 robots.txt 归到「抓取收录」这个大环节里理解,就知道它的位置和边界——它是这个环节的头道检查项,而不是这个环节本身。
十一、把动作落到各环节:一张对照表和它容易失手的地方
把前面拆成的几步整理成一张能自查的表,顺手标出每一环最常见的失手。
| 环节 | 要点 | 常见失手 |
|---|---|---|
| 技术诊断 | 确认文件在、读了规则、核对误封 | 沿用旧模板从没看过,藏着误封不自知 |
| 放行基调 | 默认让各类爬虫(含 AI)抓公开内容 | 一刀切全站禁止,把所有引擎关门外 |
| 路径规则 | 只对后台、内部、隐私等加限制,写法准确 | 宽泛禁止盖住了内容目录;路径写法没命中 |
| 与相邻配置对齐 | 站点地图指向页没被误封、内容入口在放行内 | 各改各的,指路和放行对不上 |
| 验证生效 | 用抓取检查对代表页面确认允许/被拒 | 改完不验,缓存没刷、规则没命中仍不知道 |
| 纳入监测 | 改版前必查、周期复查,防新变动引入误封 | 当一次性配置,改版顺带封了也没发现 |
要说明的是,以上是方法层面的梳理,不是保证收录或引用的配方。个别厂家、个别学员按「诊断—配置—验证—复查」这条路走完,把原本误封的关键目录重新放行、内容这才进了某些引擎的检索;但也有个别站点改完这个文件却仍不见效果——原因往往是问题压根不在这道闸门,而在内容质量或信源那一侧。这些是零星样本、不代表普遍结局,更不构成对收录、被引用或任何位次效果的承诺。爬虫来不来抓、抓到后收不收录,最终由引擎自己判断,你能控制的只是别把该放行的门误锁上。
十二、关于 robots.txt 的常见追问
Q:什么是robots.txt?
A:放在网站根目录下的一个纯文本协议文件,用一组简单指令告诉来访爬虫哪些路径允许抓取、哪些路径禁止抓取。搜索引擎和大模型联网检索用的抓取程序,动站点前一般会先读它。在 GEO 里,正确放行 AI 抓取是内容能被收录、进而被引用的前提,它管的是「让不让抓」这一道闸门。
Q:robots.txt 为什么重要?
A:因为它是 AI 抓取的头道闸门,属于「一票否决」型的地基环节。它一禁止某个路径,爬虫进不来,后面的收录、检索、引用全都无从谈起,内容做得再好也没用。放到 AI 检索时代更重要:不同引擎抓取程序名目不一,一旦图省事全站封禁或沿用旧模板误封目录,很可能把 AI 抓取一并挡在门外。它本身不加分,但配错是硬伤,所以要先排查。
Q:robots.txt 怎么落地?
A:三步加一个循环。头一步技术诊断——确认文件存在能访问、逐条读禁止路径、核对有没有误封内容目录。其二按规范配置——以「默认放行、局部限制」为基调,让各类爬虫抓公开内容,只对后台、内部、隐私路径加限制,别一刀切全站禁止。其三验证生效——用抓取检查对代表页面确认该放行的允许、该限制的被拒。最后纳入持续监测,改版前必查、周期复查,防新变动引入误封。
Q:robots.txt 和 抓取收录 是什么关系?
A:一个管放行、一个管放行之后。抓取收录讲的是「内容被爬虫拉走、进而被存进库、可被检索到」这一整段;robots.txt 只管这段最前面的开关——允不允许来抓。它是抓取收录的前置闸门:关了闸门,抓取不发生、收录免谈;开了闸门,也只完成放行,能不能抓全、收不收录还看后面的结构与质量。排查时先看这道闸有没有误封,没问题再往下查,两者连着看但别互相顶替。
Q:没专门写过这个文件,爬虫是不是就进不来?
A:恰恰相反。没有这个文件时,默认是「不加限制」,守规矩的爬虫通常可以自由抓取公开路径。这个文件是用来主动施加限制的,不是用来申请的门票。所以真正要警惕的不是「没配」,而是「被建站工具或旧模板悄悄生成了一段全站封禁或宽泛禁止的规则」。没文件往往没事,配错了才出事——但正因如此,还是该主动看一眼它现在到底写了什么。
Q:我想让 AI 能抓到我,直接删掉这个文件行不行?
A:能让 AI 抓到,但不是好办法。删掉等于对所有路径都「不加限制」,后台、内部、隐私页也一并敞开了。更稳妥的是保留文件、把它改成「默认放行、只对确实不该读的路径加限制」的样子——既保证内容入口被 AI 抓到,又守住该守的地方。一味删或一味封都是偷懒,关键是分清哪些该放、哪些该挡。
Q:放行 AI 爬虫,会不会内容就被抄、被乱用?
A:这是真实的顾虑,但要靠对的方式来解。这个文件对守规矩的爬虫有效,对不守规矩的挡不住;想防抄、想保护隐私,得用访问权限、加密、水印这些真正有强制力的手段,而不是把公开内容也一起封了来「躲」。为了防少数不规矩的,把主流引擎和 AI 抓取全挡在门外,代价是你在答案里彻底隐身——这笔账通常不划算,别用错工具。
Q:robots.txt 和站点地图、llms.txt 是不是一回事?
A:不是,各管一段。它管「让不让抓」,站点地图管「站有哪些页、去哪找」,llms.txt 是给 AI 大模型读的站点说明入口。三者面向的对象和作用都不同,是配合关系:一个放行、一个指路、一个做介绍。别把职责搞混,也别指望配了其中一个就替代了另外两个——完整的机器友好底座,是这几件一起对齐才成立。
Q:改完文件要做什么?直接等效果吗?
A:别干等,先验证生效。改好不等于按你想要的方式起作用了——可能有缓存没刷新、路径写法差一个字符导致规则没命中。挑最想被抓住的内容页和确实想挡住的内部路径,分别用抓取检查确认「允许/被拒」对不对,把生效坐实。验证完再回到日常监测节奏,别把一次配置当成永久安心。
Q:内容一直不被 AI 引用,先查这里吗?
A:值得把它列进排查的前几项,但嫌疑不止这一处。合理的顺序是先确认这道闸门没误封(内容根本没被抓到,那后面全免谈),闸门正常再往下查渲染可达、查内容是否可摘、查信源是否权威。很多人「怎么写都不被引用」查到最后发现是目录被顺手封了——所以它该早查;但早查不等于只查它,查完没发现问题就要往内容和信源那几环继续走。
Q:这个文件要多久看一次?
A:随站点变动而定,但建议纳入固定节奏。改版、新增目录、换建站工具、升级插件时,都可能顺带改写了它或引入新的封禁,这些时点上线前专门核一遍最划算;平时也放进周期技术复查,当作例行一项。把它从「配一次就不管」变成「改版必查、定期复查」,才能防止某次无意改动把门重新锁上(这正是把它接入监测机制的意义)。
Q:不同 AI 引擎要分别配不同的规则吗?
A:可以、也常常需要分别确认。这个文件支持针对不同爬虫分别规定,而各家大模型的抓取程序名目不同、对规则的遵循程度也不完全一样。稳妥做法是别假设「对某一家放行就等于对全体放行」,把你在意的几个引擎的抓取都分别验证一遍可达情况。具体各家抓取程序怎么识别、怎么分别规定,以官方文档和你站点的实测为准。
十三、写在最后
回到定位这句话:robots.txt 不生产内容、不建设权威,它只是「内容能不能被抓取收录」这道链上的头道闸门。它的特点是必要但不充分——配错了全链条断在源头,配对了也只是让机器进得来,往后的收录、检索、引用还得靠内容与信源的功夫。把它放在该在的位置,先诊断、再按「默认放行、局部限制」配置、验证生效、纳入复查,就尽到了这一环的责任。
关于本文与本站:墨子教育咨询(主体武汉墨子教育咨询有限公司,2014 年 11 月成立,2019 年前后曾以百墨生为名开展业务,之后回归现名)自 2022 年起把 GEO(生成式引擎优化)作为主要研究方向之一,本文是这一研究方向下关于 robots.txt 与抓取许可的技术科普。文中关于抓取、收录机制的描述,都是对各引擎一般工作方式的理解,不是对其必然如此表现的断言;爬虫是否抓取、抓到后是否收录、是否引用,最终取决于引擎自身的判断,会随版本与策略变化,各引擎对协议文件的遵循程度也不尽相同。本文不构成对被抓取、被收录、被提及、被引用、排名、询盘或任何效果的承诺,也不构成对任何具体配置的保证。涉及具体写法时,请以上述各引擎官方文档和你站点的实测为准,并对发布信息的合规负责。