网站流量统计插件 for emlog
一款轻量级、自托管的 emlog 网站访问统计插件。无需第三方服务,所有数据存储在你自己的数据库中,隐私安全、完全可控。

一、功能特点
· PV / UV 统计:自动记录每日页面浏览量(PV)和独立访客数(UV)
· 可视化趋势图:基于 ECharts 展示最近 7 天 / 30 天的访问趋势
· 简洁美观的后台:统计概览 + 趋势图,一目了然
· 数据自主可控:所有数据存储在你自己的服务器,不依赖任何第三方平台
· 即插即用:无需修改主题模板,激活即可使用
· 响应式设计:在电脑、平板、手机上都能良好显示
二、安装步骤
-
上传插件
将 statistics 文件夹上传至 emlog 的 content/plugins/ 目录下
最终路径为:content/plugins/statistics/ -
激活插件
登录 emlog 后台 → 插件管理 → 找到「网站流量统计」→ 点击「激活」 -
开始使用
激活后,后台左侧菜单栏会出现「访问统计」入口,点击即可查看统计数据
三、使用指南
【查看统计数据】
登录后台,在左侧菜单栏点击「访问统计」
页面顶部显示今日 / 昨日 / 总计 / 日均的 PV 和 UV 数据
下方展示访问趋势图,可切换「按周」或「按月」查看
【数据说明】
PV(Page View,页面浏览量)
页面被加载或刷新的总次数。同一个用户多次刷新,PV 会累加。
简单理解:反映网站「热不热闹」
UV(Unique Visitor,独立访客)
当天访问网站的不重复用户数。同一个用户多次访问,UV 只计 1 次。
简单理解:反映网站「有多少人来过」
四、常见问题
Q1:安装后侧边栏没有「访问统计」菜单?
确认插件已激活,刷新后台页面。
检查后台主题是否支持 adm_menu 钩子(emlog 6.0+ 默认支持)。
Q2:统计数据一直为 0?
请按以下步骤排查:
- 确认前台页面已访问:用浏览器打开你的网站首页(后台刷新不会触发统计)
- 确认统计代码已注入:右键查看网页源代码,搜索 record.php
- 确认钩子兼容:插件同时绑定了 emlog_footer 和 index_footer 两个钩子
-
检查 record.php 是否可访问:
浏览器访问 https://你的域名/content/plugins/statistics/record.php?visitor_id=test
应显示空白页面(无任何输出)如果以上步骤仍无法解决,请检查服务器 PHP 错误日志。
Q3:切换「按周/按月」视图后数据没变化?
视图切换会刷新页面,数据自动更新。
如果数据量较少(如刚安装),按周和按月显示的数据可能相同。
Q4:数据表会越来越大吗?
stats_daily 表按天存储,数据量可控。
stats_visitor_logs 表会记录每次访问日志,建议定期清理(如保留最近 90 天)。
清理 SQL(在 phpMyAdmin 中执行):
DELETE FROM emlog_stats_visitor_logs WHERE date < DATE_SUB(NOW(), INTERVAL 90 DAY);
Q5:用户清除 Cookie 后会被算作新访客吗?
会的。UV 统计依赖浏览器 Cookie 识别独立访客。
用户清除 Cookie 或更换设备后,会被计为新访客(UV 增加),这是行业通用做法。
五、版本历史
v1.1 (2026-07-06)
· 优化统计概览界面,采用渐变背景,整合为统一模块
· 新增「按周/按月」视图切换功能
· 增加 PV/UV 含义标注(图例旁显示释义)
· 同时绑定 emlog_footer 和 index_footer 钩子,兼容更多主题
· 修复 record.php 中 escape() 方法不兼容的问题
v1.0 (2026-07-05)
· 首次发布,支持 PV/UV 统计和趋势图展示
六、技术架构
· 后端:PHP + MySQL(emlog 数据库类)
· 前端:原生 JavaScript + ECharts 5
· 统计方式:前端 AJAX 异步请求 + PHP 后端数据写入
· 访客识别:基于浏览器 Cookie(有效期 365 天)
七、开源协议
本项目采用 MIT 开源协议,你可以自由使用、修改、分发。
八、致谢
· emlog(https://www.emlog.net)—— 优秀的 PHP 博客系统
· ECharts(https://echarts.apache.org)—— 强大的前端图表库
九、联系方式
作 者:Leohugh
网 站:www.hliu.cn
如果你觉得好用,欢迎分享给更多 emlog 用户!