php - 使用 PHP 跟踪 Web 流量
问题描述
有没有一种有效的方法来使用 PHP 跟踪网络流量(或至少是网络流量的来源)?
我正在考虑为每个搜索引擎和其他网站使用自定义规范链接,这意味着任何mywebsite.com
没有参数访问的人都可能是直接流量。但是后来我会以某种方式需要更改每个引擎爬虫href
的元素值link rel='canonical'
(例如https://mywebsite.com/?ref=google
,https://mywebsite.com/?ref=duckduckgo
等),而且我不确定如何去做(通过 robots.txt、meta
标签或?)。
如果没有必要,我真的不想使用 Google Analytics。可以这么说,我更愿意将我的所有分析都集中在一个屋檐下,但我一直在寻找如何实现这一点的想法,而且我对 SO 的大部分搜索似乎都与 GA 相关。
解决方案
我很好地阅读了所有关于在许多情况下标题可以并且由于各种原因(例如 AV 软件、浏览器扩展、从 http 切换到 https 等)而被省略的情况?经常这样吗?
是的,这可能发生。任何人都可以猜测您的特定网站访问者的频率。
GA 是否依赖引用标头?
不完全...由于 Google Analytics 在客户端运行,它从 获取该信息document.referrer
,其中包含与标头中发送的相同值Referer
。
但我当然希望有尽可能准确的数字
对于任何网络分析,有些事情是您根本无法衡量的。最好的方法是使用客户端分析脚本将数据发送到您的服务器。这比简单地查看您在 PHP 中的 HTTP 请求数据中获得的数据更好的原因有很多:
- 页面可以被缓存,因此当浏览器甚至从未与您的服务器签入以加载页面时,您将能够看到页面加载。
- 性能 API可用,允许您跟踪可以随着时间的推移改进的特定加载时间。
- 在大多数浏览器中,您可以使用Beacon API来了解用户何时离开页面,从而获得准确的页面停留时间测量值。
我想了解哪些流量是直接流量,哪些流量不是直接流量,以及非直接流量来自哪里
document.referrer
是你想要的,让你尽可能地接近准确。
推荐阅读
- python - 重塑数据框的结构
- html - 多行使用 Tailwind CSS 时带有复选框的居中标签
- java - 如何在 Vaadin 14 中清理/删除 AppLayout 中的内容?
- inno-setup - Inno Setup 语言文件 (isl) 中的完整预处理器支持
- python - 使用 BurpSuite 时 Python 请求 https:没有但代码 200 的代码 403
- javascript - 在 Angular 8 中,哪一种是 DOM 操作的最佳方式
- python - 来自 jupyter notebook 的漂亮打印 python 代码
- jquery - 如何将单击的元素定义为 $(this)?
- .net - 检查用户输入是否是 NeutralCultures 列表的一部分
- json - 如何从 LUIS V3 预测端点 json 反序列化 dateTimeV2 实体