主动推送我们的博客到搜索引擎

各大搜索引擎都提供了让用户主动推送url地址到搜索引擎的功能,但是这个功能需要我们手动去收集我们的url,然后再通过编程的方式去实现推送功能,比较麻烦。

因为使用的是hexo架构,其有一些插件已经实现了类似的功能,我们选择了其中的hexo-submit-urls-to-search-engine来实现这个功能。

原因有二:

  1. 这个插件还在更新,说明还在维护
  2. 支持目前主流的百度、谷歌、必应搜索引擎,且一键推送。

下面让我们开始吧!

前期准备

要将我们的博客的url推送的搜索引擎,我们就先需要在搜索引擎那里注册账号,然后获取对应的密钥才行。

百度(baidu)

进入百度资源站点管理页面,添加网站。
添加自己的网站
地址写自己的网站地址即可。

三步配置好后,点击提交,我们的站点就已经注册到百度了。 理论上这个时候,百度的爬虫就会主动的爬取我们的网站了。

但是呢?因为我的博客是托管在github上的,因为众所周知的原因,百度是爬不了github上的网站的。所以,对于百度的搜索引擎,我们现在只能通过主动推送的方式,将我们的新文章推送给百度 。

资源提交->api提交目录下,我们就可以拿到我们要推送的接口地址和推送密钥(token)了,这个token要记住,后面插件中会用到。
百度api提交token

百度的配置就这些,是不是很简单。

必应(bing)

进入bing的站点管理工具webmasters, 如果没注册过,
可以参考我的文章将我们的博客录入bing搜索引擎实现准备工作。

bing站点注册好后,打开右上角的配置按钮,即可看到api访问凭证管理入口:
api访问凭证管理入口

然后,在API密钥这里生成密钥,记住这个密钥,后面插件中会用到。
生成密钥

谷歌(google)

谷歌的配置就比较麻烦了。

首先,同百度一样,我们要在google-search-console里注册我们的网站。
添加域名站点

然后,在站点添加成功后,打开谷歌Index api文档按照要求,配置一些内容。
配置IndexApi仅需3步

创建项目

在设置工具里先创建项目。创建项目即可,启用api,后面说的凭证什么的不用管。
启用api

当然,错过了也不用担心,我们依然可以在谷歌云控制台首页进行补救。
谷歌云首页的api入口
进入后,开启web search index api即可。

创建服务账号

创建服务账号,只需要填写第一步即可,后面的可选步骤都可以跳过。
创建服务账号
创建好服务账号后,你会得到一个邮箱地址,类似xxxx@xxxx.iam.gserviceaccount.com ,这个邮箱要记住,后面会用到。

然后,在服务账号页面去创建密钥,选择JSON格式,下载到自己的电脑上,后面会用到。
服务账号创建步骤

关联网站

google-search-console里(此时应该已经注册好)。

点击左边栏的设置,进入用户和权限配置部分:
配置用户
点击添加用户,将我们在服务账号那里获得的邮箱地址填入,选择拥有者即可。
添加用户

注意,一定要选择拥有者

到这里,我们在谷歌的配置也完成了。

安装插件

安装

打开项目,在控制台执行如下命令

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

_config.yml中添加如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 主动提交文章到搜索引擎
hexo_submit_urls_to_search_engine:
submit_condition: count #链接被提交的条件,可选值:count | period 现仅支持count
count: 10 # 提交最新的2个链接
period: 900 # 提交修改时间在 900 秒内的链接
google: 1 # 是否向Google提交,可选值:1 | 0(0:否;1:是)
bing: 1 # 是否向bing提交,可选值:1 | 0(0:否;1:是)
baidu: 1 # 是否向baidu提交,可选值:1 | 0(0:否;1:是)
txt_path: submit_urls.txt
baidu_host: https://www.hancher.top
baidu_token: # 前面得到的百度api的密钥
bing_host: https://www.hancher.top
bing_enable_indexnow: true # 是否用 indexNow 提交链接给必应: true (Yes) | false (No). 只有 2.1.1 及之后的版本才可以开启这个功能。
bing_token: # 前面得到的必应api的密钥
google_host: https://www.hancher.top
google_key_file: xxx.json #存放google key的json文件,放于网站根目录(与hexo _config.yml文件位置相同),请不要把json文件内容直接发布在公众仓库里!
google_proxy: 0 # 在github 上,不用代理。
replace: 0
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter

把google下载的json文件放在网站根目录,通_config.yml平级。

运行

配置插件完成后,在控制台执行如下命令:

1
2
3
hexo clean & hexo generate
# 或者
npm run clean & npm run build

如果在生成的网站里,有submit_urls.txt文件,则说明配置成功。

github action配置

在代码的.github/workflows/hexo.yml里增加如下配置:

1
2
3
4
5
6
7
jobs:
build:
steps:
- name: 构建博客内容
run: npm run clean && npm run build
- name: 提交url到搜索引擎
run: npm run deploy

然后我们提交代码的时候就会发现差距可以正常运行了。
插件运行效果
三大引擎提交的返回值:

  • 百度:

超过每日限额(10条)

1
Baidu response:  {"error":400,"message":"over quota"}

现在百度的每日限额就剩10条了,请节约使用。

成功:

1
Baidu response:  {"remain":0,"success":10}
  • 必应:

超过每日限额(10条)

1
2
3
4
Bing response:  {
ErrorCode: 2,
Message: 'ERROR!!! You have exceeded your daily url submission quota : 10'
}

密钥没有配置对:

1
Bing response:  { ErrorCode: 3, Message: 'ERROR!!! InvalidApiKey' }

成功:

1
Bing response:  { d: null }
  • 谷歌:
    网站关联账号不是拥有者权限
1
2
3
4
5
6
7
Google response:  {
error: {
code: 403,
message: 'Permission denied. Failed to verify the URL ownership.',
status: 'PERMISSION_DENIED'
}
}

index api 没有开启:

1
2
3
4
5
6
7
8
Google response:  {
error: {
code: 403,
message: 'Web Search Indexing API has not been used in project xxx before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/indexing.googleapis.com/overview?project=xxxx then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.',
status: 'PERMISSION_DENIED',
details: [ [Object], [Object], [Object] ]
}
}

点击返回的链接,去开启api权限即可。

成功:

1
2
3
4
5
Google response:  {
urlNotificationMetadata: {
url: 'https://www.hancher.top/2025/02/11/exception-doris-stream-load-from-clickhouse-by-data-crash/'
}
}

如此,我们的主动提交url到搜索引擎的配置就完成了。

参考


主动推送我们的博客到搜索引擎
https://www.hancher.top/2025/02/18/site-hexo-site-url-auto-submit/
作者
寒澈
发布于
2025年2月18日
许可协议