计算读者但不跟踪他们

2026年9月7日 analyticsprivacysvelte

我想知道是否有人真的读这个博客。不是谁他们是,只是文章我花晚上的人得到看,哪些页面人降落在,以及他们停留或反弹。正常答案是粘进一个脚本从某些分析公司并让他们算出来,但这个项目的全部要点是没什么离开我的服务器。所以我自己构建了它。

规则我在写任何代码之前设置:没有第三方,在访客说是之前没什么被收集,没什么被存储那可以识别一个人。什么被存储是一个随机访客id(一个UUID浏览器让它自己的,没什么来源于你),你访问的路径跟查询字符串被剥离,并且引荐者只有如果你来自另一个网站。没有IP地址在分析表中,没有用户代理,没有指纹。

同意是一个有真实选择的小横幅,而且选择被记住。说不(或说没什么)而且分析代码简单地从未开始。说是而且浏览器创造它自己的id并开始报告页面浏览。也有一个在页脚中的转换为改变你的主意稍晚,什么删除cookie。

The analytics tab in admin, pageviews and visitors over the last days

部分我最喜欢的是「页面时间」怎么工作。而不是追踪当你留开(哪个浏览器制造不可靠无论如何),页面发送一个微小的心跳每15秒,但只当标签真的是可见的:

function startHeartbeat() {
    stopHeartbeat();
    heartbeatTimer = setInterval(() => {
        if (document.visibilityState === 'visible') sendEvent('heartbeat');
    }, HEARTBEAT_INTERVAL_MS);
}

所以一个帖子在后台标签中留开全天计数为没什么,而且四个心跳意味着有人真的看了页面一分钟。阅读时间以一个不能说谎太多无论哪个方向的方式衡量。

收集器端点在博客服务上回答204不管什么。坏有效载荷,速率限制,数据库下来,它说204。没什么有用的攻击者可以学习从测试它。事件超过90天得到扫出自动地,因为那季节的分析是琐碎,不信息。

错误值得承认:同意横幅的第一个版本问了同意不联接到隐私政策,所以它问你同意某些东西它从未解释了。代码审查抓住了它。横幅现在连接到政策,而且政策有一个部分解释确实什么被收集(列表上面)以及什么不是。也有一个丢失在访客cookie上的安全旗那随同一样的修复出去。

admin面板有一个分析标签其中我最后可以看到数字:页面浏览,独特访客,顶页面,引荐者,以及人们多久停留。这转身了一些你实际上做读长的帖子。那是真的好学,而且我学了它不知道关于你一件单个事。

0 条评论

登录 后即可评论。

登录

忘记密码?

还没有账号?