GitHub Pages 访客统计

GitHub Pages 访客统计

Statcounter(当前选择)

已在统一统计入口接入 Statcounter,并填入站长提供的项目参数。发布到 GitHub Pages 后生效,无需在每个页面重复添加安装代码。

  1. 在 https://statcounter.com/ 注册并添加你自己的 GitHub Pages 网站。
  2. 获取项目安装代码中的 sc_project 和 sc_security,填入 _config.yml 已有的配置:
analytics:
  provider: "statcounter"
  statcounter:
    project_id: ""    # 填 sc_project 的值
    security_code: "" # 填 sc_security 的值

这两个值属于公开的追踪配置,不是登录密码。不要提供账号密码或 API 密钥。

  1. 发布到自己的 GitHub Pages 仓库后,访问几个页面,在 Statcounter 的 Recent Activity / Visitor Paths 中查看访问记录。当前 origin 已指向站长确认拥有的 zou-yawen/zou-yawen.github.io 仓库。
  2. 浏览器 Network 应能看到 counter.js 和统计请求;广告拦截可能导致漏记。默认不显示计数器图标,本地 localhost 及非 production 构建不采集。

IP 是否完整显示取决于项目的 IP masking 设置。只能记录接入后的访问,页面访问和链接点击不能证明访客读完了内容。启用前应在网站隐私说明中注明实际使用的统计服务。

安装代码参考:https://statcounter.com/support/faq/304-how-can-i-make-statcounter-compliant-with-the-w3c-validator/

Matomo(备用方案)

网站仍由 GitHub Pages 托管。GitHub Pages 本身不提供站长可查询的访客 IP 日志;由浏览器将访问记录发送到外部 Matomo 服务,在该服务的登录后台查看。

配置

  1. 注册 Matomo Cloud(https://matomo.org/matomo-cloud/),添加你自己的 GitHub Pages 网站地址。先确认其收费与试用条款。
  2. 从后台的 JavaScript 跟踪代码获取 Matomo HTTPS 基础地址和 Website ID。
  3. 修改 _config.yml 中已有的 analytics 配置(不要重复添加):
analytics:
  provider: "matomo"
  matomo:
    url: "https://YOUR-SITE.matomo.cloud/"
    site_id: "1"
  google:
    tracking_id:

以上是示例,必须使用你自己的地址和站点 ID。这两个值是公开配置,不要把后台密码、API token 或其他密钥放进仓库。

  1. 将代码推送到你自己的 GitHub Pages 仓库并发布。
  2. 打开已发布的网站,访问几个页面、点击 PDF 或外部链接,然后登录 Matomo 的 Visitors → Visits Log 查看结果。

能看到什么

  • 页面标题、路径、访问顺序、来源,以及浏览器和设备信息。
  • 下载链接和外部链接点击。点击 PDF 不等于确认访客读完了 PDF。
  • 心跳辅助计算的停留时间(近似值,不是实际阅读时间)。
  • IP 的显示取决于后台的 IP 匿名化设置。启用掩码时只保存匿名化后的地址;不能恢复历史完整 IP。IP 不能可靠识别某个具体的人。

验证与限制

只有 production 构建且地址、ID 都填写正确时才加载统计脚本;本机 localhost 预览不发送统计。GitHub Pages 的生产构建会使用 production 环境。

发布后在浏览器 Network 中检查外部 matomo.js 和 matomo.php 请求,再到后台核对记录。广告拦截、禁用 JavaScript 或网络错误都可能导致漏记。无法追溯接入前的访客。

统计后台保持登录访问。在启用前更新网站的隐私说明,写明实际收集的信息和服务商,并根据访客所在地要求设置相应的告知、同意或退出机制。

官方参考:

  • https://developer.matomo.org/guides/tracking-javascript-guide
  • https://matomo.org/faq/reports/the-visits-log-report/
  • https://matomo.org/faq/general/how-does-ip-address-anonymisation-work-in-matomo/