给定一个静态站点,您如何获得访问者的真实数量?
更新:如果您对此很认真,请使用Netlify Analytics。
这是一个静态站点。我使用Google Analytics(分析),我的受众是开发人员。
由于许多开发人员使用了广告拦截器,该拦截器可能(可能不取决于)阻止Google Analytics(分析)数据传输到服务器,因此可以完美地结合不正确的分析数据。一些开发人员甚至完全阻止了JavaScript,但是我认为这是一小部分人,因此问题较少。
我一直有这样的疑问:真正的访客人数是多少?我要看的访客比例是多少?
我的托管服务提供商未提供有关访问的任何信息。我只知道我消耗的带宽。
因此,我决定测试一个想法。
我在每个帖子中都包含一张图片,非常小。
这并不是什么新鲜事:电子邮件营销软件会自动使用此“技巧”来计算未结费用。
我使用了1px x 1px SVG图片和141个字节的数据,以将影响降至最低。
我在Glitch上制作了一个Node.js Web服务器:https://glitch.com/~static-site-visitors-counter。如果您将图像包含在网站中,则如下所示:
<img src="https://<name-of-the-project>.glitch.me/pixel.svg" />
驻留在该节点上的Node.js Web服务器<name-of-the-project>.glitch.me
URL将发送回图像。
但首先,它会增加一个值:
const express = require('express')
const app = express()
let counter = 0
app.use(
express.static(‘public’, {
setHeaders: (res, path, stat) => {
console.log(++counter)
},
})
)
const listener = app.listen(process.env.PORT, () => {
console.log('Your app is listening on port ’ + listener.address().port)
})
这个应用程序的重要部分是我们传递给的对象express.static()
。通常,我们不会将其他对象传递给此方法,但是在该方法中setHeaders()
提供了函数,因此我们可以为将要提供的文件设置一些其他标题。
我们添加我们的console.log()
在那里,出于我们的目的滥用此功能。
这非常简单,由于Glitch的工作原理,每次更新应用程序时,计数器都会重置。
当然,这不应该是您的分析工具。这是一种快速测试分析数据是否符合实际情况的方法。通常,几乎没有人会遮挡图像。
这可以用不同的方式完成,因为我使用的是SVG,所以我也可以使用适当的方式将字符串发送回客户端Content-Type
标头。我不知道那会不会更快,我还没有尝试过。
您也可以用相同的方式提供CSS文件。我刚巧选择一张图片。
我让它运行了3-4个小时,与Google Analytics(分析)日志相比,这些数据向我显示,访问我的网站的人中约有10%不会将数据发送到Google Analytics(分析)。
不是很多。我期望的更多,像是访客的2倍。或更多50%。但是仅增加10%。
实际上这对我来说是最好的,因为这意味着Google Analytics(分析)数据仍然非常有用。
这是完整的应用程序代码:https://glitch.com/edit/#!/static-site-visitors-counter
更多实验教程:
- 我用来运行此博客的堆栈
- 成为软件开发人员的8个充分理由
- 针对写博客的开发人员的SEO
- 回顾《 4小时工作周》
- 建立生活方式企业
- 建立自己的平台
- 作为独立制造商,您应该制造哪种产品?
- 创建自己的工作保障
- 开发人员,学习行销
- 产品业务的自由
- 产生价值
- 为您的业务着想
- 这个想法没什么
- 利基市场
- 面向软件开发人员的远程工作
- 产品/市场契合度
- 前端开发人员的最佳播客
- 为什么要创建电子邮件列表?
- 断开时间与金钱的联系
- 稀缺性原则适用于软件产品
- 社会证明原则
- 我如何将暗模式添加到我的网站
- 我在Deep Work上的笔记
- 使用无聊堆栈的优点
- 如何估算编程时间
- 成为独立开发者
- 如何学习如何学习
- 为什么针对编程工作的面试问题如此困难?
- 我需要学位才能成为程序员吗?
- 每个人都可以学习编程
- 如何提高生产力
- 如何获得静态网站的实际浏览量
- 您今天是否填补了开发人员的水桶?
- 我如何录制我的视频
- 我过去所做的所有软件项目
- 教程制作者角度的教程炼狱
- 每个开发人员都应该有一个博客。这就是为什么,以及如何坚持下去
- 具有开发人员的业务思维
- 如何编写不可维护的代码
- 什么是冒名顶替综合症
- 如何在家工作而不发疯
- 我如何不再担心并学会热爱JavaScript生态系统
- 我如何制作网页原型
- 您应该是团队中最糟糕的开发人员
- 如何使用Hugo建立博客
- 写你不知道的东西
- 如何使用uBlock Origin阻止干扰
- 编码是一门艺术
- 我连续两年每天写一篇博客文章。这是我从SEO中学到的5件事
- 扑灭大火
- 关于成为一名通才
- 开发者的困境
- My plan for being hired as a Go developer. In 2017
- 使用Mac和iOS设备提高工作效率
- 如何从教程转到自己的项目
- 这是我的小数码花园
- 如何以开发人员身份开始自由职业
- 分享建立软件产品业务的旅程
- 子文件夹与子域
- 我如何使用文本扩展来节省时间
- 软件是超能力
- 我喜欢书
- 我如何决定创建一个新的项目管理应用程序