Skip to content

检查 IndexNow 密钥文件是否有效

像搜索引擎那样抓取你的密钥文件,直接看到验证失败的原因:状态码不对、跨主机跳转、返回 HTML 而不是纯文本,或者密钥内容不匹配。

这个校验在我们的服务端执行,因为密钥文件必须从公网抓取,就像搜索引擎那样。只会请求这个地址,不做任何存储。

密钥文件校验

填写你提交 URL 所属的主机和准备使用的密钥,默认文件地址会自动推导。

提交的 URL 所在的主机名,不要带路径。

8–128 位字符,可用字母、数字和短横线。

只有当文件不在 https://主机/密钥.txt 时才需要填写,且必须仍在同一主机上。

什么时候用这个工具

IndexNow 返回 403,几乎总是意味着搜索引擎读不到你以为它能读到的密钥文件。这个校验会从你的网络之外复现那次抓取。

  • 首次提交之前

    先确认文件已经生效,而不是用一次批次去换来一个失败结论。

  • 部署或迁移之后

    路由、托管或 CDN 规则一变,静态文件很容易就丢了。

  • Bing 返回 403 或 422 时

    这两个码通常都追溯到密钥文件或主机不匹配,而不是 URL 列表本身。

  • 你能打开但爬虫打不开时

    鉴权、WAF 规则和地域封锁会让一个在你浏览器里正常的文件,从外部完全不可见。

怎么执行校验

请求在服务端发出并跟随跳转,因此你看到的就是搜索引擎抓取器会看到的内容。

  1. 1

    填写主机

    填 URL 所在的主机名,不带协议和路径,例如 www.example.com。

  2. 2

    填写密钥

    与提交时使用的密钥字符串一致。如果文件不在默认路径,再补上密钥文件地址。

  3. 3

    执行校验

    服务端抓取文件、跟随跳转,并报告最终地址、状态码、Content-Type 和响应内容。

  4. 4

    按提示修复

    每条问题都会给出对应的修改方式。反复校验直到结果干净,再去提交批次。

常见坑

CDN 缓存

文件上传后,CDN 可能仍在返回旧的 404。清掉该路径的缓存再校验。

尾部空白或 BOM

UTF-8 的字节序标记会让正文与密钥不相等,哪怕在屏幕上看起来完全一样。

www 或 HTTPS 跳转

只要跳转改变了主机名就会导致验证失败,即使最终落在一个完全正确的文件上。

人机验证

挑战页面返回的是 200 加 HTML。对搜索引擎而言这是验证失败,而不是一层安全防护。

常见问题

为什么不能在浏览器里跑?
没有 CORS 响应头,浏览器读不到跨域响应,而密钥文件是以纯静态文本提供的。所以这次抓取必须在服务端完成。
你们会保存我校验的密钥吗?
不会。密钥只用于构造请求和比对响应,之后即丢弃,不会写入磁盘。
校验通过了,Bing 还是返回 403。
确认提交时填的密钥完全一致,并且你声明的主机与批次里每一条 URL 的主机相同。
可以校验预发域名上的密钥文件吗?
可以,只要该域名公网可达。放在 VPN 或 basic auth 之后的文件,搜索引擎同样无法验证。
IndexNow 返回 202 是什么意思?
批次已被接收,但密钥还没验证。现在跑一次校验,就能提前知道那次验证会不会通过。