Skip to content

宝塔网站统计使用教程

介绍宝塔网站统计 2.0 的安装与接入方法,以及回放、热力图、转化漏斗、数据大屏等功能的配置和常见问题。

更新于 查看 Markdown

宝塔网站统计

宝塔网站统计(bt-stats)是一款以宝塔面板插件形式运行的轻量级、自托管网站访问分析系统。本教程适用于 2.0 版本。

产品特点

  • 自托管:统计数据保存在自己的服务器中,不经过第三方平台。
  • 高性能:采用 Go 采集后端和 DuckDB 列存引擎,单机可承载日均百万 PV。
  • 低资源占用:无需安装 MySQL 或 PostgreSQL,嵌入式数据库开箱即用。
  • 准确可靠:通过 Cookie 标识访客,区分新访客与回访客。

竞品对比

对比指标 宝塔网站统计(bt-stats) 宝塔监控报表 百度统计 51LA V5 Umami
采集方式 前端 JS 采集 服务器日志解析 前端 JS 采集 前端 JS 采集 前端 JS 采集(无 Cookie)
数据准确度 高:JS + Cookie 完整日志解析,包含蜘蛛与爬虫 高:JS + Cookie 高:JS + Cookie JS + IP 分析,数据可能存在较大差异
部署模式 私有化部署 私有化部署 SaaS 云端 SaaS 云端 开源自托管或官方云
数据库依赖 DuckDB 嵌入式列式存储 SQLite 嵌入式数据库 云端 云端 PostgreSQL 或 MySQL
Web Vitals 性能指标 支持 不支持前端性能指标 支持 需使用额外产品 支持
会话回放 2.0 支持 不支持 不支持 付费版支持 支持
转化漏斗 支持 不支持 支持 支持 支持
热力图 支持 不支持 支持 支持 不支持
蜘蛛 / 爬虫统计 不采集 支持,可区分真假蜘蛛 不采集 不采集 不采集
UTM / 广告追踪 支持 不支持 支持百度推广 支持 支持
隐私合规 本地存储,使用 Cookie 标识访客 日志保留 IP 数据上传百度 数据上传 51LA 默认无 Cookie,适合 GDPR 场景
多站点管理 支持 支持 支持 支持 支持
价格 宝塔专业版、企业版包含,或单独购买插件 宝塔专业版、企业版包含,或单独购买插件 基础功能免费,高级能力收费 基础功能免费,高级功能付费 自托管免费,云版按量付费
适用场景 私有化部署、网站运营 私有化部署、网站运维 网站运营 网站运营 私有化部署、网站运营

功能矩阵

功能模块 说明
概览看板 查看 PV、UV、IP、跳出率、平均访问时长和活跃用户趋势
访问分析 查看入口页面和出口页面排名
来源分析 分析直接访问、搜索引擎、社交平台、外链、付费推广和 UTM 参数等来源
访客分析 按地域、浏览器、操作系统、设备、屏幕和语言分析访客分布
会话列表 分页查看 Session 和单个会话的完整行为日志
实时访客 查看在线访客及其实时访问轨迹
用户旅程 分析页面访问路径排名和页面跳转事件流
广告追踪 统计 UTM 五参数(source、medium、campaign、content、term)及广告平台 Click ID
页面性能 查看 LCP、INP、CLS、FCP、TTFB 等 Web Vitals 指标及趋势
会话回放 还原访客的鼠标移动、点击、滚动和页面跳转等操作
热力图 查看指定页面的点击热度分布,并按设备类型筛选
转化漏斗 自定义转化节点,查看各环节的访客数、转化率和流失率
IP 地理分布 查看访客 IP 的国家和省份分布
数据大屏 通过独立 URL 展示核心指标和 IP 地域分布,并支持用户权限划分

宝塔网站统计 2.0 概览看板

快速开始

环境要求

项目 要求
服务器 AMD 或 ARM 架构的 Linux 服务器
内存 最低 1 GB,推荐 2 GB 及以上
磁盘 基础占用约 200 MB;日均 1 万 PV 时,每月约增加 100 MB
面板 宝塔 Linux 面板
Web 服务 Nginx 或 Apache(Apache 仅支持手动配置)

安装插件

登录宝塔 Linux 面板,进入【软件商店】,搜索并安装【宝塔网站统计】。安装完成后,打开插件配置页面。

开启网站统计

在插件的【网站列表】中添加或找到需要统计的站点,然后选择自动或手动模式开启统计。

如果站点使用了 CDN,请选择对应的 CDN 厂商(Cloudflare、阿里云或腾讯云),以便获取真实访客 IP。已经在面板中开启全局 CDN 的站点可以忽略此项。

宝塔网站统计的网站列表

以 Cloudflare 为例,可以在【缓存】>【配置】中清除缓存。

Cloudflare 清除缓存页面

部署跟踪脚本

自动部署

插件会自动修改站点的 Nginx 配置并注入跟踪脚本,无需修改网站代码。部署后,访问者打开页面时会自动上报统计数据。

手动部署

自动部署失效、站点使用反向代理或 Web 服务为 Apache 时,请使用手动部署。

  1. 选择以下任一方式部署插件生成的统计代码:

    • 方式一(Nginx):在网站 Nginx 配置中使用 sub_filter,将统计代码插入 </head> 标签前。

      sub_filter '</head>' '【在此处粘贴插件生成的统计代码】</head>';
    • 方式二(推荐):将统计代码粘贴到网站所有页面的 </head> 标签前。建议放入 header.htm 等公共页头模板,实现一次部署、全站生效。

      如果需要在独立 JavaScript 文件中调用,请去掉统计代码首尾的 <script> 和 </script> 标签,只保留核心代码。使用 CDN 的站点还需要刷新 CDN 缓存。

  2. 如果网站使用反向代理,请在 proxy_pass 配置下添加:

    proxy_set_header Accept-Encoding "";
  3. 按照插件界面提示检测配置并开启统计。

手动开启网站统计

核心运行路径

路径 用途
/bt-stats.js 加载网站统计跟踪脚本
/bt-stats.gif 上报访客统计数据

验证部署

  1. 访问目标网站的任意页面。
  2. 打开浏览器开发者工具,进入【网络】面板。
  3. 搜索 bt-stats.gif 请求。状态码为 200,且返回 1 × 1 像素的透明 GIF,表示上报正常。
  4. 等待几秒后,返回插件概览页面,确认已经生成统计数据。

数据指标说明

核心访问指标

指标 计算方式 说明
PV 页面访问事件总数 网站页面的总访问次数
UV 独立访客数 访问网站的独立用户数量
IP 独立 IP 数 访问网站的独立 IP 地址数量
跳出率 单页会话数 / 总会话数 仅访问一个页面就离开的会话占比
平均停留时长 总停留时长 / 总会话数 单次访问的平均停留时长,最大统计上限为 60 分钟

数据统计分位

分位指标 说明 用途
P50 50% 的数据不高于该值,即中位数 观察网站的常态访问或性能水平
P75 75% 的数据不高于该值 分析多数流量中的较差体验
P95 95% 的数据不高于该值 排查长尾异常和慢请求

Web Vitals 性能评分

指标 说明 优秀 良好 一般 较差
LCP 最大内容绘制 ≤ 1.5 s ≤ 2.5 s ≤ 4 s > 4 s
INP 交互响应 ≤ 100 ms ≤ 200 ms ≤ 500 ms > 500 ms
CLS 布局偏移 ≤ 0.05 ≤ 0.1 ≤ 0.25 > 0.25
FCP 首次内容绘制 ≤ 1 s ≤ 1.8 s ≤ 3 s > 3 s
TTFB 首字节时间 ≤ 400 ms ≤ 800 ms ≤ 1.8 s > 1.8 s

2.0 功能配置

热力图

热力图展示访客在页面上的点击分布,可用于评估页面布局、按钮和广告位的效果。

  1. 进入插件的【热力图】页面,添加需要监控的页面地址并保存。
  2. 产生访问数据后,打开对应页面的热力图。
  3. 按需切换 PC、平板或移动端,查看不同视口下的点击热度。

页面点击热力图

热力图预览通过 iframe 加载目标页面。如果站点设置了 X-Frame-Options: SAMEORIGIN 或 CSP frame-ancestors 限制,需要移除限制或放行面板的域名或 IP。插件一键写入失败时,请在站点的 Nginx 或 Apache 配置中手动添加 CSP 放行规则,并将 frame-ancestors 的值替换为面板的真实域名或 IP。

热力图白名单配置

转化漏斗

漏斗可以自定义转化流程节点,统计每个环节的访客数量、转化率和流失率,帮助定位流失较多的步骤。

例如,可以配置“访问首页(index.html)→ 进入下载页(download.html)→ 完成登录(/login.html)”三步转化流程。产生数据后,漏斗图会分别展示进入人数、流失人数和每一步的转化率。

转化漏斗

会话回放

会话回放可以还原访客的鼠标移动、点击、滚动和页面跳转等操作,用于定位页面卡顿、按钮无响应、流程中断等体验问题。

站点开启统计后,进入【网站】>【网站设置】,开启回放并设置采样率和路径过滤规则。

设置项 说明
回放开关 开启或关闭该站点的回放采集
采样率 0~1 之间的小数,表示录制访客的比例;默认 0.1(10%),0.5 表示录制 50% 的访客
路径过滤 不录制的页面路径,支持 /login、/admin/* 等规则

回放功能使用以下请求:

请求 说明
/bt-replay.js 下发回放录制脚本
/bt-replay-config 下发回放配置;sample=1 表示开始录制,sample=0 表示未开始或未被采样
/bt-stats-replay 上报回放数据块;正常响应状态码为 204,返回 200 表示请求被拦截,数据不会入库

回放配置响应示例:

{
  "sample": 0,
  "blockUrls": null,
  "recordingId": "80c8e723-888b-4c56-b5e2-34fed4460430"
}

回放数据默认启用严格文本脱敏,输入框和敏感文本等内容不会被录制。

数据大屏

数据大屏将核心访问指标与 IP 地域分布集中展示,适合运营会议和监控室投屏。

在插件【大屏设置】中开启大屏,配置访问端口、安全路由或域名,然后添加大屏登录用户并为其授权站点。配置完成后,通过生成的独立 URL 访问大屏。

数据大屏设置

数据大屏预览

常见问题

为什么统计数据比实际访问量少?

可能原因如下:

  1. 跟踪脚本没有覆盖网站的所有页面。
  2. 浏览器插件或广告拦截工具拦截了统计脚本。
  3. 后端过滤了不合法或无效的上报数据。
  4. CDN IP 识别配置不正确,导致独立 IP 或访客统计出现偏差。

支持哪些浏览器?

支持 Chrome、Firefox、Safari 和 Edge 等现代浏览器。Web Vitals 性能指标仅在支持 PerformanceObserver API 的浏览器中采集。

数据能保存多久?

磁盘空间充足时,数据可以永久保存。日均 1 万 PV 的站点每月约增加 100 MB 数据,请预留足够的磁盘空间。

能否统计多个站点?

支持。可以添加多个站点并分别部署跟踪脚本,各站点的数据相互独立。

如何保护访客隐私?

  • 插件使用匿名 Cookie 标识访客,不收集或保存个人身份信息。
  • 统计数据仅保存在自己的服务器中,不会上传到第三方平台。
  • 会话回放默认启用严格文本脱敏,不录制输入框和敏感文本。
Navigation

Type to search…

↑↓ navigate↵ selectEsc close