- 所有文章/
使用 GitHub Actions 自动提交 URL 到 IndexNow
本文目录
前言 #
如您所见,我最近推出了一个新的博客网站,使用一个新的子域。我的网站总是受益于 Cloudflare 的服务,得益于 IndexNow,Bing 搜索引擎可以在任何 URL 更新的 5 分钟内收录我的网站。
关于 IndexNow、Bing 和 Cloudflare 是如何合作的细节不在本文讨论范围中,但如果您也使用 Cloudflare 托管网站,有一个简单的技巧:只需登录 Cloudflare仪表板,打开 缓存
标签,导航到 配置
菜单,并启用 Crawler Hints
,此时 IndexNow 应该和 Cloudflare 一起工作了。
最近,我发现了 indexnow-action 这个项目, 它可以自动地向兼容 IndexNow API 的站长后台提交 URL,包括 Bing, Yandex, Seznam.cz 以及 IndexNow。这是个适用于任何网站的解决方案,无论是静态的还是动态的,大多数网站都会生成网站地图或 RSS 提要来帮助搜索引擎爬虫发现网站。该解决方案依靠 GitHub Actions 来运行工作流,使其成为确保网站被搜索引擎索引的一种方便且有效的方式。
步骤 #
实施上述解决方案的仅有三个简单的步骤:
- 生成一个密钥文件并将其上传到 您 的网站根目录
- 在您的 GitHub 仓库中添加一个工作流
- 将相关的 Github Actions 机密添加到您的存储库
通过遵循这三个简单的步骤,您可以触发 URL 自动提交给与 IndexNow API 兼容的站长管理后台,并确保您的网站被这些搜索引擎所索引。
开始 #
我们可以在 Bing Webmaster Tools 中生成一个独特的API密钥,当鼠标向下滚动时,你会看到下面的页面。点击下载或者生成一个新的。
在上面的截图中,我下载了一个 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 机密添加到存储库
示例:
机密名称:
INDEXNOW_KEY
机密值:
007997b63dd14237bdb9facc726c9a05
机密名称:
INDEXNOW_KEY_LOCATION
机密值:
https://blog.dejavu.moe/007997b63dd14237bdb9facc726c9a05.txt
很好,它现在应该如期工作了!
当由 CRON 定时任务或 git push 触发时,工作流将执行。当然,您可以根据自己的喜好自定义触发条件。