先学习百度站长平台页面抓取栏的推送说明
以下两种方式都可以推送,可以使用其中一种,也可以两种都使用
1.自动推送
如果是netxt主题,next主题配置文件中的baidu_push设置为true,就可以了。
如果不是netx主题,想办法塞进以下的全站点js代码:
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
一般在以下参考目录中加入JS,这样全站都有了
blog\themes\hiker\layout\_partial\head.ejs
注意是参考路径,每个皮肤的文件名都不同,但都以head开头
2. 主动推送
感谢作者:https://github.com/huiwang/hexo-baidu-url-submit
2.1首先,在Hexo根目录下,安装本插件:
npm install hexo-baidu-url-submit --save
2.2然后,同样在根目录下,把以下内容配置到_config.yml文件中:
baidu_url_submit:
count: 3 ## 比如3,代表提交最新的三个链接
host: www.hui-wang.info ## 在百度站长平台中注册的域名
token: your_token ## 请注意这是您的秘钥, 请不要发布在公众仓库里!
path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里
2.3 其次,记得查看_config.ym文件中url的值, 必须包含是百度站长平台注册的域名(一般有www), 比如:
# URL
url: http://www.hui-wang.info
root: /
permalink: :year/:month/:day/:title/
最后,加入新的deployer:
deploy:
- type: git
repo:
coding: https://用户名:密码@git.coding.net/bellonor/bellonor.git,master
- type: baidu_url_submitter
执行hexo deploy的时候,新的连接就会被推送了。
实现原理
推送功能的实现,分为两部分:
- 新链接的产生, hexo generate 会产生一个文本文件,里面包含最新的链接
- 新链接的提交, hexo deploy 会从上述文件中读取链接,提交至百度搜索引擎
链接参考: