npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

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

Readme

自动或手动提交您的网站信息至搜索引擎(谷歌,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 | 排序依据 | || 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

注意事项

  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": "[email protected]"
}
  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