
如果你刚启动网站或发布新博客文章,你可能经历过同样的挫折 — 需要 几天,有时几周,Google 或 Bing 才会真正发现并索引页面。在这个期间搜索你自己的文章一无所获。在一个一切都需要快速的时代,有一种更好的方式而不是等待爬虫按自己的计划通过。这种方式称为 IndexNow。
IndexNow 是什么
IndexNow 是一个 开源协议,让网站所有者可以直接向搜索引擎"ping"说:"这个 URL 刚刚创建/更新/删除。"当搜索引擎收到 ping 时,它会立即爬行该 URL — 而不是等待其常规计划,这可能需要几天。
一个简单的类比:与其等着邮递员经过你的街道发现你有邮件,你直接致电邮局说,"我今天要寄 5 封信,现在来取吧。"IndexNow 就是那通电话。
为什么使用 IndexNow
- 快几倍 — 新文章在几小时内被 Bing/Yandex 索引(而不是通常的 3-14 天)
- 100% 免费 — 无需注册、无需信用卡、无需费用
- 非常简单 — 一个验证文件 + 一个 HTTP 请求就完成
- 减少服务器负载 — 机器人不会随意爬行你的整个网站;它们只来访问你指向的 URL
- 适合经常更新的网站 — 新闻、博客、每天有新产品的电商
IndexNow 和流行的 CMS — 立即启用自动提交
你不需要每次都编写自定义代码。主要的 CMS 平台通过专用插件或内置设置支持 IndexNow,因此每次发布或更新都会自动 ping 搜索引擎。
| CMS / 平台 | 如何启用 IndexNow | 自动提交 |
|---|---|---|
| WordPress | 安装 Microsoft 的免费"IndexNow"插件 | ✅ 是 |
| Joomla | 扩展 → IndexNow Notifier | ✅ 是 |
| Wix | SEO 设置 → 搜索引擎索引 | ✅ 是 |
| 静态网站 (Hugo/Jekyll) | 向构建管道添加脚本 | ⚠️ 手动设置 |
| 自定义 PHP / HTML | 使用 curl 或 file_get_contents 调用 API | ⚠️ 手动设置 |
自定义 PHP 网站的示例 — 在发布文章后添加此代码段:
$url = urlencode('https://yoursite.com/new-post.html');
$key = 'YOUR_INDEXNOW_KEY';
$endpoint = "https://api.indexnow.org/indexnow?url={$url}&key={$key}";
$ctx = stream_context_create(['http' => ['method' => 'GET', 'timeout' => 5]]);
$resp = @file_get_contents($endpoint, false, $ctx);
// $http_response_header[0] 应包含"200 OK"或"202 Accepted"
大流量网站的 IndexNow 策略
对于每天发布数百个新页面的电商或新闻网站,建立 IndexNow 队列,将多个 URL 批处理为单个提交,减少请求数量并保持在速率限制范围内。
- 批量提交 — 在 15–30 分钟内收集 URL 并发送一个 POST JSON(最多 10,000 个 URL)
- 仅新的和更新的 URL — 永远不要重新提交未更改的 URL
- 使用 Cron 作业 — 运行每 30 分钟刷新待处理队列的脚本
- 记录响应代码 — 在数据库中存储 HTTP 代码以调试 403/422 错误
- 包含 keyLocation — 在 POST JSON 中,如果 key.txt 不在根目录,明确提供
keyLocation
PHP 中批量提交的示例:
$payload = json_encode([
'host' => 'yoursite.com',
'key' => 'YOUR_KEY',
'keyLocation' => 'https://yoursite.com/YOUR_KEY.txt',
'urlList' => $urlsArray // 最近发布/更新的 URL 数组
]);
$opts = [
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r\n",
'content' => $payload,
'timeout' => 10,
]
];
$result = file_get_contents('https://api.indexnow.org/indexnow',
false, stream_context_create($opts));
使用 IndexNow 的可衡量现实好处
持续使用 IndexNow 的网站站长和 SEO 机构报告相同的结果 — 新页面出现在 Bing 中的时间大幅下降。
| 场景 | 使用 IndexNow 前 | 使用 IndexNow 后 |
|---|---|---|
| 新博客文章 | 3–14 天 | 几小时内 |
| 产品价格更新(电商) | 2–7 天 | 24 小时内 |
| 删除过期 URL | 可能在索引中保留数周 | 机器人更快爬行 404 |
| 突发新闻(新闻网站) | 可能错过新闻周期 | 更频繁地及时索引 |
关键点:IndexNow 帮助搜索引擎"快速了解" — 它不保证更好的排名。无论如何,内容质量和反向链接仍然是主要的 SEO 因素。
支持 IndexNow 的搜索引擎
| 搜索引擎 | 支持 | 备注 |
|---|---|---|
| Bing (Microsoft) | ✅ 是 | 协议所有者 — 直接接受 |
| Yandex | ✅ 是 | 共同创始人 — 与 Bing 相同的端点 |
| Seznam (捷克) | ✅ 是 | 通过 api.indexnow.org 支持 |
| Naver (韩国) | ✅ 是 | 通过 api.indexnow.org 支持 |
| ❌ 还不支持 | Google 有自己的 Search Console |
关键限制: Google 是世界上最大的搜索引擎,不支持 IndexNow。要加快 Google 索引速度,请并行使用 Google Search Console → URL 检查 → 请求索引。
工作方式 — 3 个步骤
步骤 1 — 创建 API 密钥
一个字母数字或十六进制字符串,8-128 个字符长,例如 a1b2c3d4e5f6... 你可以使用 openssl rand -hex 32 或任何在线工具生成。
步骤 2 — 放置验证文件
在网站根目录创建名为 {KEY}.txt 的文件(例如 https://yoursite.com/{KEY}.txt)。文件内容是密钥本身 — 这证明你拥有该域名。
步骤 3 — 通过 HTTP 提交 URL
使用 HTTP GET 或 POST 将 URL 发送到 IndexNow 端点:
https://api.indexnow.org/indexnow?url=https://yoursite.com/new-post.html&key=YOUR_KEY
如果获得 HTTP 200 或 202 返回 = 成功。搜索引擎将在几小时内爬行。
现实世界提交示例 (curl)
提交一个 URL — GET
curl "https://api.indexnow.org/indexnow?url=https://yoursite.com/post.html&key=YOUR_KEY"
提交多个 URL — POST JSON
curl -X POST "https://api.indexnow.org/indexnow" \
-H "Content-Type: application/json" \
-d '{
"host": "yoursite.com",
"key": "YOUR_KEY",
"keyLocation": "https://yoursite.com/YOUR_KEY.txt",
"urlList": [
"https://yoursite.com/post-1.html",
"https://yoursite.com/post-2.html",
"https://yoursite.com/post-3.html"
]
}'
HTTP 状态代码含义
| 代码 | 含义 |
|---|---|
| 200 | OK — URL 已接受 |
| 202 | 已接受 — 已收到,密钥验证待处理 |
| 400 | 坏请求 — JSON 格式错误 |
| 403 | 禁止 — 未找到 key.txt 或密钥不匹配 |
| 422 | 不可处理 — URL 不在主机上,或 HTTP vs HTTPS 不匹配 |
| 429 | 请求过多 — 放慢速度并稍后重试 |
需要了解的限制
- 每个请求最多 10,000 个 URL — 如果更多,分成多个批次
- URL 必须在验证密钥的同一主机上 — 在
example.com上验证不允许你提交othersite.com的 URL - 仅 HTTPS — 提交的 URL 必须以
https://开头 - 不要垃圾邮件 — 每 5 分钟重新提交同一 URL 可能会触发速率限制
- 内容质量仍然很重要 — IndexNow 加快爬行速度,但如果内容质量差,不会帮助排名
如何验证 IndexNow 是否有效
- 在 bing.com/webmasters 注册 Bing 网站管理员工具(免费)
- 使用 Bing 验证你的域名
- 在侧边栏中打开 URL 提交或 IndexNow 菜单
- 你将看到你之前提交的 URL,以及它们的状态(已提交 / 已索引 / 错误)
IndexNow vs Google Search Console — 区别在哪里
| 方面 | IndexNow | Google Search Console |
|---|---|---|
| 覆盖范围 | Bing + Yandex + 其他 | 仅 Google |
| 需要登录 | 否(使用 key.txt) | 是(Google 账户) |
| 批量提交 | 10,000 URL/请求 | 通过 UI 一个 URL |
| API | 是(HTTP POST/GET) | 是(限制索引 API) |
| 免费 | 是 | 是 |
建议:并行使用两者 — IndexNow 用于 Bing/Yandex,Search Console 用于 Google。它们一起覆盖所有主要搜索引擎。
常见问题
问:我需要懂编程吗?
不必 — 只要知道如何使用 curl 或浏览器提交 URL 就够了。如果使用 WordPress,有一个 Microsoft 开发的免费插件叫 "IndexNow",一键安装,每次发布都自动提交。
问:它会让我的网站被 Google 更快索引吗?
不会 — Google 还不支持 IndexNow。改用 Google Search Console(请求索引,每次一个 URL)。
问:如果我想更改我的密钥怎么办?
在根目录创建新的 {NEW_KEY}.txt 文件,然后对未来提交使用新密钥。旧密钥在你删除旧文件之前仍然有效。
问:我可以提交已删除的页面的 URL 吗?
可以 — IndexNow 可以公布新的 / 更新的 / 删除的页面。机器人会爬行,遇到 404,并从索引中删除 URL。
问:它会改进我的排名吗?
不会直接改进 — IndexNow 只加快发现速度。排名仍然取决于内容质量、反向链接和标准技术 SEO。
总结: IndexNow 是每个网站站长都应该启用的"基础"工具。设置一次只需约 10 分钟,可以让你的新内容以快几倍的速度进入 Bing — 它不能替代 Google Search Console 但它们配合得很好。
立即启动你的网站
AsiaGB 托管支持 curl 并让你立即放置验证文件和运行 IndexNow — SSD 托管从 500 泰铢/年起,配备 DirectAdmin、免费 SSL 和每月两次备份。