花了两天时间搭建了个人博客,期间参考了很多网络上的教程,同时也踩下了很多印象深刻的坑。关于博客搭建网上已经有很多人分享了经验,这里就不在重复了,这篇文章中主要记录一下自己在博客搭建过程中,所参考的教程,以及所遇到的问题和解决方法。
博客搭建
环境配置
环境配置和软件安装主要参考《GitHub+Hexo 搭建个人网站详细教程》,包括GitHub创建个人仓库,Git、Node.js和Hexo的安装。所安装的软件版本如下:
1 | $ git --version |
根据该篇文章中的教程,进行博客的初始化,并将博客推送到GitHub仓库,之后便可以通过网址<账户名>.github.io访问个人博客。同时购买自己的个人域名,如果想同时将博客托管在Coding net上,此处可先不不要解析到自己的Github博客网址,下面会提到这个问题。
由于Github服务器在国外,访问速度有时候比较慢,导致博客打开较慢,同时Github封禁了百度爬虫,因此我们可以同时将自己的博客托管在Coding net上,通过域名分流解析,使得境内的访问解析到Coding net上。将Hexo博客部署到Coding net 参考教程《Hexo博客同时部署到GitHub和Coding》,该教程中注意,此处必须先将Hexo博客成功部署到Coding上,才能开启Coding 项目的Pages服务。
Next主题
博客部署完成之后,就需要选择一个美观一点的主题。一开始自己选用的是BlueLake主题,但是主题配置过程中,出现了一些问题,由于这个主题使用人比较少,很多问题网上也找不到解决办法,所以推荐新手还是选择Next主题,用的人比较多,网上各种插件、教程也比较多。之后可以再选择其他好看的Hexo主题。
Next主题的配置主要参考教程《绝配:hexo+next主题及我走过的坑》。
注意:
(1)由于6.0版后的Next主题更新已经转移到其他仓库,该教程中的Next主题安装命令应由
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
修改为
$ git clone https://github.com/theme-next/hexo-theme-next themes/next
(2)该教程中有教如何安装douban插件的,若安装了该插件必须注意不能够使用hexo d
简写命令部署网站,必须使用全称hexo deploy
,此外,部署的过程中还会出现错误:
DeprecationWarning: fs.SyncWriteStream is deprecated.
这是由于node和hexo插件的版本带来的问题:在node8.x的版本中,fs.SyncWriteStream被弃用了。在网上 搜这个问题,有很多文章提到更新hexo-fs插件即可,但不知道为什么,更新之后还是存在这个问题。最后通过grep命令可以查询到fs.SyncWriteStream在*\node_modules\hexo-admin\node_modules\hexo-fs\lib\ fs.js文件的第718行,注释掉改行就可以了。
(3)其实next主题有很多介绍在主题config.yml文件中都有介绍,仔细看其中的介绍和所给出的链接网址,就可以知道其中各个插件有什么作用,并不需要一味的到网上找教程,因为next主题会不断更新,因此有些教程中有些细节和自己所下载的有些细小区别。
域名解析
上述已经搭建好博客,接下来就可以将自己购买的域名绑定自己的博客地址了。同样可以使用第一个和第二个教程中介绍的方法进行解析设置。为了使博客能够快速打开,应将境内的访问解析到Coding net上,而将境外的访问解析到GitHub上。注意,此处应先将自己购买的域名绑定Coding net, 然后再绑定Github, 如果先绑定了Github,则在绑定Coding pages域名时,会出现域名未连通的提示。Coding pages给出的解释如下:
其他问题,可见Coding Pages 常见问题。
SEO优化
部署完博客和绑定域名后,为了能够通过百度和谷歌搜索自己的博客,还需要为博客添加sitemape并进行SEO优化。添加百度sitemap方法可参考《Hexo 博客添加百度sitemap》, 添加谷歌sitemap以及SEO优化方法可见《Hexo博客Next主题SEO优化方法》
注意:
(1)当百度站长添加管理的网站为Github网址,使用HTML标签验证时,使用HTML标签验证验证失败,原因:未知原因:301
。不知道是不是因为Github封禁了百度爬虫的原因,此处可以改为自己绑定的所购买的域名。采用HTML标签验证,如果没成功的话(我就没成功),可以再采用CNAME验证的方法。
(2)对于SEO优化中所提到的Baidu主动提交链接方法, 注意修改博客配置config.yml文件中的url为自己所购买的域名。此外,deploy有多个type时,如下:
1 | deploy: |
type前面的横杠 - 不能少,否则会出现错误:
FATAL duplicated mapping key at line **, column **: type: baidu_url_submitter
总结
以上就是自己搭建博客过程,和所参考的文章。next主题自带有很多功能,可以在主题配置config.yml文件中进行探索。