ads.txt 校验报错怎么修?最常见的几个格式错误是哪些?
三段式记录、大写关系字段、放根目录——三条守住,绝大多数报错都会消失。
逐条对照格式就能定位。规范记录形如 google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0:第一段是广告系统的规范域名(写主域,不要写成广告后台那种子域),第二段是发布商账号编号,第三段是关系字段,必须是大写的 DIRECT 或 RESELLER,第四段是可选的认证编号。字段用英文逗号分隔,逗号后可以有空格。
最常见的四类报错是:字段数不足三段(多半是逗号漏了或多打了)、关系字段写成了小写、同一组「域名加账号」重复出现、以及域名写得不规范。另外还有两类不报错但更隐蔽的问题:文件开头带了不可见的 BOM 头导致解析器读失败,以及用了 CRLF 换行在个别解析器上出异常。
ads.txt 的作用是公开声明「哪些广告系统被授权售卖本站的广告位」。买方在投放前会来读这个文件,读不到或读不通,就会降低对该流量的出价,甚至直接跳过。
所以这个文件的容错空间非常小:它不是给人看的说明文档,而是给机器逐行解析的清单。一个不可见的 BOM 头、一个小写的关系字段,都足以让整行被忽略——而站主往往只看到「收益变少」,想不到问题出在一个字符上。
1一条合法记录由什么组成
规范把每行定义成若干个逗号分隔的字段。字段数量有限制,位置也不能调换。
| 字段 | 位置 | 要求 | 常见错法 |
|---|---|---|---|
| 域名 | 第一段 | 广告系统的规范域名,写主域 | 写成广告后台子域,或写成自己网站域名 |
| 发布商账号 | 第二段 | 由该系统分配的编号,不能空 | 留空,或填成账号邮箱 |
| 关系 | 第三段 | 必须大写 DIRECT 或 RESELLER | 写成小写、写成别的单词、写成中文 |
| 认证编号 | 第四段,可选 | 该系统的认证机构编号 | 写成任意字符串;不写不会报错,但买方更偏好带编号的记录 |
`DIRECT` 与 `RESELLER` 的区别不在大小写,而在链路:前者表示你与这个系统直接签约,后者表示通过中间商转售。填错不会让文件报错,但会让买方判断错你的流量来源,从而影响出价,所以必须按实际关系填。
2最常报的错与修法
下面五类覆盖了绝大多数校验失败的情形,按出现频率排列。
| 报错 | 成因 | 修法 |
|---|---|---|
| 字段不足三段 | 少打或多打了逗号;或把注释写成了记录 | 逐行数逗号,注释行必须以井号开头 |
| 关系字段非法 | 写成了小写或别的词 | 改成大写的 DIRECT 或 RESELLER |
| 记录重复 | 同一组「域名加账号」出现了两次 | 删掉多余的一行,保留信息更全的那条 |
| 域名不规范 | 写成路径、写成子域、或带上了协议头 | 只写规范域名,不要带 https:// 或斜杠 |
| 存在 BOM 头 | 文件另存为 UTF-8 时勾了带 BOM 的选项 | 重新另存为不带 BOM 的 UTF-8 |
CRLF 换行通常只会触发警告,但在部分解析器上会直接导致整行被跳过。既然它是不可见的,统一改成 LF 换行是最省事的做法。
3文件该放在哪、怎么被访问
格式对了,位置不对同样无效。这一部分是纯粹的部署要求。
- 必须放在根域
- 地址是域名的
/ads.txt,直接放在域根目录下 - 子目录无效
- 放在子目录里不会被读取,规则不支持这种写法
- 子域另行处理
- 子域需要各自部署;跨域委派有专门的变量指令
- 返回状态码必须是 200
- 返回 404、403 或重定向都可能被判定为文件不存在
- 内容类型建议为纯文本
text/plain是最稳妥的返回类型- 变量行单独占行
- 形如
OWNERDOMAIN=example.com,变量名习惯用大写 - 注释以井号开头
- 只影响该行,不要用它来「注释掉」半行记录
4自查与上线顺序
按这个顺序走一遍,可以避免「本地改对了、线上没生效」这类反复。
- 先把所有广告系统的账号与关系整理成一张表:域名、账号、关系、认证编号四列。
- 按表格逐行生成记录,不要手打,避免大小写与逗号出错。
- 把文件贴进校验工具,读出错误数与警告数;错误必须清零,警告逐条判断是否要改。
- 确认文件保存为不带 BOM 的 UTF-8,换行统一为 LF。
- 上传到域名根目录,然后直接在浏览器里打开那个地址,确认能看到内容而不是 404。
- 用抓包或命令行确认返回状态码是 200、内容类型是纯文本。
- 隔一段时间回看一次:新增了广告系统就补记录,停了就删,别让过期的授权一直留着。
顺着这个问题往下用
全部工具总览 →相关疑问
不部署 ads.txt 会怎样?
不会导致网站无法访问,但会影响广告收益。买方在投放前会读取这个文件来确认授权链路,读不到时会倾向于降低出价、限制投放量,或者直接跳过这个站点。所以它的收益体现在「不被扣分」上,而不是直接带来收入。
记录了重复会怎样?
规范要求同一组「域名加账号」只出现一次。重复行会让解析器难以判断以哪条为准,校验工具通常按错误处理。修法很简单:保留信息更完整的那一条(例如带认证编号的),删掉其余。
关系字段到底是 DIRECT 还是 RESELLER?
看实际链路,不看习惯。你与该广告系统直接签约、直接结算,就是 DIRECT;通过中间商、代理商或聚合平台接入,就是 RESELLER。不确定时问对接方,不要凭感觉填——填错不会让文件无效,但会让买方误解你的流量来源。
为什么校验通过了,买方那边还是说读不到?
格式与可达性是两件事。校验工具检查的是内容格式,而买方需要能通过网络访问到那个地址。常见原因是文件放在了子目录、域名做了跳转、CDN 缓存了旧的 404,或者服务器对纯文本文件的返回类型设置不对。逐项确认访问链路即可。
继续看:相关问题与资料
全部问题解答 →内容说明:本页针对具体使用问题作答,方法步骤与数值由本站自行整理与复算,事实性内容以对应官方规范与文档为准。内容最后核对日期:2026-10-08。若发现错误,欢迎通过页脚反馈入口告知。
速查在线工具箱