hexo-seo-submit
v0.11.0
Published
Manual or automatic submit your site to search engines(google, bing, baidu). There are Github actions and coding jenkins available for CI
Downloads
361
Maintainers
Readme
自动或手动提交您的网站信息至搜索引擎(谷歌,bing,百度)。支持配置 GitHub Actions
或 Coding Jenkins
来适配不同平台的 CI
star 后使用,效果更佳~~
📦 Install
npm install hexo-seo-submit
yarn add hexo-seo-submit
pnpm add hexo-seo-submit
🔨 Usage
在 hexo/_config.yml
中配置 hexo-seo-submit
hexo-seo-submit:
sortBy: updated # created | updated, default created
count: 2 # set all engine count, default 10
fileRootPath: hexo-seo-submit # will generate in root/public/fileRootPath, default '', root/public/
CI:
enable: true
cron: 0 4 * * *
platform: github # github | coding, default gitHub
branch: main # actions trigger branch, default master
baidu:
enable: true # default false
path: baidu.txt # default google.txt
count: 1
token: you baidu token
google:
enable: true
path: google-url.txt # default google.txt
# find path in root
accountKeysJSonFile: google.json # path.join(process.cwd(), path)
count: 2
# maybe required
proxy: http://127.0.0.1:7890
bing:
enable: true
apiKey: your bing api key
sortBy: created # default created
path: bing.json
github 中使用
如果在 github actions
中运行,可如下简化
hexo-seo-submit:
CI:
enable: true
baidu:
enable: true
google:
enable: true
bing:
enable: true
注意!生成后的 actions
文件路径为:public/.github/workflows/hexo-seo-submit.yml
,由于点开头的文件或文件夹默认被 hexo-deployer-git
忽略,你需要在 _config.yml
的 deploy
中
deploy:
type: git
repo: https://github.com/<username>/<project>
ignore_hidden: false # 忽略隐藏文件及文件夹(目录)
配置环境变量,去除引号直接粘贴至 即可
| Name | Value | 说明 | | ------------------- |-----------------------------------------------------------------|-----------------------------| | baidu_token | | 百度的 token | | bing_apikey | | 必应的 apikey | | google_private_key | -----BEGIN PRIVATE KEY-----\n.....\n-----END PRIVATE KEY-----\n | 谷歌的 private_key,注意:粘贴时请去除引号 | | google_client_email | | 谷歌的 client_email |
coding 中使用
hexo-seo-submit:
CI:
enable: true
platform: coding
baidu:
enable: true
google:
enable: true
bing:
enable: true
在项目 => 持续集成 => 构建计划
中创建构建计划
2. 创建完后点 去设置
在基础信息中,将 配置来源
选择为 使用代码库中的 Jenkinsfile
。节点配置池
需要选择可以连接 google 的节点,若无此需求可随意
3. 在 触发规则
中可配置触发条件,例如:main
分支提交时触发和定时触发等。注意点保存
4. 在 变量与缓存
中添加环境变量
需要注意的是在 coding
中 google_private_key
需要 引号
| Name | Value | 说明 |
| ------------------- |-----------------------------------------------------------------|----------------------------|
| baidu_token | | 百度的 token |
| bing_apikey | | 必应的 apikey |
| google_private_key | "-----BEGIN PRIVATE KEY-----\n.....\n-----END PRIVATE KEY-----\n" | 谷歌的 private_key,注意:粘贴时需要引号
|
| google_client_email | | 谷歌的 client_email |
本地 deploy
时 push
到搜索引擎
hexo-seo-submit:
baidu:
enable: true
token: you baidu token
google:
enable: true
accountKeysJSonFile: google.json
proxy: http://127.0.0.1:7890
bing:
enable: true
apiKey: your bing api key
# 注意在此处配置
deploy:
- type: hexo-seo-submit
本地执行 hexo deploy
时,hexo-seo-submit
会将 public
中生成的 urls
提交至搜索引擎、
你需要将申请的 Baidu token、Bing apikey、Google json 填入。如果你的网络环境连接 google
较慢的话,可以尝试使用 proxy
字段,支持 https
。
最后需要在 deploy
中配置
参数
hexo-seo-submit 配置参数描述
| 参数 | 类型 | 描述 | 默认值 |
|-----------------------------|---------|--------------------------------------------------------------------------|-----------------------|
| hexo-seo-submit
| | 根配置项 | |
| sortBy
| string | 排序依据,created
或 updated
,优先使用引擎中的字段 | created
|
| count
| integer | 生成 url 的数量,优先使用引擎中的字段 | 10 |
| fileRootPath
| string | 生成文件的根路径,将生成在 root/public/fileRootPath
目录,如果你不想分散在 public 目录中,则可以使用该字段 | ''
,即 root/public/
|
| CI
| object | 持续集成配置 | |
| CI.enable
| boolean | 是否启用持续集成 | false |
| CI.cron
| string | CRON 表达式,指定任务调度时间,注意在 actions
中的时区,且仅在 platform
为 github
时有效 | 0 4 * * *
|
| CI.platform
| string | github
或 coding
| github
|
| CI.branch
| string | 触发操作的分支名称,仅在 github
时有效 | master
|
| baidu
| object | 百度搜索引擎配置 | |
| baidu.enable
| boolean | 是否启用百度搜索引擎 | false |
| baidu.path
| string | 生成 urls 文件的路径 | baidu.txt
|
| baidu.count
| integer | 生成 urls 的数量 | |
| baidu.sortBy
| string | 排序依据 | || baidu.token
| string | 百度搜索引擎的 token | |
| google
| object | 谷歌搜索引擎配置 | |
| google.enable
| boolean | 是否启用谷歌搜索引擎 | true |
| google.path
| string | | google.txt
|
| google.accountKeysJSonFile
| string | 谷歌账户密钥文件路径,默认 root 目录寻找 | google.json
|
| google.count
| integer | | |
| google.sortBy
| integer | | |
| google.proxy
| string | https proxy,如果你是 clash 一般默认为 http://127.0.0.1:7890
| |
| bing
| object | 必应搜索引擎配置 | |
| bing.enable
| boolean | 是否启用必应搜索引擎 | true |
| bing.apiKey
| string | 必应搜索引擎的 API 密钥 | |
| bing.sortBy
| string | | |
| bing.path
| string | | bing.json |
使用命令执行
npx hexo-seo-submit -h
# or
npx hexo-seo-submit google -h
# baidu
$ npx hexo-seo-submit baidu -t <your baidu token> -s https://ksh7.com -f baidu.txt
# bing
# must .json file, Eg: { siteUrl: 'https://ksh7.com', urlList: ['xxx'] }
$ npx hexo-seo-submit bing -k <you bing api key> -f examples/files/bing.json
# google
# use Environment variables
$ export PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n..."
$ npx hexo-seo-submit google -f examples/files/baidu.txt -p http://127.0.0.1:7890 -mail <your client_email here> -key "$PRIVATE_KEY"
# use json file
$ npx hexo-seo-submit google -f examples/files/baidu.txt -p http://127.0.0.1:7890 -kf examples/files/google-keys.json
注意事项
- 搜索引擎中的
path
更改时注意后缀应于默认值保持一致 google
连接缓慢?请使用proxy
字段google push
失败?请注意google_private_key
的格式
申请凭证
Baidu
百度站长平台 => 普通收录
=> 资源提交
中得到 token
,
http://data.zz.baidu.com/urls?site=https://ksh7.com&token=***********
效果查看,一般 T+1,或查看 actions 中的运行日志。
- 进入 Web Search Indexing API,选择
项目
并启用 API,没有可新建。
- 点击
管理
按钮,进入
凭据 菜单,选择创建凭据 => 服务账号
- 填写
服务账号ID
,服务名称
可选,随后直接点击完成
- 点击创建好的服务账号,点击
密钥
=>添加密钥
,选择创建新密钥
,选择JSON
格式,点击创建
,下载json
文件
内容如下,在 github secrets
中分别对应 google_private_key
、google_client_email
注意,在 github
中,复制 private_key
时不需要 引号
,在 coding
中复制需要 引号
{
"private_key": "-----BEGIN PRIVATE KEY-----\nxxxxxx\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]"
}
- 打开 Google Search Console,
设置 => 用户和权限 => 添加用户
,邮箱为上述json email
,权限请选择拥有者
Bing
- 打开 https://www.bing.com/webmasters/home,选择谷歌账号登录(可同步
Google Search Console
,无需再验证)
- 点击右上角的
设置 => API 访问 => 复制 API 密钥
即可
URL 提交
菜单中可验证