跳转到内容

Astro 与 WordPress 配置 IndexNow 实现必应秒级收录保姆级教程

我们在 AI 时代 SEO 新玩法 中强调过,IndexNow 是现代独立站摆脱“爬虫被动抓取”、转向“主动通知收录”的核心技术。

对于新上线的出海站长来说,合理配置 IndexNow 能够让你的新产品页、新博客在发布后的几分钟内,甚至几秒钟内就被 Microsoft Bing、Yandex 等主流 AI 搜索信源收录。本文将针对 Astro(本站所用框架)与 WordPress(最普遍的建站平台)提供最详尽的技术配置方案。


为了防止坏人恶意假冒你提交网址干扰搜索引擎,IndexNow 协议规定了一套极其简单、高效的所有权校验机制:

  1. 你生成一个随机的 32 位 UUID 密钥(Key,如 cce1-bing-verify-2026)。
  2. 你在网站根目录下放置一个文本文件,命名为 你的密钥.txt(即 cce1-bing-verify-2026.txt),内容也同样填入这个密钥值。
  3. 当你向 IndexNow API 提交网址更新时,必须在请求中带上这个密钥。
  4. 微软的 API 服务器会实时访问你的域名根目录:https://你的域名.com/cce1-bing-verify-2026.txt。如果读取到的内容与请求中的密钥一致,代表你确实拥有这个域名的管理权,随后立刻派爬虫开始抓取。

💻 二、 各大建站系统配置实操

Section titled “💻 二、 各大建站系统配置实操”

方案一:Astro 静态站配置(本站同款方案)

Section titled “方案一:Astro 静态站配置(本站同款方案)”

如果你的网站使用 Astro 框架,我们可以使用 astro-indexnow 插件,在每次执行 pnpm build 打包时,自动扫描并提交更新的静态 URL。

  1. 安装插件 在你的项目根目录下运行安装命令:

    Terminal window
    pnpm add astro-indexnow
  2. 配置 astro.config.mjs 引入插件并添加至 integrations 数组中。配置参数示例如下:

    import indexNow from 'astro-indexnow';
    export default defineConfig({
    site: 'https://yourdomain.com', // 你的域名
    integrations: [
    indexNow({
    host: 'yourdomain.com', // 不带 https:// 的主机名
    sitemap: 'https://yourdomain.com/sitemap-index.xml', // Sitemap 地址
    key: 'cce1-bing-verify-2026', // 你的 32 位密钥 Key
    keyLocation: 'https://yourdomain.com/cce1-bing-verify-2026.txt', // Key 托管地址
    indexNowStrategy: 'production-build', // 安全策略:仅在生产构建时进行推送
    }),
    ],
    });
  3. 在 public 文件夹下放置 Key.txt 在项目根目录的 public/ 目录下创建一个名为 cce1-bing-verify-2026.txt 的文件,里面只填入这一串密钥 cce1-bing-verify-2026。静态构建时,Astro 会自动将其移至打包输出的根目录。

方案二:WordPress 开源自建站配置

Section titled “方案二:WordPress 开源自建站配置”

WordPress 用户的配置完全无需写任何代码,非常傻瓜式。

  1. 登录你的 WordPress 后台,点击 插件 -> 安装插件
  2. 在搜索框中输入 IndexNow,找到由 Microsoft Bing 官方开发的同名插件。
  3. 点击“立即安装”并激活。
  4. 进入插件设置页面,点击 Get Started。插件会在后台自动为你生成符合格式的随机 Key 并在你的 WP 服务器根目录下自动创建相应的 .txt 文件。
  5. 此后,每次你点击“发布新文章”或“更新页面”时,插件都会在后台自动抓取 URL 并发送给 IndexNow 接口,全程无需人工干预。

方案三:Cloudflare 边缘Hints(备用简易方案)

Section titled “方案三:Cloudflare 边缘Hints(备用简易方案)”

如果你觉得上面两个方法都麻烦,且你的域名 DNS 解析托管在 Cloudflare:

  1. 登录 Cloudflare 控制台 $\rightarrow$ 选择你的域名 $\rightarrow$ 点击 Caching(缓存) $\rightarrow$ Configuration(配置)
  2. 滑动找到 Crawler Hints(爬虫提示) 选项,一键开启。
  3. 当 Cloudflare 的边缘节点检测到你网站的资源或缓存发生变更时,它会自动通知 Bing 等引擎进行抓取。由于是基于网络流量的变化判断,时效性上相比前两者主动推送会略有延迟。

🛠️ 三、 高阶:通过 API 命令行手动推送

Section titled “🛠️ 三、 高阶:通过 API 命令行手动推送”

如果你是自研后台(如 Laravel, Django),可以使用 curl 或者 Node.js fetch 接口直接手动向 API 发送 PING 请求。

💡 curl 手动推送 JSON 示例代码:

Section titled “💡 curl 手动推送 JSON 示例代码:”
Terminal window
curl -X POST "https://api.indexnow.org/indexnow" \
-H "Content-Type: application/json" \
-d '{
"host": "yourdomain.com",
"key": "cce1-bing-verify-2026",
"keyLocation": "https://yourdomain.com/cce1-bing-verify-2026.txt",
"urlList": [
"https://yourdomain.com/page-1.html",
"https://yourdomain.com/page-2.html"
]
}'
  • API 响应代码
    • 200 OK:提交成功,等待引擎收录。
    • 400 Bad Request:请求格式有误(如参数拼写错误)。
    • 403 Forbidden:密钥校验失败(引擎访问你的 keyLocation 时读出的内容与请求中的 key 对不上)。