hexo-seo-submit
TypeScript icon, indicating that this package has built-in type declarations

0.11.0 • Public • Published

Hexo Seo Submit

Typing SVG

自动或手动提交您的网站信息至搜索引擎(谷歌,bing,百度)。支持配置 GitHub ActionsCoding Jenkins 来适配不同平台的 CI

CI status NPM version NPM downloads

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.ymldeploy

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
  1. 在项目 => 持续集成 => 构建计划 中创建构建计划

2. 创建完后点 去设置 在基础信息中,将 配置来源 选择为 使用代码库中的 Jenkinsfile节点配置池 需要选择可以连接 google 的节点,若无此需求可随意

3. 在 触发规则 中可配置触发条件,例如:main 分支提交时触发和定时触发等。注意点保存

4. 在 变量与缓存 中添加环境变量

需要注意的是在 codinggoogle_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

本地 deploypush 到搜索引擎

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 排序依据,createdupdated ,优先使用引擎中的字段 created
count integer 生成 url 的数量,优先使用引擎中的字段 10
fileRootPath string 生成文件的根路径,将生成在 root/public/fileRootPath 目录,如果你不想分散在 public 目录中,则可以使用该字段 '',即 root/public/
CI object 持续集成配置
CI.enable boolean 是否启用持续集成 false
CI.cron string CRON 表达式,指定任务调度时间,注意在 actions 中的时区,且仅在 platformgithub 时有效 0 4 * * *
CI.platform string githubcoding 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 排序依据
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

注意事项

  1. 搜索引擎中的 path 更改时注意后缀应于默认值保持一致
  2. google 连接缓慢?请使用 proxy 字段
  3. google push 失败?请注意 google_private_key 的格式

申请凭证

Baidu

百度站长平台 => 普通收录 => 资源提交 中得到 token

http://data.zz.baidu.com/urls?site=https://ksh7.com&token=***********

效果查看,一般 T+1,或查看 actions 中的运行日志。

Google

  1. 进入 Web Search Indexing API,选择 项目 并启用 API,没有可新建。

  1. 点击 管理 按钮,进入 凭据 菜单,选择 创建凭据 => 服务账号

  1. 填写 服务账号ID服务名称 可选,随后直接点击 完成

  1. 点击创建好的服务账号,点击 密钥 => 添加密钥,选择 创建新密钥,选择 JSON 格式,点击 创建,下载 json 文件

内容如下,在 github secrets 中分别对应 google_private_keygoogle_client_email 注意,在 github 中,复制 private_key 时不需要 引号,在 coding 中复制需要 引号

{
  "private_key": "-----BEGIN PRIVATE KEY-----\nxxxxxx\n-----END PRIVATE KEY-----\n",
  "client_email": "googleindexing@elated-guild-298003.iam.gserviceaccount.com"
}
  1. 打开 Google Search Console设置 => 用户和权限 => 添加用户,邮箱为上述 json email,权限请选择 拥有者

  1. 打开 https://console.cloud.google.com/apis/api/indexing.googleapis.com/metrics,选择你的项目,进行验证

Bing

  1. 打开 https://www.bing.com/webmasters/home,选择谷歌账号登录(可同步 Google Search Console,无需再验证)

  1. 点击右上角的 设置 => API 访问 => 复制 API 密钥 即可

  1. URL 提交菜单中可验证

参考

hexo-seo-submit docs

Hexo-SEO-AutoPush

hexo-url-submission

Package Sidebar

Install

npm i hexo-seo-submit

Weekly Downloads

65

Version

0.11.0

License

MIT

Unpacked Size

41.7 kB

Total Files

9

Last publish

Collaborators

  • 142536yu