

SpiderStat 是一个基于 服务器访问日志(Nginx access.log) 的蜘蛛爬行统计插件,用于记录、汇总并展示各类搜索引擎蜘蛛的真实访问行为。
插件仅做数据解析与展示,不参与页面访问流程,不影响前台性能。
安装方式非常简单,解压丢进 /addons 目录,即可安装,不需要修改原程序内的代码
一、数据来源与采集方式
-
数据来源:Nginx access.log
-
采集方式:定时任务解析日志
-
解析规则:基于 User-Agent 精准识别蜘蛛类型
-
采集粒度:单次 HTTP 请求级别
所有统计数据均来源于服务器日志,不依赖第三方统计平台。
二、蜘蛛识别范围
插件内置以下蜘蛛识别规则(可扩展):
-
百度(BaiduSpider)
-
搜狗(Sogou Spider)
-
360(360Spider)
-
神马(YisouSpider)
-
头条(Bytespider)
-
Google(Googlebot)
-
Bing(Bingbot)
仅记录命中规则的请求,其它普通访问不会入库。
三、爬行记录写入规则
每次定时任务执行时:
-
读取 access.log 新增内容
-
逐行解析请求记录
-
识别是否为搜索引擎蜘蛛
-
提取以下字段并写入数据库:
-
蜘蛛类型
-
访问时间
-
请求 URL
-
HTTP 状态码
-
IP 地址
-
插件不会重复解析已处理过的日志行。
四、功能模块说明
1. 蜘蛛爬行记录列表
-
展示最近入库的蜘蛛访问记录
-
支持分页
-
展示字段:
-
爬行时间
-
蜘蛛类型
-
URL
-
状态码
-
用于查看最近蜘蛛实际访问了哪些页面。
2. 每日蜘蛛爬行统计
-
按日期汇总蜘蛛访问次数
-
统计维度:蜘蛛类型
-
默认展示最近 30 天数据
-
即使当日为 0,也会展示该蜘蛛类型
用于观察蜘蛛抓取趋势变化。
3. 系统运行状态
-
当前日志路径
-
日志是否可读
-
最近一次解析执行时间
-
插件运行状态提示
用于确认插件是否正常工作。
五、定时任务执行方式
推荐方式:前端接口触发
通过定时任务访问插件解析接口:
特点:
-
无需修改系统文件
-
兼容宝塔计划任务
-
插件更新不受影响
可选方式:CLI 本地执行
支持 PHP CLI 方式直接执行解析逻辑, 适合有服务器运维经验的用户。
六、性能与安全说明
-
仅在定时任务执行时运行
-
不参与用户访问请求
-
不修改模板、不劫持流量
-
可通过密钥限制执行权限
-
支持随时暂停定时任务
七、适用场景
-
需要查看搜索引擎是否真实抓取站点
-
排查蜘蛛只抓首页、不抓内容页的问题
-
分析蜘蛛抓取频率变化
-
验证 SEO 调整后的抓取效果
