一、前言

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 支持一下。