序
hexo使用hexo-submit-urls-to-search-engine
插件后,可主动推送Hexo博客新链接至谷歌、必应、百度搜索引擎站长平台以提升网站收录质量和速度。本插件允许你向各大搜索引擎发送纯天然、植物饲养的索引编制请求,一劳永逸。
比如,现在我的一篇文章有时刚发布 5 分钟,即可在必应搜索到(这是最佳情况,不保证长期稳定)。看吧,这就是 hexo-submit-urls-to-search-engine
的威力。百度与谷歌略慢一筹。
这三大搜索引擎已占据 97% 的全球搜索引擎市场份额(包括元搜索引擎 多吉、Duckduckgo 等;使用 Bing 索引的雅虎、 Ecosia 等)。后期可能会加入向 Yandex(官方现仅开通重点页面提交)、360(目前官方没开通)提交链接的功能。另外我已向 360 、Yandex 提交了关于增加 API 提交接口
的建议。它们的反馈:
360,2020.7.3:感谢您的支持,我们记录下您的建议,转给给相关工作人员查看评估下
Yandex,2020.8.15:Thank you for contacting and sharing your thoughts with us. I’ve added your suggestion to the list of ideas considered by our developers.
Github地址
目录:
操作步骤
快速入门:
获取各站长平台密钥
安装并配置
hexo-submit-urls-to-search-engine
插件hexo clean && hexo g && hexo d
,并查询推送结果如果推送成功,前往 Github 地址点击 Star 按钮以支持
还可以点此去打赏
获取站长平台密钥
本节所“记下”的密匙均填写至 hexo 的 _config.yml
,格式在后文给出。
关于验证网站:有的 Hexo 主题支持添加站长平台 html 验证标签,填写有关设置后hexo g && hexo d
即可验证。通用详细操作步骤请自行 谷歌 / 百度 :hexo 站长平台 验证
百度
注册、登陆百度搜索资源平台( https://ziyuan.baidu.com/ )
用户中心,站点管理,添加网站
搜索服务,普通收录,API提交,记下下方接口调用地址的【百度站长平台中注册的域名,密匙】:
http://data.zz.baidu.com/urls?site=https://cjh0613.github.io&token=密匙
,这里即【 https://cjh0613.github.io ,密匙】
另外,github.io
2020.9月前就被特殊照顾了,建议自行购买顶级域名使用。
必应
必应站长平台有新旧之分。
注册、登陆必应新站长平台( https://www.bing.com/webmasters )
添加网站
进入网站管理页面,设置,API 访问,API 密钥 ,记下 API 密匙
(近期必应站长平台升级,服务器、版面不稳定,如果无法显示 token ,可以过段时间再试)
这是从必应旧站长平台获取的示意图:
谷歌
谷歌站长平台也有新旧之分,但两站关系没有必应处理得好。另外,我们使用的 Google Indexing API 不是站长平台提供的,而是隶属 google developers 谷歌开发平台。过程中,您可参考官方文档(中国内地可访问)进行配置。
使用步骤:
打开官方文档,按提示创建项目、创建服务帐号。只需要按提示在网站进行配置操作即可,不需要完成获取访问令牌等后续操作
您仅按谷歌官方文档在 Google 新的搜索控制台 中添加权限邮箱还是会提示无权限。请转到 旧的网站站长工具 ,点击您的网站,把邮箱地址添加到其中
将获取到的 json 密匙文件放于 hexo 根目录(与hexo _config.yml文件位置相同)
谷歌旧的网站站长工具:
另外,其官方文档中有如下提示,请根据实际情况决定是否启用向谷歌提交链接的功能:
目前,Indexing API 只能用于抓取包含
JobPosting
或BroadcastEvent
(嵌套于VideoObject
)的网页。对于包含很多短效网页(如招聘信息或直播视频)的网站,Indexing API 会通过为不同的内容分别推送更新,使搜索结果中的内容保持最新状态。
配置hexo
安装本插件
请在 hexo 根目录运行:
当然,在大中华地区使用
cnpm
下载速度更快
1
npm install --save hexo-submit-urls-to-search-engine
本插件也支持yarn
安装:
1
yarn add hexo-submit-urls-to-search-engine
编辑hexo的_config.yml
hexo-submit-urls-to-search-engine
配置 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
18hexo_submit_urls_to_search_engine:
submit_condition: count #链接被提交的条件,可选值:count | period 现仅支持count
count: 10 # 提交最新的10个链接
period: 900 # 提交修改时间在 900 秒内的链接
google: 0 # 是否向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://cjh0613.github.io ## 在百度站长平台中注册的域名
baidu_token: 请按照文档说明获取 ## 请注意这是您的秘钥, 所以请不要把它直接发布在公众仓库里!
bing_host: https://cjh0613.github.io ## 在bing站长平台中注册的域名
bing_token: 请按照文档说明获取 ## 请注意这是您的秘钥, 所以请不要把它直接发布在公众仓库里!
google_host: https://cjh0613.github.io ## 在google站长平台中注册的域名
google_key_file: Project.json #存放google key的json文件,放于网站根目录(与hexo _config.yml文件位置相同),请不要把json文件内容直接发布在公众仓库里!
google_proxy: http://127.0.0.1:8080 # 向谷歌提交网址所使用的系统 http 代理,填 0 不使用
replace: 0 # 是否替换链接中的部分字符串,可选值:1 | 0(0:否;1:是)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
2020.7.12 更新本节注释,感谢 liuyib 提供建议
2021.5.12 添加 google_proxy
完成上述配置后,你在 Hexo 根目录下运行 hexo generate
指令时,会生成一个 .txt
文件来存储要推送的链接。
您可以打开此文件查看链接是否正确,如不正确,请访问 hexo 的 _config.yml
进行配置。您也可以手动修改此 .txt
文件后再推送链接。
deploy
如果您之前没有添加过 deploy:
配置项,直接将下方粘贴至 hexo 的 _config.yml
,覆盖默认的 deploy:
配置项。
1
2
3
4deploy:
- 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 支持一下,谢谢!
如果已设置过 deploy:
配置项,直接粘贴上述代码块会提示 配置冲突,直接在已有 deploy:
配置项下添加即可。如:
1
2
3
4
5
6
7
8
9
10deploy:
- type: git
repo:
coding: git@xxx
branch: master
#添加本插件的配置项:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
注意:上面每个 type:
前都有 -
持续集成支持
本节为 hexo 存放于公开仓库,且使用 CI (持续集成,如 Github action, travis, coding-ci, netlify 等)编译发布的部署方式提供参考。
百度、必应可利用环境变量记录密匙,谷歌有其他解决办法,参见下文
请先在
hexo_submit_urls_to_search_engine:
的配置项baidu_token:
与bing_token:
处填写0
设置环境变量
BAIDU_TOKEN
,BING_TOKEN
,值为已获取的token
如果您使用 Github Action ,还需在
yml
文件中设置环境变量,下方有例子hexo clean && hexo generate && hexo deploy
享受生活
参考:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18hexo_submit_urls_to_search_engine:
submit_condition: count #链接被提交的条件,可选值:count | period 现仅支持count
count: 10 # 提交最新的10个链接
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://en.cjh0613.com ## 在百度站长平台中注册的域名
baidu_token: 0 ## 请注意这是您的秘钥, 所以请不要把它直接发布在公众仓库里!
bing_host: https://en.cjh0613.com ## 在bing站长平台中注册的域名
bing_token: 0 ## 请注意这是您的秘钥, 所以请不要把它直接发布在公众仓库里!
google_host: https://en.cjh0613.com ## 在google站长平台中注册的域名
google_key_file: Project.json #存放google key的json文件,放于网站根目录(与hexo _config.yml文件位置相同),请不要把json文件内容直接发布在公众仓库里!
google_proxy: 0 # 向谷歌提交网址所使用的系统 http 代理,填 0 不使用
replace: 0 # 是否替换链接中的部分字符串,可选值:1 | 0(0:否;1:是)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action ,还需在 yml
文件中设置环境变量:
1
2
3
4
5
6
7
8
9- name: xxxx #随便填
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # 注意这里,其他的都是浮云
BING_TOKEN: ${{ secrets.BING_TOKEN }} # 注意这里,其他的都是浮云
run: |
npm i -g hexo-cli # 安装hexo
npm i
……
hexo deploy
至于用境外 CI 推送链接至谷歌,json
密钥文件里信息那么多,复制粘贴设置环境变量……咳咳。我将json
密钥文件放入一个私有仓库, 再 clone ,复制到根目录下解决。
1
2
3
4hexo generate
git clone https://cjh0613:${Token}@github.com/cjh0613/存放密钥文件的私有仓库.git tem
cp ./tem/Project.json Project.json
hexo deploy
完美!
插件升级
插件升级提醒
您安装本插件后,请从 Github watch 本项目,以获得插件升级提示(选择 Releases only 仅获取升级提示,选择 Watching 还会推送 Issues ,Pull requests 等,通过电子邮件发送)
升级操作
请在 hexo 根目录运行:
当然,在大中华地区使用
cnpm
下载速度更快
1
npm install --save hexo-submit-urls-to-search-engine@版本
我之前给出的是另一个命令:npm update --save hexo-submit-urls-to-search-engine
,但我实测时出现了问题。
yarn
升级:
1
yarn add hexo-submit-urls-to-search-engine@版本
不兼容升级
1.x.x升级至2.x.x:
您需要给hexo_submit_urls_to_search_engine:
配置项添加以下三个配置项:
1
2
3replace: 0 # 是否替换链接中的部分字符串,可选值:1 | 0(0:否;1:是)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
好吧,我发现这次升级是向下兼容的,即使没有这三个配置项也不会报错……
返回信息
成功推送信息
必应
1
Bing response: { d: null }
百度
1
Baidu response: {"remain":2999,"success":1}
谷歌
1
2
3
4
5
6
7
8Google response: { urlNotificationMetadata:
{ url:
'https://cjh0613.github.io',
latestUpdate:
{ url:
'https://cjh0613.github.io',
type: 'URL_UPDATED',
notifyTime: '2020-06-12T05:37:25.701779228Z' } } }
其他
其他返回可参考它们的官方文档,但一般翻译一下返回就知道原因了。
有时是因为搜索引擎每天只允许提交一定数量的链接。可登陆它们的官网查询。我站点域名cjh0613.github.io
换为 cjh0613.com 后,必应配额 10 条,连续推送 10 天后,配额突然从 10 变为 10000。
若部分链接推送失败请人工处理:根据反馈来修改保存提交链接的 txt (一般把成功推送的链接去掉),然后只运行 hexo deploy
重新推送,不必重新生成网站。
如果想每天向搜索引擎推送链接,每天运行hexo d
即可,也可以设置 Github Action 每天运行hexo g && hexo d
,不必重造轮子。
查询结果
查询索引
以查询本站索引为例,打开任一搜索引擎,输入 site:域名
,这里即:
1
site:cjh0613.github.io
搜索即可。
新站索引量 0→1 需要的时间可能很长,也许一个月……请耐心等待
实际收录速度还与其他因素有关,网上 SEO 资料很多,但都是以官方说明为中心的,可参考 [转]搜索引擎优化[SEO]新手官方指南,我也写了一篇 Hexo搜索引擎优化[SEO]
查询推送记录
必应
可登陆必应新站长平台查到详细的推送链接列表(实时更新):
1
https://www.bing.com/webmasters/submiturl?siteUrl=你的网站链接
也可以从必应旧站长平台进入
百度
登陆百度搜索资源平台( https://ziyuan.baidu.com/ ),搜索服务,普通收录,数据反馈,仅可在给出的图中查看到过去一段时间中,每天的推送数量,且延期更新。由于百度与此相关的具体期限不确定,您实际最快在第t+1
天、最慢在第t+3
天才可以看到第t
天的推送链接数。
谷歌
仅可在下方地址“错误”表格中查到一段时间内(最多近30天)累计推送链接数量及失败推送所占百分比(实时更新),虽然给了每天提交数据图,但相当于没给……
1
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=
我开发的参考资料
推送至百度的代码参考自插件:hexo-baidu-url-submit。如果您之前使用该插件,现在可以停用它了。它另外提供向熊掌推送的功能,但百度熊掌已经关闭。百度将熊掌推送升级为“快速收录”,如您有需求,且您网页满足要求,可以使用此功能,请至issues/8投票,我视人数决定;或提交 Pull Request。
本站还有许多与此相关的文章,比如使用 python 从 sitemap 获取链接推送,您可至归档页点击查看,也可使用右上角搜索查找您感兴趣的内容。
下方整理不全……有些没来得及记录,还参考了我之前写的文章及它们的参考资料。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/10302.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~