Skip to content

在本地生成 IndexNow 密钥

在浏览器内生成高熵密钥,并下载对应的文本文件,密钥不会发送给 submitnow。

本工具完全在浏览器内运行。密钥由 Web Crypto API 生成,下载文件也在本地组装——不会发起任何请求。

生成的密钥

需要时随时生成新密钥。在部署到站点之前,请妥善保管密钥及其文本文件。

什么时候用这个工具

IndexNow 密钥是所有权证明:你在自己的主机上发布一个随机字符串,让搜索引擎确认提交来自控制该主机的人。以下几种情况需要新密钥。

  • 接入新主机

    每个提交 URL 的主机名都需要能对外提供自己的密钥文件。预发域名和生产域名属于两个不同的主机。

  • 出问题后轮换

    密钥本身是公开的,但如果密钥文件同时存在于你无法控制的域名上,它就失去意义了。生成新密钥并删除旧文件。

  • 区分环境

    每个环境用不同的密钥,事后查日志时能一眼看出是哪个系统提交的批次。

  • 替换弱密钥

    过短或可猜测的密钥要么不满足协议的 8–128 位规则,要么容易被复现。生成的密钥两个问题都避免。

如何生成并部署密钥

密钥不会离开浏览器:它由 Web Crypto API 生成,下载文件也在本地组装。

  1. 1

    生成密钥

    会得到一个 32 位十六进制字符串——远在协议 8–128 位限制之内,且只包含 IndexNow 接受的字符。

  2. 2

    下载文本文件

    文件名为 <密钥>.txt,内容只有密钥本身。多余内容是导致 403 最常见的原因。

  3. 3

    上传到主机根目录

    以 text/plain 提供在 https://你的主机/你的密钥.txt。确认它没有被鉴权、跳转或人机验证挡住。

  4. 4

    先校验,再提交

    首次提交前用密钥校验器对线上地址跑一遍。通过之后,把同一个密钥填进提交表单。

常见坑

文件里不只有密钥

末尾换行没问题,但模板包裹、JSON 或 HTML 页面都不行。文件正文必须等于密钥本身。

主机返回软 404

很多框架对未知路径返回 200 加应用外壳。搜索引擎读到的就是 HTML 而不是密钥,批次会被拒绝。

把密钥当机密处理

把文件放在鉴权之后或在 robots 里屏蔽,会让它失去作用——验证过程是一次无鉴权的 HTTP 抓取。

多主机复用密钥但不放文件

每个主机都必须提供自己的那份副本。在 example.com 上通过验证的密钥不会授权 blog.example.com。

常见问题

IndexNow 密钥应该多长?
8 到 128 位字符,可用字母、数字和短横线。本工具生成 32 位十六进制字符——足够难猜,同时在日志里仍然可读。
可以自己写密钥吗?
可以。只要符合字符和长度规则的字符串都行。用生成的密钥只是为了避免不小心选了过短或容易预测的值。
文件名必须和密钥一致吗?
只有使用默认位置时才需要。如果放在别处,提交时用 keyLocation 指定该地址即可——但它仍必须在同一个主机上。
生成密钥时会发给 submitnow 吗?
不会。生成和下载完全在浏览器内完成,全程没有任何网络请求。
密钥要多久轮换一次?
没有有效期。只有在需要作废旧文件时才轮换,并记得同时删除之前的密钥文件。