跳到主要内容
  1. 所有文章/

使用 GitHub Actions 自动提交 URL 到 IndexNow

·965 字·约 2 分钟
本文目录

前言 #

如您所见,我最近推出了一个新的博客网站,使用一个新的子域。我的网站总是受益于 Cloudflare 的服务,得益于 IndexNow,Bing 搜索引擎可以在任何 URL 更新的 5 分钟内收录我的网站。

IndexNow
IndexNow

关于 IndexNow、Bing 和 Cloudflare 是如何合作的细节不在本文讨论范围中,但如果您也使用 Cloudflare 托管网站,有一个简单的技巧:只需登录 Cloudflare仪表板,打开 缓存 标签,导航到 配置 菜单,并启用 Crawler Hints,此时 IndexNow 应该和 Cloudflare 一起工作了。

最近,我发现了 indexnow-action 这个项目, 它可以自动地向兼容 IndexNow API 的站长后台提交 URL,包括 Bing, Yandex, Seznam.cz 以及 IndexNow。这是个适用于任何网站的解决方案,无论是静态的还是动态的,大多数网站都会生成网站地图或 RSS 提要来帮助搜索引擎爬虫发现网站。该解决方案依靠 GitHub Actions 来运行工作流,使其成为确保网站被搜索引擎索引的一种方便且有效的方式。

步骤 #

实施上述解决方案的仅有三个简单的步骤:

  1. 生成一个密钥文件并将其上传到 您 的网站根目录
  2. 在您的 GitHub 仓库中添加一个工作流
  3. 将相关的 Github Actions 机密添加到您的存储库

通过遵循这三个简单的步骤,您可以触发 URL 自动提交给与 IndexNow API 兼容的站长管理后台,并确保您的网站被这些搜索引擎所索引。

开始 #

我们可以在 Bing Webmaster Tools 中生成一个独特的API密钥,当鼠标向下滚动时,你会看到下面的页面。点击下载或者生成一个新的。

Generate API Key
Generate API Key

在上面的截图中,我下载了一个 007997b63dd14237bdb9facc726c9a05.txt 文件,然后把它复制到我网站的根目录。作为一个例子,我使用 Hugo 静态网站生成器,所以我把它放在 /static 文件夹中,这样就有了这样的 URL:

https://blog.dejavu.moe/007997b63dd14237bdb9facc726c9a05.txt

在我们任何一个 GitHub 仓库的根部,创建一个新的工作流程文件,就像这样:

.github/workflows/IndexNow.yml

按如下方式编辑,不要忘记更改 sitemap-location 以匹配您自己的网站

name: "IndexNow"
on:
  push:
    branches:
    	# when git push to the master branch
      - master
  schedule:
    # scheduled in UTC.
    - cron:  '0 0,12 * * *'

jobs:
  check-and-submit:
    runs-on: ubuntu-latest
    steps:
      - name: submit-to-bing
        uses: bojieyang/indexnow-action@v1
        with:
          sitemap-location: "https://yoursite.tld/sitemap.xml"  # change it
          endpoint: "www.bing.com"
          since: 1
          # minite, hour, day, week, month, year
          since-unit: "day"
          limit: 100
          key: ${{ secrets.INDEXNOW_KEY }}
          key-location: ${{ secrets.INDEXNOW_KEY_LOCATION }}

接下来,将两个 Github Actions 机密添加到存储库

GitHub Actions Secrets
GitHub Actions Secrets

示例:

  1. 机密名称:INDEXNOW_KEY

    机密值:007997b63dd14237bdb9facc726c9a05

  2. 机密名称:INDEXNOW_KEY_LOCATION

    机密值:https://blog.dejavu.moe/007997b63dd14237bdb9facc726c9a05.txt

很好,它现在应该如期工作了!

Done
Done

当由 CRON 定时任务或 git push 触发时,工作流将执行。当然,您可以根据自己的喜好自定义触发条件。

Dejavu Moe
作者
Dejavu Moe
Not for success, just for growing.