Hexo百度主动提交链接

  • 文/一月筠 -- 转载请注明 --
  • 某些主机,比如Github,禁止百度爬虫访问博客,导致博客无法被百度收录。多亏百度提供了主动提交的接口,这才有了个补救的方法。除此之外…

先学习百度站长平台页面抓取栏的推送说明

以下两种方式都可以推送,可以使用其中一种,也可以两种都使用

自动推送

一般在目录blog\themes\hiker\layout\_partial\head.ejs中加入JS,这样全站都有了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>

主动推送

感谢作者:https://github.com/huiwang/hexo-baidu-url-submit

作用:某些主机,比如Github,禁止百度爬虫访问博客,导致博客无法被百度收录。多亏百度提供了主动提交的接口,这才有了个补救的方法。除此之外, 使用主动推送还会达到如下功效:

  • 及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录
  • 保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现

效果图如下:

效果图

安装hexo-baidu-url-submit插件

首先,在Hexo根目录下,安装本插件:

1
npm install hexo-baidu-url-submit --save

请注意, 本插件的配置文件中包含秘钥, 请把您的Hexo博客源文件托管到私有仓库里。

配置_config.yml文件

同样在根目录下,把以下内容配置到_config.yml文件中:

1
2
3
4
5
baidu_url_submit:
count: 3 ## 比如3,代表提交最新的三个链接
host: yojoy.top ## 在百度站长平台中注册的域名
token: your_token ## 请注意这是您的秘钥, 请不要发布在公众仓库里!
path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里

检查url

其次,记得查看_config.yml文件中url的值, 必须包含是百度站长平台注册的域名(一般有www), 比如:

1
2
3
4
# URL
url: http://yojoy.top
root: /
permalink: :year/:month/:day/:title/

最后,加入新的deployer:

1
2
3
4
5
deploy:
- type: git
repo:
coding: https://用户名:密码@git.coding.net/Yajon/blog.git,master
- type: baidu_url_submitter

执行hexo deploy的时候,新的链接就会被推送了。

实现原理

推送功能的实现,分为两部分:

新链接的产生,hexo generate会产生一个文本文件,里面包含最新的链接
新链接的提交,hexo deploy会从上述文件中读取链接,提交至百度搜索引擎。
链接参考:
http://yojoy.top/