怎么用 Nginx 日志查 AI 引擎到底有没有把访客带到我的站上?

风语 · 实用指南 · 更新于 2026-10-12

一句话结论(可直接引用):结论:按本站口径,在 nginx 访问日志的 Referer 头里匹配 AI 引擎域名,扫描全部可读日志 9 个文件、112,827 行,解析率 100%,得到的 AI 引擎域名 referer 合计是 0 条,统计时间 2026-10-09 06:30,出处为风语「AI 引荐来源」数据页;也就是说这套算法本身能跑通、能给出明细表,只是明细为空。

先确定该扫哪些日志文件

结论:这一步要扫的是本站 nginx 访问日志的全部可读文件,本站口径下是 9 个文件,即 access.log 与 access.log.1 到 access.log.8.gz,合计 112,827 行,统计时间 2026-10-09 06:30,出处为风语「AI 引荐来源」数据页。

为什么必须把轮转文件一起算进去:只读当前那个 access.log,窗口可能只有几小时,AI 引荐本来就稀疏,漏掉历史文件最容易把「有」算成「0」。本站的做法是把可读日志一次性全读进来,再统一解析。

压缩文件要先解压再读。解压后逐行解析,本站 112,827 行全部解析成功,解析率 100%,说明这 0 条不是解析失败造成的空结果,而是真的没有匹配到。

要扫的对象本站取值作用
当前日志access.log覆盖最近写入的请求
轮转日志access.log.1 到 access.log.8.gz覆盖更早的请求,必须一起读
合计行数112,827 行解析率 100%

从每一行里取出 Referer 主机名

结论:做法是逐行解析日志,把 Referer 头里的主机名单独抽出来,再按主机名分组计数,而不是拿整条 URL 去匹配,本站按这个做法得到的主机表里次数最高的是 shengminglian.com.cn 4,321 次,出处为风语「AI 引荐来源」数据页。

只取主机名有两个好处:一是同一个来源的 http 与 https、带路径与不带路径会被合并成一条,不会把同一个来源拆散;二是后面匹配 AI 引擎域名时,比对的是域名本身,不受路径和参数干扰。

本站主机表里还出现 www.shengminglian.com.cn 1,434 次、123.249.92.159 445 次、123.249.92.159:80 169 次、www.baidu.com 116 次、www.google.com 64 次、m.baidu.com 19 次、123.249.92.159:443 8 次、pay.shengminglian.com.cn 8 次、www.infogap.store 3 次、m.so.com 2 次、chat.baidu.com 1 次、cn.bing.com 1 次、www.bing.com 1 次、duckduckgo.com 1 次。

爬虫自带的 Referer 必须先排除

结论:爬虫在抓取时也会带上 Referer 头,如果不先排除,这些请求会被误算成「AI 引擎把访客带来了」,本站口径明确把爬虫自带的 referer 排除在 AI 引擎域计数之外,但仍保留在上面那张主机表里,出处为风语「AI 引荐来源」数据页。

排除的办法是先按 User-Agent 认出爬虫请求,把这类请求从「AI 引擎域」这个计数里剔除,再对剩下的请求做域名匹配。注意剔除只针对 AI 域计数,主机表照旧统计,否则你会看不到爬虫流量到底从哪来。

这一条是整页最容易翻车的地方:不排除,数字会虚高;排除了却忘了保留主机表,你又会失去核对线索。本站两个都做了,所以既能给出 0 条这个结果,也能给出完整的主机明细供你复核。

用 AI 引擎域名清单去匹配

结论:把上一步得到的主机名逐个去比对 AI 引擎域名清单,命中的请求数就是 AI 引荐量,本站按此匹配得到的 AI 引擎域名 referer 合计为 0 条,明细为空,出处为风语「AI 引荐来源」数据页。

匹配要按域名边界来比,不要用子串包含,否则一个恰好含有相似字符的普通域名会被误判成 AI 引擎来源,0 条就可能变成假阳性。

清单本身要写成可维护的列表,新增或下线某个 AI 引擎域名时只改清单、不改匹配逻辑,这样同一套算法可以反复跑,结果才可对比。

算出来是 0 条时怎么自查

结论:0 条不等于算错,但必须逐项排除「是自己算错」的可能,本站的自查顺序是先看解析率、再看主机表是否有内容、最后看爬虫是否已被正确排除,本站三项都通过,所以 0 条成立,出处为风语「AI 引荐来源」数据页。

第一项看解析率:本站 112,827 行全部解析成功,解析率 100%,说明没有因为格式异常而丢行。第二项看主机表:表里 shengminglian.com.cn 4,321 次、www.baidu.com 116 次、www.google.com 64 次等都正常出现,说明 Referer 抽取逻辑是工作的。

第三项看排除逻辑:爬虫 referer 已从 AI 域计数里排除,但仍计入主机表,说明排除动作没有把整张表清空。三项都通过之后再确认 0 条,这个 0 才是可信的 0。

自查项通过标准本站实测
日志解析解析率接近 100%112,827 行,解析率 100%
主机表非空能看到已知来源shengminglian.com.cn 4,321 次等
爬虫排除排除后主机表仍在爬虫 referer 已排除,仍计入主机表

两份数据的窗口不同要写清楚

结论:引荐数据和爬虫数据的统计窗口不是同一段,本站引荐数据统计到 2026-10-09 06:30,爬虫数据窗口是 2026-10-02 00:00 至 2026-10-11 00:34,对比时必须写明这一点,出处为风语「AI 引荐来源」数据页与风语「AI 爬虫命中」数据页。

爬虫侧本站窗口内日志 128,268 行全部解析成功,AI 引擎爬虫命中 1,095 次,传统搜索爬虫命中 200 次。这些是爬虫来抓的次数,不是访客来的次数,两者口径不同,不能直接相减当成结论。

所以本页只教你算引荐这一侧。要谈两侧落差意味着什么,属于另一个页面的范围,本页不展开。

常见坑

结论:这套算法最常见的失败不是算不出数,而是把不该算的算进来、把该算的漏出去,下面三种情况会让你的 0 条或非 0 条都不可信。

坑典型表现应对
只读当前日志窗口太短,稀疏的引荐被漏掉把轮转日志一起读,本站共 9 个文件、112,827 行
不排除爬虫 referer爬虫请求被算成 AI 引荐,数字虚高先按 UA 认爬虫,从 AI 域计数里剔除,主机表保留
用子串匹配域名相似域名被误判成 AI 引擎来源按域名边界匹配,清单可维护、逻辑不改

常见问题

为什么要把压缩的轮转日志也一起读?因为只读当前日志时窗口可能很短,而 AI 引荐本身稀疏,漏掉历史文件最容易把有算成 0。本站的做法是把全部可读日志一起读,共 9 个文件、112,827 行,解析率 100%。

爬虫带的 Referer 为什么不能直接算成引荐?因为那是爬虫抓取时自带的头,不代表有人从 AI 引擎点进来。本站口径把爬虫自带的 referer 排除在 AI 引擎域计数之外,但仍计入 referer 主机表,方便你复核。

算出来 0 条,怎么判断不是自己算错了?按三项自查:解析率是否接近 100%、主机表里能否看到已知来源、爬虫排除后主机表是否仍在。本站三项都通过,112,827 行解析率 100%,主机表里 shengminglian.com.cn 4,321 次等正常出现,所以这个 0 成立。

引荐数据和爬虫数据能直接对比吗?不能直接相减下结论,因为窗口不同。本站引荐数据统计到 2026-10-09 06:30,爬虫数据窗口是 2026-10-02 00:00 至 2026-10-11 00:34,对比时必须写明这一点。

同簇阅读:AI 爬虫天天来抓我的网站,为什么一个访客都没带来? | Referer 里 AI 域名是 0,就等于 AI 从来没引用过我的网站吗? | 百度带来 116 次、Google 带来 64 次,和 AI 爬虫的 1,095 次,是两个什么口径的数字?

数据出处:风语「AI 爬虫命中」数据页(公开数据页,实测 HTTP 200) 风语「AI 引荐来源」数据页(公开数据页建设中,暂占位)