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

> Documentation Index
> Fetch the complete documentation index at: https://docs.bt.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 宝塔网站统计使用教程

## 宝塔网站统计

宝塔网站统计（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 场景 |
| 多站点管理 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 价格 | 宝塔专业版、企业版包含，或单独购买插件 | 宝塔专业版、企业版包含，或单独购买插件 | 基础功能免费，高级能力收费 | 基础功能免费，高级功能付费 | 自托管免费，云版按量付费 |
| 适用场景 | 私有化部署、网站运营 | 私有化部署、网站运维 | 网站运营 | 网站运营 | 私有化部署、网站运营 |

:::info[插件权益说明]
单独购买宝塔网站统计插件会附送宝塔监控报表。已购买宝塔监控报表的用户，将同步获得剩余有效期对应的宝塔网站统计使用权限。
:::

### 功能矩阵

| 功能模块 | 说明 |
| --- | --- |
| 概览看板 | 查看 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 概览看板](/img/user-guide/site/website-statistics/overview.png)

## 快速开始

### 环境要求

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

### 安装插件

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

### 开启网站统计

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

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

![宝塔网站统计的网站列表](/img/user-guide/site/website-statistics/website-list.png)

:::warning[使用 CDN 的站点]
开启统计后，请清除 CDN 缓存，或将以下路径加入 CDN 缓存白名单，避免统计及回放脚本无法下发：

```text
/bt-stats.js
/bt-stats.gif
/bt-replay.js
/bt-replay-config
/bt-stats-replay
```
:::

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

![Cloudflare 清除缓存页面](/img/user-guide/site/website-statistics/cloudflare-cache.png)

### 部署跟踪脚本

#### 自动部署

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

#### 手动部署

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

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

   - **方式一（Nginx）**：在网站 Nginx 配置中使用 `sub_filter`，将统计代码插入 `</head>` 标签前。

     ```nginx
     sub_filter '</head>' '【在此处粘贴插件生成的统计代码】</head>';
     ```

   - **方式二（推荐）**：将统计代码粘贴到网站所有页面的 `</head>` 标签前。建议放入 `header.htm` 等公共页头模板，实现一次部署、全站生效。

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

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

   ```nginx
   proxy_set_header Accept-Encoding "";
   ```

3. 按照插件界面提示检测配置并开启统计。

![手动开启网站统计](/img/user-guide/site/website-statistics/enable-statistics.png)

### 核心运行路径

| 路径 | 用途 |
| --- | --- |
| `/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、平板或移动端，查看不同视口下的点击热度。

![页面点击热力图](/img/user-guide/site/website-statistics/heatmap.png)

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

![热力图白名单配置](/img/user-guide/site/website-statistics/heatmap-allowlist.png)

### 转化漏斗

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

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

![转化漏斗](/img/user-guide/site/website-statistics/funnel.png)

### 会话回放

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

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

| 设置项 | 说明 |
| --- | --- |
| 回放开关 | 开启或关闭该站点的回放采集 |
| 采样率 | `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` 表示请求被拦截，数据不会入库 |

回放配置响应示例：

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

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

:::info[手动开启统计的站点]
自动开启统计的站点会自动注入回放配置。手动开启统计的站点在启用回放后，还需要更新所有页面 `</head>` 标签前的统计代码，加入回放脚本。
:::

### 数据大屏

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

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

![数据大屏设置](/img/user-guide/site/website-statistics/dashboard-settings.png)

![数据大屏预览](/img/user-guide/site/website-statistics/dashboard-preview.png)

## 常见问题

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

可能原因如下：

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

### 支持哪些浏览器？

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

### 数据能保存多久？

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

### 能否统计多个站点？

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

### 如何保护访客隐私？

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

Source: https://docs.bt.cn/user-guide/site/website-statistics/index.mdx
