一、前言

1.1 核心痛点

传统手动提交方式存在三大瓶颈:

  • 效率瓶颈:需逐个平台重复提交
  • 时效瓶颈:人工操作无法实时响应
  • 覆盖瓶颈:容易遗漏分页/标签页

1.2 解决方案

基于 hexo-submit-urls-to-search-engine 插件的自动化方案:

graph TD
A[Hexo生成静态文件] --> B[自动提取URL]
B --> C[多平台并行提交]
C --> D[百度站长平台]
C --> E[Bing Webmaster]
C --> F[Google Indexing API]

1.3 主要步骤

  1. 获取各站长平台密钥
  2. 安装并配置hexo-submit-urls-to-search-engine插件
  3. hexo clean && hexo g && hexo d,并查询推送结果

二、站长平台验证

有些站长平台需要验证网站所有权,如果域名在Cloudflare中托管则Google和Bing是自动验证的。
对于Butterfly主题,可以通过配置文件中填写验证代码进行验证,以下是验证流程:

验证流程:

  1. 在各站长平台获取验证代码(形如 <meta name="xxxxx" content="xxxxx">)
  2. 修改 Butterfly 主题配置文件 _config.butterfly.yml:
1
2
3
4
5
6
7
8
# Site verification
site_verification:
- name: google-site-verification
content: xxxxx
- name: bing-site-verification
content: xxxxx
- name: baidu-site-verification
content: xxxxx
  1. 部署生效:
1
hexo clean && hexo g && hexo d

📘 验证码获取位置:

  • Google:Search Console → 所有权验证 → HTML标记
  • Bing:站长工具 → 网站验证 → meta标签
  • 百度:搜索资源平台 → 站点管理 → 验证网站

三、平台密钥获取指南

3.1 百度站长平台

百度搜索资源平台界面

  1. 注册流程:
    打开 https://ziyuan.baidu.com/site/index#/→ 添加网站

  2. 获取API密钥:

    • 进入「用户中心」→「站点管理」→「添加网站」
    • 在「普通收录」→「API提交」获取接口地址:
      1
      http://data.zz.baidu.com/urls?site=您的域名&token=您的Token
  3. 参数说明:

    • site:在百度注册的完整域名(含协议头)
    • token:32位API推送密钥

🔴 备案要求提示:
百度对中文内容收录需完成ICP备案,若使用海外服务器:

3.2 必应站长工具

必应API密钥获取界面

  1. 快速接入:
    1
    [![必应站长平台接入](https://img.shields.io/badge/Bing-Webmaster_Tools-blue)](https://www.bing.com/webmasters/home)
  2. 获取密钥步骤:
    • 登录后选择「添加网站」→ 选择「导入来自Google」
    • 进入「设置」→「API访问」→「生成密钥」
  3. 密钥特点:
    • 支持IndexNow协议(推荐启用)
    • 单个密钥支持多个域名
    • 有效期:永久
1
2
# 测试API可用性
curl -X POST "https://api.indexnow.org/indexnow?key=你的密钥&url=你的URL"

3.3 Google Search Console

使用的 Google Indexing API 不是站长平台提供的,而是隶属 google developers 谷歌开发平台。过程中,您可参考官方文档进行配置。文档中写的非常详细
20250303172040

  1. 为客户端创建一个项目
    开始使用 Indexing API 之前,您需要先使用设置工具在 Google API 控制台中创建项目、启用 Indexing API 以及创建凭据。
  2. 服务账号创建:
    20250303172149
    在谷歌云平台创建服务账号,并分配「Indexing API」权限
  3. 将账号添加为网站所有者:
    20250303172232

过程中会下载一个json密钥文件,将获取到的 json 密匙文件放于 hexo 根目录(与hexo _config.yml文件位置相同)

四、配置hexo

4.1 安装插件

请在 hexo 根目录运行:

1
npm install --save hexo-submit-urls-to-search-engine

插件也支持yarn安装:

1
yarn add hexo-submit-urls-to-search-engine

4.2 编辑hexo的_config.yml

配置 hexo-submit-urls-to-search-engine 插件,将下方粘贴至 hexo 的_config.yml。

您可以利用环境变量设置记录密匙,这样即使源码放在公开仓库,也不会泄露秘钥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
hexo_submit_urls_to_search_engine:
# 提交策略配置
submit_condition: count
count: 20 # 每次提交最新20条链接
period: 600 # 10分钟内的更新

# 平台开关(推荐配置) 0为关闭,1为开启
google: 1 # 启用Google提交
bing: 1 # 启用Bing提交
baidu: 1 # 默认关闭百度提交

# 路径配置
txt_path: ./auto_submit_urls.txt ## 文本文档名, 需要推送的链接会保存在此文本文档里
replace: 1 # 启用URL替换
find_what: http://
replace_with: https:// # 强制HTTPS

# 百度配置(需要时开启)
baidu_host: https://yourdomain.com
baidu_token: ${BAIDU_TOKEN} # 推荐使用环境变量

# 必应配置(推荐启用IndexNow)
bing_host: https://yourdomain.com
bing_token: ${BING_TOKEN}
bing_enable_indexnow: true # 是否用 indexNow 提交链接给必应: true (Yes) | false (No). 只有 2.1.1 及之后的版本才可以开启这个功能。

# Google配置(需服务账号密钥)
google_host: https://yourdomain.com
google_key_file: ./google-service-account.json 存放google key的json文件,放于网站根目录(与hexo _config.yml文件位置相同),请不要把json文件内容直接发布在公众仓库里!
google_proxy: 0 # 向谷歌提交网址所使用的系统 http 代理,代理配置示例:http://127.0.0.1:8080 ,填 0 不使用

4.3 配置deploy

如果您之前没有添加过 deploy: 配置项,直接将下方粘贴至 hexo 的 _config.yml ,覆盖默认的 deploy: 配置项。

1
2
3
4
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

完成这一步之后,运行 hexo deploy 命令时就可以自动推送链接至搜索引擎了。

您必须运行 hexo deploy 或 hexo d 命令以触发推送,无论您之前是否使用这条命令进行部署。
当然此前您需要运行 hexo generate 生成最新的 .txt 文件来存储要推送的链接。

如果可以推送成功,可以去原作者的 Github 仓库 Star 支持一下。