发布于 

百度收录推送

  本文将介绍如何将自己的博客文章主动推送到百度收录

通过 hexo 框架搭建的个人站,可以被 Google 主动爬取,像我这样的新站,在建站几天之后就被收录了。但是百度站一般不会主动去爬取这类站点,需要站长主动推送站点文章,当然推送了也不一定收录,无奈。

百度收录目前可以通过三个方式:API 提交sitemap手动提交,本文主要是介绍通过插件实现前两种方式的自动提交。

API 提交

这里主要使用的是 hexo-baidu-url-submit 插件,它可以在每次使用 hexo shexo d 命令时主动将 _post 内的文章推送到百度

具体配置步骤如下:

  1. 安装插件
  2. 配置站点根目录 _config.yml

安装插件

配置站点根目录 _config.yml

  1. 在站点点根目录 _config.yml 的最下方加入如下内容:
1
2
3
4
5
baidu_url_submit:
count: 100 # 提交最新的一个链接
host: www.hermitlsr.top # 在百度站长平台中注册的域名
token: xxxxx # 请注意这是您的秘钥, 所以请不要把博客源代码发布在公众仓库里!
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里

注意 token 部分可在百度收录站普通收录 API提交 部分找到,具体如下图:

token 位置

  1. 修改 _config.ymlurl,这个一般在建站的时候都有修改,这里注意和百度添加的域名保持一致就可以了。

  2. 修改 _config.ymldeploy 部分:

1
2
deploy:
- type: baidu_url_submitter

当执行 hexo shexo d 时,出现如下内容即为配置成功:

1
2
INFO  Generating Baidu urls for last 100 posts
INFO Posts urls generated in baidu_urls.txt

通过添加代码实现自动推送

这种推送方式在之前的百度推送站中被称为自动推送,其通过在网页的 <head></head> 标签之间添加安装自动推送JS代码,实现当页面被访问时,页面URL将立即被推送到百度收录。这个方法在现在的百度收录站中已经找不到了,但代码还是被留存了下来,可以考虑使用。

在主题文件夹中找到 head.ejs 文件,定位到 <head> ,在其下方添加如下代码即可:

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>

sitemap

在百度收录站中使用 sitemap,只需要在相应位置填写数据文件地址即可:

百度收录站填写数据文件地址

这里介绍一个生成网址地图的插件:hexo-generator-seo-friendly-sitemap,之前我有用另一个插件 hexo-generator-sitemap,基本配置都差不多,但还是觉得前者要好一些。

通过

下载好插件之后,只需在站点根目录 _config.yml添加如下内容:

1
2
3
4
5
6
sitemap:
path: sitemap.xml
tag: true
category: true
page_priority: 0.4
post_priority: 0.6

这里可以根据自己的需要选择是否生成 tagcategory 的网址地图。
当执行 hexo shexo d 后,public 将出现如下内容:

1
2
3
4
5
sitemap.xml
post-sitemap.xml
page-sitemap.xml
category-sitemap.xml
tag-sitemap.xml

可以通过自己的域名+文件名的方式访问到这些网址地图 (如:https://www.hermitlsr.top/sitemap.xml)。上面提到的填写数据文件地址就是指这个地址。

通过这个方式的缺点就是一开始推送的时候要很久才生效,我是等了三天之后状态才从等待中转为已生效,建议多种方式共同使用。