Hexo百度主动提交链接

96
一月筠
0.1 2017.04.05 19:24* 字数 534

首先可以你需要了解下百度站长平台页面抓取栏的推送说明

上个效果图:

效果图

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

自动推送

一般在目录blog\themes\hiker\layout\_partial\head.ejs中加入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>

主动推送

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

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

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

安装hexo-baidu-url-submit插件

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

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

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

配置_config.yml文件

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

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

检查url

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

# URL
url: http://guoyanjun.top
root: /
permalink: :year/:month/:day/:title/

最后,加入新的deployer:

deploy:
- type: git
  repo:
    coding: https://用户名:密码@git.coding.net/TinyJay/blog.git,master
- type: baidu_url_submitter

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

实现原理

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

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

Web Develop