码猿技术专栏

微信公众号:码猿技术专栏

Hexo博客如何被百度收录?

前言

大部分人写博客都希望让别人访问到,但是GitHubCoding都做了防爬虫的处理,因此我们托管在其上的博客就无法被搜索引擎收录,需要我们手动提交。

今天作者就来介绍下如何才能让度娘收录你的博客。作者的博客是HEXO+GitHub搭建的,主题是NEXT,虽说各种主题不一样,但是大致步骤相同,要学会举一反三。

当然觉得NEXT主题不错的朋友,可以切换主题,之前出过一篇NEXT主题优化的教程:女朋友看了我的博客,说太LOW了,于是我折腾了一天~

如何判断自己的博客被百度收录了?

判断自己的博客有没被百度收录很简单,搜索site:域名,比如site:www.baidu.com

如果搜索出结果,则表明被百度收录了,如下我的博客:

如何操作?

操作步骤还是挺复杂的,但是跟着一步一步总能成功,下面将会逐一介绍。

准备一个百度站长账号

已经有的不用申请了,没有的注册一个,注册地址:https://ziyuan.baidu.com

验证网站所有权

网站所有权通过验证之后,百度会认为你是网站所有者,那么你能做自动推送,手动提交等等功能。

没有验证过的可以自己认证下,网址:https://ziyuan.baidu.com/site/siteadd

打开之后输入你的博客首页地址,可以是Github Pages或者Coding的地址,然后点击下一步。

HTML验证

这里的验证其实有三种方式,这里作者说下HTML验证的方式。

这里的方法需要根据不同的主题进行配置,作者使用的是NEXT主题,其他主题可以自己摸索。

原理其实都是一样:都是将HTML验证标签加入到博客每个页面的head里面!注意是红框中完整的标签,而不是一部分!

第一步:在主题配置文件_config.yml中添加如下一行配置:

1
baidu_site_verification: true

第二步:修改themes/next/layout/_partials/head.swig,添加从百度获取的完整的HTML验证标签,注意名字的对应!

1
2
3
{% if theme.baidu_site_verification %}
<meta name="baidu-site-verification" content="你的token" />
{% endif %}

第三步:编译发布你的博客,在博客首页按F12,如果在head标签中看到了验证标签则成功了,如下:

第四步:点击验证按钮,如果没问题则已成功。

生成站点地图

通过构建网站地图能够让搜索引擎更好的抓取你的网站内容。

第一步:安装插件,在博客根目录,直接CMD运行以下命令安装:

1
2
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save

第二步:修改站点配置文件_config.yml中的URL为你的博客首页地址,这样是为了保证生成的sitemap.xml文件中地址正确。

第三步:在站点配置文件_config.yml中指定生成的sitemap的文件名和地址,在配置文件末尾添加如下配置:

1
2
3
4
5
# 自动生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

第四步:执行hexo g,正常情况下会在根目录下的public目录下多出两个文件,分别是sitemap.xmlbaidusitemap.xml

站点地图生成后,只需要等待百度自动抓取或者配置自动配送或者主动推送

等待百度自动抓取:百度收录都有一个周期,估计十几天会抓取一次。

主动推送:在百度站长内手动提交自己的sitemap.xml内容,如下位置:

自动推送:这个是今天的重点,下面介绍。

如何自动推送?

第一步:修改主题配置文件,将baidu_push修改为true,如下:

1
baidu_push: true

第二步:修改themes\next\layout\_scripts\baidu_push.swig(没有这个文件则创建),添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{% if theme.baidu_push %}
<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>
{% endif %}

以上配置完成后,每次访问博客首页会自动向百度提交,不用再手动提交了。

总结

百度收录操作虽然复杂,但是按照作者的步骤来搞还是非常简单的,对于有博客的朋友可以借鉴下。

另外作者为大家准备接近10M的面筋,涵盖后端的各个层面,老规矩,公众号内回复Java面试宝典即可获取。

欢迎关注我的其它发布渠道