开始使用 IndexNow

October 20, 2021

IndexNow 是一种让内容创作者在发布新内容后一键通知多家搜索引擎的标准和技术。

对于独立网站来说有一个很大的优点就是可以被各大搜索引擎收录,进而互联网上其他用户可以通过搜索引擎发现你的内容,所以对于独立网站的站长来说你需要确保网站上新发布的内容尽可能快的被搜索引擎的爬虫找到,而不是被动的等待爬虫找到你的内容,因为对于小站点来说这个过程可能会耗费很久。

为了让搜索引擎第一时间知道你发布了新内容,大部分搜索引擎都提供了站长后台和相关 API,站长可以将网站上新产生的内容链接第一时间提交给搜索引擎。这里有一个比较麻烦的点,站长需要去调用多个搜索引擎的 API,成本就略微比较高了,所以现在微软联合 Yandex 推出了 IndexNow,它提供了一种快速的方法让网站站长可以第一时间通知所有接入 IndexNow 的搜索引擎网站的内容发生了变化。

index-now-flow

如何接入 IndexNow

Step 1: 验证网站所有权

只有网站站长才允许调用 IndexNow API,所以当你调用 IndexNow API 的时候,它会先验证你是站长才会处理你的抓取请求。要通过验证,你需要按照如下步骤操作:

  • 首先,生成一个随机 Key,可以用 nanoid,最终生成一个类似这样的就可以:qaxfMzelYq5xKx4xhEDb5ZahikSevh
  • 使用上面生成的 Key,在网站根目录放置放置一个名为 qaxfMzelYq5xKx4xhEDb5ZahikSevh.txt 的文件,文件内容填写 qaxfMzelYq5xKx4xhEDb5ZahikSevh 即可
  • 最后确认一下访问 https://<your_domain>/qaxfMzelYq5xKx4xhEDb5ZahikSevh.txt 返回的是 qaxfMzelYq5xKx4xhEDb5ZahikSevh 即表示设置正确

除了在网站根目录放置 key 文件,也可以选择直接用 Nginx 来实现,在 Nginx 的 server 配置里增加下面的代码即可:

    location = /qaxfMzelYq5xKx4xhEDb5ZahikSevh.txt {
        return 200 'qaxfMzelYq5xKx4xhEDb5ZahikSevh';
    }

Step 2: 提交内容链接

所有权验证准备好之后,就可以调用 IndexNow API 通知搜索引擎抓取你的内容了,请求示例如下:

POST /IndexNow HTTP/1.1
Host: www.bing.com
Content-Type: application/json

{
  "host": "https://baiyun.me",
  "key": "qaxfMzelYq5xKx4xhEDb5ZahikSevh", // 这里的 key 需要和上面的保持一致
  "urlList": [
    "https://baiyun.me/using-indexnow",
    "https://baiyun.me/about"
  ]
}

API 调用成功会返回 200 响应码,响应主体为空:

Bing-IndexNow-Postman

调用成功后,你的抓取请求就通知到所有接入 IndexNow 的搜索引擎了,它们会尽快来抓取页面,需要注意的是,抓取页面并不代表它们会收录你的页面,只有收录成功之后你的内容才会出现在搜索结果中。具体要不要收录,各大搜索引擎都有自己的算法,网站站长能做的就是尽量让网站上的内容是『有价值』的。

Cloudflare 用户

Cloudflare 有一个 Crawler Hints 功能现在已经支持 IndexNow,如果你的网站使用了 Cloudflare,可以尝试开启 Crawler hints 开关,具体路径如下:登录并选择你的站点 -> 点击导航栏的"缓存" -> 点击配置 -> 下拉找到 Crawler Hints -> 打开开关即可

Crawler Hints 这个功能目前还是测试阶段,具体效果如何还有待商榷。

cloudflare-cache

cloudflare-crawler-hints

补充方案

IndexNow 目前只支持 Microsoft Bing 和 Yandex,目前官方说法是老大哥 Google 并没有计划支持 IndexNow,所以如果你想兼顾其他搜索引擎,可以考虑调用这些搜索引擎各自提供的 API 来实现,已经有人将这些 API 封装成公共模块,比如 submit-url 就支持百度、谷歌、必应。

收录速度

我观察了几天本站内容在各大搜索引擎的收录速度,一个新链接,从提交给搜索引擎,到最终在搜索结果中显示出来,Google 是最快的,通常只需要不到 1 天的时间,其次是 Yandex,需要 1-2 天左右,再其次是 Bing,时间不确定,至于百度,嗯。不说了。

经过长时间的观察,我发现 Google 的索引速度和数量都领先其他搜索引擎,对用户来说同样的关键字在 Google 可以更及时的搜索到更多的内容。

参考链接

如果你喜欢我的内容,请考虑请我喝杯咖啡☕吧,非常感谢🥰 。

If you like my contents, please support me via BuyMeCoffee, Thanks a lot.