之前给博客添加了在页脚显示访客人数和文章阅读量的功能,于是打算就此开一个系列,详细地记录我的博客的搭建过程,拟了这第一篇建站日记。因为一直没有时间把它补充完整,这篇草稿在文件夹里躺了好几周,越来越觉得碍眼(强迫症),终于逼着自己把它写完发出来。把之前做一半的事情重新拾掇起来并不是一件舒服的事,希望以后能一开始就坚持下来,加油!
访客和阅读统计
大部分静态博客的访客统计使用的都是不蒜子(busuanzi),一个轻量级的计数服务,可以将计数直接显示在博客的页脚。不蒜子的引入有两种方法,最好不要同时使用,避免出现冲突。
添加脚本法
这个方法对 Hexo
所有的主题都是通用的。首先在themes/next/_config.yml
中找到footer
(header
也可以,下同),添加counter
的配置:
1 | footer: |
之后对themes/next/layout/_partials/footer.swig
进行修改,加入不蒜子的脚本:
1 | {% if theme.footer.counter %} |
其中<script>
标签引入busuanzi.js
,是实现计数的必选步骤。网上有些较早的教程这里引入的
url 是dn-lbstatics.qbox.me
,但是该域名 18
年已经过期了,应确保更换为busuanzi.ibruce.info
。两个<span>
标签分别实现站点总访问量(site_pv)和总访客数(site_uv)的显示,可以根据需求进行选择,也可以自定义前后缀和
icon。
文章阅读数的统计只需要将以下代码复制到需要显示的位置,例如要显示在博文标题下的话,以
Next
主题为例,应该添加到themes/next/layout/_macro/page.swig
或者themes/next/layout/page.swig
中(这里的添加位置很多教程并没有写清楚,我找了一下应该是这两个文件,但我是通过第二种方法配置的):
1 | <span id="busuanzi_container_page_pv"> |
直接配置法
Next
主题已经集成了对不蒜子的支持,因此可以直接通过配置的方式使用。在themes/next/_config.yml
中找到如下:
1 | busuanzi_count: |
将enable
选项改为true
即可,同样也可以进行计数内容的定制。然而我配置之后发现并不能正常显示计数结果,研究后发现是
Next
内置的不蒜子还在使用旧域名。这里需要修改themes/next/layout/_third-party/analytics/busuanzi_counter.swig
,将<script>
标签的
url 改为新域名。
1 | {% if theme.busuanzi_count.enable %} |
这里我按照不蒜子官方的推荐,在原来id为busuanzi_value_site_pv
的<span>
标签外套了一层busuanzi_container_site_pv
标签,作用是当计数服务出错时自动隐藏计数标签,保持美观。
百度统计
百度统计是另一种访客统计方法。百度统计的结果需要登陆百度统计网站查看,不能直接显示在网站上,但能提供比不蒜子更详细的访客报告,包括访客来源、停留时间、停留页面等信息。
要使用百度统计服务,在官网注册之后,绑定需要统计的网站信息,在代码管理-代码获取中找到
js
的统计代码。其中hm.src = "https://hm.baidu.com/hm.js?xxxxxxxx"
一行最后的xxxxxxxx
即为统计的
id 。以我使用 Next
主题为例,只需要在themes/next/_config.yml
中找到baidu_analytics
,输入上述
id 即可,其他主题的配置可能会复杂一些。