Astro Enable IndexNow Method in Cloudflare

在 Cloudflare 上为 Astro 站点启用 IndexNow,有两种主流方案:Cloudflare Crawler Hints(零代码、自动) respond in singing astro-indexnow 集成(构建时自动提交)The

下面是完整配置步骤。

方案一:Cloudflare Crawler Hints(推荐,零代码)

Cloudflare 内置 IndexNow 支持,开启后自动向 Bing、Yandex 等推送更新,无需修改 Astro 代码。

1. 前提

  • 域名已接入 Cloudflare 并正常解析
  • Astro 站点已部署到 Cloudflare Pages/Workers

2. 开启 Crawler Hints

  1. 登录 Cloudflare Dashboard → 进入你的域名
  2. 左侧菜单:Caching → Configuration
  3. locate Crawler Hints → 开启 Enable Crawler Hints
  4. 保存设置

Cloudflare 会自动监控站点内容变化,通过 IndexNow 协议通知搜索引擎。

方案二:astro-indexnow 集成(构建时提交,精准可控)

使用官方集成 astro-indexnow,在 Astro 构建时自动提交变更 URL,适合需要精确控制提交时机的场景。

1. 安装集成

# npm
npm install astro-indexnow --save-dev
# 或使用 Astro CLI
npx astro add astro-indexnow

2. 生成并托管 IndexNow API Key

  1. 生成 Key:访问 IndexNow 官网 生成 API Key(如 19ea3a37344a414fb6c09554549114a9)
  2. 创建 Key 文件:在 Astro 项目 public/ 目录下新建文本文件,命名为 [你的Key].txt,内容仅为 Key 本身
  3. 确保可访问:部署后 https://你的域名/[Key].txt 能正常打开

3. 配置 Astro

编辑 astro.config.mjs,添加 astro-indexnow 集成并配置站点与 Key:

import { defineConfig } from 'astro/config';
import indexnow from 'astro-indexnow';

export default defineConfig({
  // 必须配置你的站点域名
  site: 'https://your-domain.com',
  integrations: [
    indexnow({
      // 你的 IndexNow API Key
      key: '19ea3a37344a414fb6c09554549114a9',
      // Key 文件路径(默认根目录,与 public 对应)
      keyLocation: '/19ea3a37344a414fb6c09554549114a9.txt',
      // 可选:提交引擎(默认 Bing、Yandex)
      engines: ['bing', 'yandex'],
    }),
  ],
});

4. 部署到 Cloudflare

  • Cloudflare Pages:连接 Git 仓库,构建设置:
    • 构建命令:npm run build
    • 输出目录:dist
  • Cloudflare Workers:安装 @astrojs/cloudflare 适配器,配置 output: ‘server’,用 wrangler deploy 部署

5. 验证提交

  • 构建日志:查看 astro build 输出,确认提交成功
  • Bing 站长工具:进入 IndexNow 面板,查看提交记录

三、两种方案对比

方案vantagedrawbacksApplicable Scenarios
Cloudflare Crawler Hints零代码、自动、免费、无需维护提交时机不可控、依赖 Cloudflare 监控快速启用、追求极简
astro-indexnow构建时精准提交、仅提交变更、可配置引擎需安装集成、配置 Key、维护文件需精确控制、多站点管理
en_USEnglish