域名流量统计工具, 它就是网站运营和搜索引擎优化工作的一个基础组成部分。它的核心功能是什么? 就是把访问量、页面浏览量、流量的来源还有用户的这个行为数据给采集来。采集完了之后还要进行解析, 然后把这些展示出来, 展示的这些数据来源是指定的域名下。
现在市面上主流的方案大概可以分成五大类。那大家在选型的时候, 应该根据自己对数据精度的这个需求, 再加上自己的技术能力以及预算情况, 来进行一个综合的判断才比较合适。
一、我们对市场上主流的五类域名流量统计工具进行了对比分析, 以呈现它们各自的实际情况。
1. 日志解析类
用户可以直接去读取服务器的访问日志, 这里头包括了Nginx和Apache的access log, 以此来进行流量的统计工作。市面上常见的代表工具主要是Awstats、GoAccess以及Webalyst。
这种方法的优点在于数据是完整的, 它不需要依赖前端的脚本代码, 甚至连那些被广告拦截器给屏蔽掉的请求也能统计在内, 然而它的缺点也很明显。因为这个方法的部署门槛相对是比较高的, 必须要有运维人员来配合进行相关工作, 所以它在实时性方面的表现就是一般般的水平。
2. 前端埋点类
通过在页面里注入JavaScript代码来采集用户的行为, 这里可以代表的工具包括Google Analytics、百度统计和CNZZ等。这种方式的部署非常简单, 而且分析的角度非常多, 比如可以看到用户的浏览路径、在页面上停留了多久以及使用的是什么设备的分布情况。
它的可视化程度也很高。但是它的缺点也比较明显, 因为它依赖于JavaScript脚本的执行, 所以对于那种完全是服务端渲染的场景, 就没办法很好地覆盖到。另外, 还有一部分用户因为在隐私设置里拒绝了追踪, 所以也会导致数据收集不完整。
3. 对服务器进行统计的时候, 需要达到服务器的级别。
从服务器这一个层面来看, 大家可以去把 Nginx 里的 mod_status 和 Envoy Proxy 指标导出这两种方案用起来, 这样就能完成对流量计数的操作。这样做带来的性能损耗是极其低微的, 因此它特别适合用到高并发的那个场景里。
可是呢, 这种做法只能给大家获取到请求这一级别的数据内容。这意味着它没有办法去分析用户到底是怎么进行的这些行为表现。所以, 在性质上说, 它更偏向于为运维监控服务, 而绝非是为了帮助运营去提供分析结果。
4. 第三方SaaS平台
使用API的方式来接入域名流量数据, 并提供托管式的分析服务, 其中具有代表性的平台包含了SimilarWeb以及Semrush里面的流量模块还有5118等这些平台。
用户不需要自己去进行部署操作, 就可以获取到关于行业的横向对比信息来获取相关参考;不过因为其中的数据是基于采样进行估算之后得到的结果, 所以对于中小规模站点的分析精度会存在有一定的局限性, 并且部分功能是需要按照实际使用量来计算费用并进行收取的。
5. 自定义可视化
这套体系是基于使用Prometheus加Grafana还有ClickHouse这些技术来自建监控分析系统的。先是将域名的访问日志进行结构化处理然后入库。
接着再根据这些数据生成自定义的报表。这样的做法灵活程度非常高。特别适合那些对数据粒度和隐私合规有着很严格要求的机构。不过, 开发与维护的成本是非常高的。
二、选型核心判断标准
在数据精度这个方面, 它是用于SEO归因和转化分析的场景, 此时要优先选择前端埋点类的方式;另外, 当它是用于安全审计与异常检测的情形时, 则需要优先选日志解析类的办法。
在技术能力方面,如果是一个没有运维团队的小规模团队, 那么应当选择SaaS平台;如果有技术团队, 并且每日页面访问量超过50万, 则建议大家建立自己的日志解析管道。
针对涉及个人信息保护的场景, 例如GDPR相关场景, 在合规方面提出了要求, 这种情况下需要去选择那些工具, 所选的这些工具得支持数据匿名化操作, 还支持可配置保留周期。
关于成本预算这个问题, 开源的方案像Awstats和GoAccess这些, 它们是完全不需要支付授权费用的。但是商业SaaS产品不一样, 它是按照域名数量和事件量来计费的, 所以这里必须得预估一下每个月的平均流量情况。
三、实操注意事项
把那个用来做统计的脚本文件, 放到页面的最开头部分, 也就是写在head这个标签里面去, 这样的话, 能够保证在页面被渲染显示之前的时候就已经加载好了, 就可以避免因为发生页面的跳转而导致那边的访问数据被丢失掉这种事儿出现。
如果遇到有多个域名或者子域名的情况, 大家一定要去确认一下所使用的工具是不是支持那个跨域的追踪配置功能, 如果不这样做的话, 各个子域名里面的数据就会变得互不相连, 出现分割的情况。
要按时间间隔来反复核对统计数据还有服务器日志里头的差别, 一旦这个差额超过了百分之五这样的标准, 就得去仔细检查 CDN 缓存这块有没有问题, 看看是不是有爬虫程序在进行干扰, 或者是因为脚本加载失败才导致的这种情况。
当需要去联系那个我们自己有的BI系统的时候, 大家应该先把目光放到那些能把原始数据导出去的工具上, 或者去看一看那些提供开放的接口工具。
域名流量统计工具并不是说哪一套方案就能包打天下, 目前的这种做法是主流, 就是把日志解析用在安全基线上面, 同时搭配前端埋点来做运营分析。在去挑选工具和部署的时候, 大家可以去看看gz88.cn发布的域名管理技术文档, 从那里拿到关于各个工具在域名解析环节、CDN配置环节对接时的说明以及最佳实践。


