robots.txt 里同一个目录一条允许一条禁止抓取时按哪条走

📅 2026-10-11 👁️ 0

同一个目录既写了 allow 又写了 disallow,判定顺序在 robots.txt 的协议里是明确的:谁的匹配更具体就按谁走,也就是字节数最多的那条匹配生效。所以「先写的赢」或者「disallow 更严所以赢」都不是规则本身,规则看的是路径长度。

冲突条目按什么顺序判

协议原文的表述是「最具体的匹配必须被采用,最具体的匹配就是匹配上字节数最多的那条」。落到实际写法上,意味着 /admin/list 的规则会盖过 /admin 的规则,无论两条在文件里谁先出现。反过来,如果想让某个子目录在整站被禁的情况下单独放行,正确做法就是给那个子目录写一条更长的 allow,而不是调整行序。

需要留意的是,同一条路径写在同一个分组里时仍然按这条更具体规则处理;但如果两条规则字节数完全相同,协议并没有再给出第三个决胜条件,这种写法应该避开。

路径匹配为什么看字节数

「octet」指的是字节数而不是字符数,这在含中文或非 ASCII 字符的路径上会产生差别:一个汉字在 URL 里通常是三个字节。所以比较两条规则谁更具体时,量的是编码后路径的字节长度。站内如果有中文目录,判定结果可能和按字符数想象的不一致。

分组名与路径的大小写差别

协议对两部分的处理方式不同。分组名(也就是 user-agent 后面的那个标识)必须用大小写不敏感的方式匹配;路径部分则应当按大小写敏感处理。这两条合起来的结果是:写 User-agent: GoogleBot 和 User-agent: googlebot 是一回事,而 /Admin 与 /admin 是两条不同的规则。

还有一类常见误解是把排除文件当命令。协议只定义了四类记录,其余额外条目属于抓取方可以自行解释的范围,不构成对所有抓取方的强制。也就是说排除文件表达的是意愿和约定,不是执行保证。

站内配置怎么避开冲突

多数冲突不是规则写错,而是改写后的路径和 robots 文件里写的路径对不上。伪静态规则把 /article/123.html 这类地址映射到程序内部路径之后,抓取方看到的仍然是改写后的地址,因此 robots.txt 里应该写对外的那一层,而不是内部真实路径。配置时建议固定三条做法:整站基线用一条短规则;需要单独放行的目录用更长的路径写;改动伪静态规则后回到 robots 文件核对目录层级是否还成立。

常见问题

问:Allow 和 Disallow 谁优先? 按协议看具体程度,谁匹配到的字节数多谁生效,不看先后顺序。

问:两条规则长度一样怎么办? 协议没有给出这一层的决胜规则,应当改写其中一条使其更具体,避免依赖各家实现的默认处理。

问:通配符和末尾的美元符号还算字节数吗? 通配符参与匹配,但字节数比较的是匹配上的那条规则,含通配符的规则与不含的规则的相对关系要按协议原文判定,不能靠经验类推。

问:中文目录会不会影响结果? 会。字节数按编码后的路径计算,中文目录的长度普遍比字符数看起来更长,比较具体程度时容易得出与直觉不同的结论。

相关文章

博客程序的大版本隔了三年才出,变更清单里读得出什么

判断一个博客程序或内容管理系统的维护活跃度,看的是大版本之间的时间跨度、变更条目的构成和修复类型的分布,而不是版本号涨了多少。本文用公开发布记录对比两种节奏,并给出建站选型时该核的四项。

2026-10-11

访问量每次都实时写库,高并发下为什么会丢计数,聚合回写解决什么

每次访问都写库的计数属于读改写操作,并发下会互相覆盖造成增量丢失,未落盘就销账还会把已收的增量丢掉。本文说明聚合回写改的是哪一段、要兼顾的恢复能力,以及单机约 500 万 PV 这类官方口径该怎么读。

2026-10-11

第三方面板说开箱就能看出哪些 AI 服务在取内容,站方拿这份记录能做什么

这类面板提供的是网络层的抓取可见性:哪些 AI 服务在访问、有没有违反排除指令。本文说明这份记录能回答什么、不能回答什么,以及站方如何把它与自身的排除配置、站点说明文件和访问统计对齐后使用。

2026-10-11

有审计发现 AI 回答里的被引来源约一成多是模型自生成的,内容站该怎么看这个数

一项针对四个生成式搜索引擎的审计发现,被引来源中约 16% 是机器生成的合成来源。本文说明这个数字描述的是被引清单的构成,不是内容质量评分,并给出站端保持自身来源可辨的几处环节。

2026-10-11

站点地图提交之后还没有被抓,除了等还能主动做些什么

站点地图交上去不等于页面被抓取,前者提供发现线索,后者取决于抓取方的调度。本文说明两者的分工,给出用主动推送通知新增与变更的做法,并列出推送没生效时的排查顺序。

2026-10-11

有论文说生成式引擎优化动的是引擎的证据池和生成环节,内容站能配合什么

一篇立场论文把生成式引擎优化的对象描述为引擎的证据池与生成环节,而不是页面排位。站端能配合的不是去猜算法,而是让来源可辨识、让内容质量有据可查,并避开那篇论文点名的三类做法。

2026-10-11

AI 爬虫是单独放行还是统一拒绝,判断依据该看哪几项

AI 类爬虫单独放行还是统一拒绝,判断依据不在爬虫名称,而在这三点:抓取意图是索引还是训练、站点能否被识别为来源、被抓之后有没有回报。排除文件只表达意愿不保证执行,配置要按这三项分场景定。

2026-10-11

后台的用户资料编辑接口不做字段白名单,会被改到什么程度

用户资料编辑接口若把请求里的字段直接写进对象,最坏情况不是改掉一个昵称,而是改掉身份与状态类字段。同类问题在同行系统的修复记录中被明确处理过,收口方法是限定可改字段并按分组权限复核。

2026-10-11