426 字
2 分钟
解决fuwari博客使用umami统计访问量时重复统计问题

在写博客添加访问量统计那篇文章时,就发现了进入文章后访问量会计算双数,进一次统计增加两次,当时一直不知道原因就将就用了。

后面看到https://2x.nz/posts/swup-js/这篇文章时才把这个问题解决。

具体原因是在 Fuwari 博客主题中使用 Umami 统计访问量时出现重复计算,根本原因在于 单页应用(SPA)路由切换机制与 Umami 统计脚本的交互冲突 。

Fuwari 使用了 swup 来实现页面间的平滑过渡效果。swup 是一个前端路由库,它通过 AJAX 加载新页面内容并替换 DOM,而不是传统的整页刷新。

然而,Umami 的统计脚本默认设计是针对传统多页应用的——每次页面加载时执行一次。当 swup 接管导航后,页面并不会真正刷新,但 Umami 脚本却可能被多次触发:

  • 首次进入页面:Umami 脚本正常加载并发送统计请求
  • 使用 swup 跳转到其他页面:DOM 被替换,但 Umami 脚本可能重新执行
  • 返回原页面:再次触发统计,导致同一访问被重复计算

Umami 脚本在每次执行时会创建新的跟踪实例,而 swup 的页面切换机制没有配合清理旧的实例或阻止重复初始化。这就导致了重复计数,也就是我们本次要解决的问题

其实说这么多只是想在水一篇文章而已

解决办法就是在原来的最终代码中添加data-auto-track=“false”属性 参考https://github.com/afoim/fuwari/issues/79

<script defer src="https://cloud.umami.is/script.js" data-website-id="***"></script>
<script defer src="https://cloud.umami.is/script.js" data-website-id="***" data-swup-ignore-script></script>
解决fuwari博客使用umami统计访问量时重复统计问题
https://flygeon.top/posts/7/
作者
Flygeon
发布于
2026-06-07
许可协议
CC BY-NC-SA 4.0