Docusaurus 自动提交 url 到搜索引擎
之前使用 Hexo
时,有三方包可用。于是调研了一下,发现 Docusaurus
没有类似三方可以使用,索性就自己写了个通用的 Github Action
search-engines-urls-push
,只要你的网站有 sitemap
就可以使用。
使用方式
使用前提
你的网站已经生成了 sitemap
创建 Github Action
为你的项目创建一个 Github Action
,内容如下
信息
触发条件可自行配置,触发条件可参考 Docusaurus DocSearch 搭建
name: search-engines-urls-push
on: deployment
jobs:
search-engines-urls-push:
runs-on: ubuntu-latest
name: search-engines-urls-push
steps:
- name: search-engines-urls-push
id: search-engines-urls-push
# 使用最新的版本
uses: 3Alan/search-engines-urls-push@v0.2.2
with:
site: ${{ secrets.SITE }}
sitemap: ${{ secrets.SITEMAP }}
count: ${{ secrets.COUNT }}
bing-token: ${{ secrets.BING_TOKEN }}
baidu-token: ${{ secrets.BAIDU_TOKEN }}
google-client-email: ${{ secrets.GOOGLE_CLIENT_EMAIL }}
google-private-key: ${{ secrets.GOOGLE_PRIVATE_KEY }}
配置 Actions secrets
在你的项目仓库中创建以下 Actions secrets
Name | Description | Required |
---|---|---|
SITE | 网站 url | true |
SITEMAP | sitemap url | true |
COUNT | 提交 url 的数目,不填的话全部提交 | false |
GOOGLE_CLIENT_EMAIL | client_email | false |
GOOGLE_PRIVATE_KEY | private_key | false |
BING_TOKEN | Bing API Key | false |
BAIDU_TOKEN | 百度 token | false |
具体参数获取参照 action
search-engines-urls-push 文档,欢迎 star 和奉献代码。
若你的 bing 每日配额大于你提交 url 总数请忽略此条警告
如果你配置了 BING_TOKEN,那么 COUNT 数值应小于 10,由于 BING 每日配额数只有 10 条( 大部分小流量网站应该都是 10 条),超出 10 条将导致所有 url 提交失败。
各平台每日配额数(供参考,每个人可能不一样)
百度:3000
必应:10
谷歌:200
TODO
Docusaurus
生成最近更新的 10 篇文章 sitemap
之前的想法是每次只提交最近更新的 10 篇文章(通过前言中的 date
),毕竟每次重复提交不仅耗费配额可能还影响 seo。但是由于 Docusaurus
的 sitemap
插件无法自定义生成规则,之前尝试过修改源码,最终发现 Docusaurus
的 postBuild 生命周期暴露的 url 信息过少(只有一个 url...),无法拿到每篇文章的前言信息。