字节笔记本

2026年2月22日

pageview-worker:基于 Cloudflare Workers 的轻量级页面统计服务

pageview-worker 是一个基于 Cloudflare Workers 和 KV 的轻量级页面浏览量统计后端服务。它无需服务器维护,利用 Cloudflare 的边缘计算能力,为静态网站或个人博客提供简单高效的访问量统计功能。

项目简介

pageview-worker 由 jiacai2050 开发维护,是一个开源的页面浏览量统计解决方案。该项目充分利用 Cloudflare Workers 的无服务器架构和 KV 存储,实现了零成本、高性能的访问量统计功能。截至目前,该项目在 GitHub 上已获得 43 stars,主要使用 JavaScript 编写。

核心特性

  • 无服务器架构:基于 Cloudflare Workers,无需维护服务器
  • 边缘计算:利用 Cloudflare 全球边缘节点,响应速度快
  • KV 存储:使用 Cloudflare KV 持久化存储访问数据
  • 轻量级:核心代码仅一个 worker.js 文件,部署简单
  • 详细统计:记录 URL、标题、来源、User-Agent、IP、国家、城市等信息
  • 实时演示:提供在线演示页面,可实时查看效果

技术栈

  • Cloudflare Workers - 无服务器边缘计算平台
  • Cloudflare KV - 分布式键值存储
  • JavaScript - 主要编程语言(占比 96.3%)
  • Makefile - 构建脚本(占比 3.7%)

安装指南

前置要求

  • Cloudflare 账号
  • Wrangler CLI 工具(可选,用于本地开发)

部署步骤

  1. 克隆仓库
bash
git clone https://github.com/jiacai2050/pageview-worker.git
cd pageview-worker
  1. 创建 Cloudflare Worker

参考 Cloudflare Workers 快速入门指南 创建 Worker,并部署 worker.js 文件。

  1. 配置 KV 绑定

在 Cloudflare Dashboard 中,为 Worker 添加 KV 命名空间绑定:

  • 绑定名称必须是 KV(项目硬编码)
  • 参考 官方文档 了解如何绑定 KV
  1. 添加追踪代码

在需要统计的 HTML 页面中添加以下 JavaScript 代码:

javascript
const apiEndpoint = 'https://your-worker.your-subdomain.workers.dev/write';
const payload = {
  'url': document.location.href,
  'title': document.title,
  'referrer': window.frames.top.document.referrer,
};

fetch(`${apiEndpoint}?${new URLSearchParams(payload)}`, {mode: 'no-cors'})
  .catch(console.log);

记得将 apiEndpoint 替换为你的 Worker 地址。

快速开始

查看统计数据

项目提供了 demo/index.html 作为数据查看面板:

  1. 复制 demo/index.html 到你的网站
  2. 修改文件中的 apiEndpoint 为你的 Worker 地址
  3. 访问页面即可查看所有收集的浏览数据

在线演示

⚠️ 注意:演示页面会收集你的 IP/国家/城市信息,请谨慎访问。

数据收集说明

当访问包含追踪代码的页面时,以下信息会被保存到 KV:

字段说明
URL访问页面的完整地址
Title页面标题
Referrer来源页面
User-Agent浏览器标识
IP访问者 IP 地址
Country国家(由 Cloudflare 自动识别)
City城市(由 Cloudflare 自动识别)

项目结构

text
pageview-worker/
├── .github/workflows/    # GitHub Actions 工作流
├── demo/                 # 演示文件
│   ├── index.html        # 数据查看面板
│   ├── tracking.js       # 追踪代码
│   ├── demo1.html        # 演示页面 1
│   └── demo2.html        # 演示页面 2
├── worker.js             # 核心 Worker 代码
├── wrangler.toml         # Wrangler 配置文件
├── Makefile              # 构建脚本
├── LICENSE               # GPL-3.0 许可证
└── README.org            # 项目文档

类似项目推荐

如果你对其他 Cloudflare Workers 项目感兴趣,可以参考以下项目:

许可证

本项目采用 GPL-3.0 开源许可证。

项目链接

分享: