hexo页脚添加访客人数和总访问量

昨天刚刚为博客添加了页脚显示访客人数和总访问量的功能,今天整理一下为hexo博客添加页脚访客人数和总访问量的两种方法,本人使用的是不蒜子来进行统计的。

首先还是得先说一下基本配置:hexo搭建博客,使用NexT主题,利用不蒜子来进行统计,然后进入正题

基本介绍

“不蒜子”与百度统计谷歌分析等有区别:“不蒜子”可直接将访问次数显示在您在网页上(也可不显示);对于已经上线一段时间的网站,“不蒜子”允许您初始化首次数据。

不蒜子就是那么一款记录访客和访问量的插件,接下来就介绍两种使用不蒜子计数的方法。

一、脚本方法使用不蒜子计数

1.安装脚本(必选)

要使用不蒜子必须在页面中引入busuanzi.js,代码如下:

1
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>

本人使用的是next主题,所以在themes/next/layout/_partial/footer.swig中添加上述脚本,也可以把脚本添加在header中,如果使用的是其他主题,大致也是一样的,不过可能后缀是ejs,没有影响。

2.安装标签(可选)

要显示站点总访问量,复制以下代码添加到你需要显示的位置。有两种算法可选:

算法a:pv的方式,单个用户连续点击n篇文章,记录n次访问量。

1
2
3
<span id="busuanzi_container_site_pv">
本站总访问量<span id="busuanzi_value_site_pv"></span>
</span>

算法b:uv的方式,单个用户连续点击n篇文章,只记录1次访客数。

1
2
3
<span id="busuanzi_container_site_uv">
本站访客数<span id="busuanzi_value_site_uv"></span>人次
</span>

3.安装教程

一般显示站点访问量在页脚,所以我们选择在footer.swig中添加标签,同时我们还可以通过修改主题配置来方便选择是否显示访问量,步骤如下:首先,我们在next主题下的_config.yml中加入以下配置:

1
2
# visitors count
counter: true

之后可以更改counter的值为false来隐藏页脚的访问量统计,然后,我们在themes/next/layout/_partial/footer.swig中添加以下代码:

1
2
3
4
5
6
{% if theme.footer.counter %}
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<span id="busuanzi_container_site_pv">本站总访问量<span id="busuanzi_value_site_pv"></span>次</span>
<span class="post-meta-divider">|</span>
<span id="busuanzi_container_site_uv">本站访客数<span id="busuanzi_value_site_uv"></span>人</span>
{% endif %}

这样便可以在底部显示访问量了,并且可以通过更改主题配置中的参数来选择是否显示访问量,只要引入busuanzi.js之后,即使不显示访问量也会统计

二、配置方式使用不蒜子计数

第一种引入脚本的方法适用于任何类型的个人站点,如果你使用的主题是NexT,那么你可以很方便的进行不蒜子的访客统计设置,仅仅只需要一步:

打开主题的配置文件/theme/next/_config.yml,找到如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Show PV/UV of the website/page with busuanzi.
# Get more information on http://ibruce.info/2015/04/04/busuanzi/
busuanzi_count:
# count values only if the other configs are false
enable: false
# custom uv span for the whole site
site_uv: true
site_uv_header: <i class="fa fa-user"></i>
site_uv_footer:
# custom pv span for the whole site
site_pv: true
site_pv_header: <i class="fa fa-eye"></i>
site_pv_footer:
# custom pv span for one page only
page_pv: true
page_pv_header: <i class="fa fa-file-o"></i>
page_pv_footer:

enable的值由false改为true,便可以看到页脚出现访问量,上述配置表示:

  • site_uv表示是否显示整个网站的UV数
  • site_pv表示是否显示整个网站的PV数
  • page_pv表示是否显示每个页面的PV数
    当然,对于不蒜子的配置可以随意更改,一下附上本人的配置:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # Show PV/UV of the website/page with busuanzi.
    # Get more information on http://ibruce.info/2015/04/04/busuanzi/
    busuanzi_count:
    # count values only if the other configs are false
    enable: true
    # custom uv span for the whole site
    site_uv: true
    site_uv_header: 访客数
    site_uv_footer:
    # custom pv span for the whole site
    site_pv: true
    site_pv_header: 总访问量
    site_pv_footer:
    # custom pv span for one page only
    page_pv: true
    page_pv_header: <i class="fa fa-file-o"></i> 阅读数
    page_pv_footer:

注意事项

  • 两种方法选择一种使用即可,都使用可能会出现无法显示的问题
  • 使用hexo s部署在本地预览效果的时候,uv数和pv数会过大,这是由于不蒜子用户使用一个存储空间,所以使用localhost:4000进行本地预览的时候会导致数字异常,这是正常现象,只需要将博客部署至云端即可恢复正常。
  • 网站运行一段时间后想要初始化访问次数,官方回答是可以注册登录自行修改阅读次数,但是我登录官网依旧显示无法注册