如何对Hexo博客进行优化

本文主要讲解如何对Hexo驱动下的博客网站进行优化,主要从网站加载速度、网站稳定性、网站扩散方法进行探讨。

提升网站加载速度

由于大部分人基于GitHub进行建立博客,而GitHub的服务器不在国内,别墙的厉害,所以博客的加载速度会显得异常缓慢,如果你的Blog主页内有大量高清图片时,那速度…,等它加载完,我们火锅都吃完了。这里提供两种方案,仅供参考。

转移博客至Gitee

Gitee服务器在国内,加载速度较GitHub快的不是一点半点,建议进行博客的转移,一劳永逸,Gitee搭建的博客较GitHub搭建的,当然也有不足之处,Gitee所提供的Gitee Pages服务不支持自动部署。这是什么概念呢?就是说之前用GitHub搭建博客,我们对博客进行修改后 hexo d 就完事了,Github会帮我们自动更新,但Gitee的免费用户不支持此项功能,需我们对其修改后进行手动更新。image-20200828061556416具体要不要进行转移看个人取舍了

优化博客

对于不想进行转移的,剩下的方法我们只有对博客进行优化了,我采取了对代码进行压缩的方式进行

代码压缩策略

可以使用gulp进行,本文以 hexo-all-minifier进行讲解,这个插件集成了对html,css,js,image的优化,合并重复代码,去除多余空格,用算法压缩图片。压缩后的博客,在加载速度上会有较大的提升。

插件安装

1
npm install hexo-all-minifier --save

在站点的配置文件_config.yml将下面代码加入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#文件压缩
html_minifier:
enable: true
ignore_error: false
exclude:

css_minifier:
enable: true
exclude:
- '*.min.css'

js_minifier:
enable: true
mangle: true
output:
compress:
exclude:
- '*.min.js'

image_minifier:
enable: true
interlaced: false
multipass: false
optimizationLevel: 2
pngquant: false
progressive: false

扩展性优化

文章链接唯一化

什么是文章链接唯一化呢?默认情况下,Hexo生成的超链接都是绝对链接。更改文章标题,变更文章所属分类,发布时间等都可能导致文章链接改变,不利于搜索引擎收录,也不利于分享。唯一的永久链接显然是更好的选择。

安装

1
npm install hexo-abbrlink --save

在站点配置文件中,找到permalink进行修改

1
2
3
4
permalink: articles/:abbrlink/ # 此处可以自己设置,也可以直接使用 :/abbrlink
abbrlink:
alg: crc32 #算法: crc16(default) and crc32
rep: hex #进制: dec(default) and hex

Hexo博客提交到百度

生成站点地图

站点地图即sitemap, 是一个页面,上面放置了网站上需要搜索引擎抓取的所有页面的链接。站点地图可以告诉搜索引擎网站上有哪些可供抓取的网页,以便搜索引擎可以更加智能地抓取网站。

安装插件

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

修改配置文件_config.yml,追加以下代码

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

生产与部署

1
2
hexo g
hexo d

此时,进入public目录,你会发现里面有sitemap.xmlbaidusitemap.xml两个文件,这就是生成的站点地图。里面包含了网站上所有页面的链接,搜索引擎通过这两个文件来抓取网站页面。

百度站长平台提交

注册并并登录 百度站长平台添加站点image-20200829011649980站点验证image-20200828071208317

我们选择文件验证,下载验证文件到本地,放置在themes/next/source目录下。执行生成和部署命令

1
2
hexo g
hexo d

提交即可

链接提交

为了使网站更容易被搜索引擎收录,获得更高SEO,需要提供百度搜索引擎的自动推送服务。

插件安装

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

修改站点配置文件config.yml,添加以下内容

1
2
3
4
5
baidu_url_submit:
count: 5 ## 提交最新的五个链接
host: www.hui-wang.info ## 百度站长平台中注册的域名
token: your_token ## 准入秘钥
path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里

修改配置文件的url

1
2
3
4
# URL
url: #填写你的网站url
root: /
permalink: :year/:month/:day/:title.xml

加入新的deploy

1
2
3
4
5
deploy:
- type: git ## 这是我原来的deployer
repo:
branch:
- type: baidu_url_submitter ## 添加这里内容即可
自动推送

安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。修改主题目录下的layout/post.swig文件,末尾添加自动推送代码,代码如下

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提交

在界面

输入image-20200828072539693

1
2
# 你的网站url/baidusitemap.xml
https://siwuxei.gitee.io/baidusitemap.xml #这是我的

Google站长平台提交

登录Google网站站长,进入Search Console,点击添加属性进行站点添加

验证站点

方法与百度类似

image-20200828073131083

安装百度相同的方法验证后,会出现

image-20200828073220488

点击左侧站点地图,输入站点地图网址,确认提交。

image-20200828073258341

验证站点是否进行了收录

点击左侧网址检查,输入网站域名下的任意网址,查看显示结果

image-20200828073443009

在Google中输入site:<域名>查看搜索结果。

参考资料

Hexo基础教程(四):功能添加与优化

Hexo博客提交百度和Google收录

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2020 WuXei Si
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信