Hexo搭建个人博客--优化

博客的后期处理、提交 sitemap

Posted by Surflyan on 2017-01-28

相信你已经可以通过域名来访问到你的博客了,但还有一些事情是必须要做的,现在我们就来讲讲后续的处理吧。

1. 评论功能

一篇博文,分享思想。读者有发表想法的权利,所以我们必须提供评论功能。
由于我们搭建的是静态网站,网站本身并不能存放评论,必须使用第三方提供的服务。国内一般使用较多的就是 多说了。

首先注册一个多说账号,之后官网会给出详细的引导,你可以获取到通用代码,你可以将这段通用代码插入 page.ejs 中, 也可以新建存放其他集成功能的代码文件。
在通用代码中,有这样的代码:

var duoshuoQuery = {short_name:"surflyan"};

这样不利于程序的可复用性,可以改为:

 <% if(config['duoshuo_username'])
 { %>
  <!-- 多说评论框 start -->
     <div class="comment">
       <div class="ds-thread"
          data-thread-key="<%= page.path %>"
          data-title="<%= page.title %>"
          data-url="<%= page.permalink %>" >
       </div>
     </div>

<!-- 多说评论框 end -->
<!-- 多说公共JS代码 start (一个网页只需插入一次) -->
 <script type="text/javascript">
                        // dynamic User by Hux
     var _user = '<%= config['duoshuo_username'] %>';

     // duoshuo comment query.
     var duoshuoQuery = {short_name: _user };

     (function() {
       var ds = document.createElement('script');
       ds.type = 'text/javascript';ds.async = true;
       ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';
       ds.charset = 'UTF-8';
         (document.getElementsByTagName('head')[0]
                   || document.getElementsByTagName('body')[0]).appendChild(ds);
                    })();
</script>

 <% } %>
<!-- 多说公共JS代码 end -->

然后在配置文件中,加入:

duoshuo_username:          //你的多说short_name

这样多说评论就添加完成了。

2. 主题优化

关于主题优化,我不想讲太多,有的博客教程很轻松的讲了在主题配置文件中添加就好,修改标签什么的,然而,这一切取决于你的主题支持与否,比如,博主的博客主题配置文件里什么都没有,并没有在里面留有什么接口的。 至于其他的样式什么要修改,你需要有一些前端的知识。在主题的 layout 文件里找到相应的代码文件,在对应部分,可做修改。

3. SEO优化

现在使用搜索引擎来直接搜索你的网站,不能搜到吧。 为什么?因为 google、百度还没有收录你的网站,如果不被收录,那你的博客就只能是写给自己的。连搜索引擎都不知道我们博客的诞生,还有谁能知道它的存在呢?

3.1 sitemap

站点地图是一种文件, 包含了网站上的网页信息,google 等搜索引擎网页抓取工具会读取此文件,以便抓取我们的网站。

3.1.1生成 sitemap

首先安装针对 google 和百度的插件,使用 Node.js command 打开,选择博客目录下执行:

npm install hexo-generater-sitemap --save
npm install hexo-generater-baidu-sitemap --save

在站点 _config.yml 添加如下代码:

# 自动生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

执行:

hexo clean
hexo g

在你的博客目录下 public 下面生成了sitemap.xmlbaidusitemap.xml文件,打开可以发现就,里面包含我们网站的网页信息。

3.1.2 提交sitemap

现在我们就可以把 sitemap.xml 提交给 google了,使用 google 账号登陆 Search Console官方给出了详细引导,添加了站点验证通过后。就可以手动将站点地图提交了。
按照谷歌的效率,第二天,应该就可以搜索到你的网站了。

至于百度收录,我现在也没有方便的解决的办法。 即使你提交了 baidusitemap 给百度站长或者在网页内嵌了js代码,百度也抓取不到你的网页,因为 Github 屏蔽了 BaiduSpider. 我也很无语啊。
不少人的做法是在 Coding pages 在生成一份 ,然后国内访问 coding pages ,将这个生成的 baidusitemap 提交给百度站长,这样做还能弥补国内访问 github 较慢的缺陷。选择使用 Gitcafe 也是一种方法。

这里有关于此问题的知乎讨论.

3.2 添加蜘蛛协议

robots.txt 是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被搜索引擎访问的部分,或者指定搜索引擎只收录指定的内容。当一个搜索引擎访问一个站点时,它会首先检查该站点根目录下是否存在 robots.txt,如果存在,搜索爬虫就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索爬虫就沿着链接抓取。

将robots.txt 放在你的 \source 目录下,这里有 robots.txt的说明;

4. 站点分析

应用站点分析工具,我们就能知道有多少人访问了我们的博客,哪些内容受欢迎。我推荐 google Analytics,官网给出了详细引导教程,建议将 js代码插入到footerd.ejs 中。

5. 结语

Github Pages 提供了 1 GB 的空间,每月 100 GB 的流量,所以并没有选择使用图床。

hexo 告一段落,希望你有一个轻松、快乐的博客生活。

请多多指教!