← 所有文章

机器人正在我的 Search Console 里参加考试

在最近的 28 天窗口里,我的网站在 Google Search Console 里收获了 378 万次展示,其中 91% 来自没有任何人类输入过的查询。1 破绽出在一篇关于 Claude Code 钩子的博文,它看起来像是爆款:头两周 30,000 次展示,点击率 0.14%。每一本 SEO 手册都会说,展示量大而 CTR 死气沉沉的页面需要一次标题抢救。然后我拉出了实际的查询,排在最前面的是被原封不动粘贴进 Google 的多项选择考试题,以六种略有差异的措辞出现:“a developer wants to prevent claude from reading sensitive .env files. which type of hook…”。没有人点击,因为根本没有人在那里。搜索者是一份正在核对自己答案的认证测验。

TL;DR

  • 一篇发布 13 天的文章拿到 30,105 次展示,CTR 0.14%,这是标题坏掉的经典特征。背后的查询却是一字不差的考试题和 SDK 术语串,真正的人类查询只有个位数。标题没问题,受众是合成的。4
  • 从全站看,28 天里的 378 万次展示,只要排除包含双引号或下划线的查询(一种廉价却有效的机器查询签名),就缩到 34 万(9%)。过滤后的 CTR 几乎翻了三倍,从 0.42% 到 1.10%,平均排名从 11.2 改善到 7.7。1
  • 机器查询分成三个价值截然不同的物种:考生(自然语言的考题,点击永远为零)、报错粘贴者(一字不差的报错串,CTR 3-10%,是我拥有的意图最强的访客)、检索扫描(批量规模的引号短语和 snake_case 标识符,CTR 约 0.35%)。
  • 没有哪条正则能把人类和机器干净地分开。考试题读起来像人,其实不是;报错粘贴者看着像机器人,其实是陷入麻烦的人。查询的形状会撒谎,点击行为才说真话。
  • 实践上的转变:在把查询拆成人类和机器两部分之前,永远不要优化标题,也不要为一个“下滑中”的页面惊慌。展示量不再是虚荣指标,而成了一个混合指标。

那篇差点被抢救标题的文章

这篇文章,一篇关于 Claude Code 钩子的讲解,7 月 1 日上线。到 7 月 13 日,它在第一周积累了 24,377 次展示,第二周保持同样的速度。我的仪表盘像所有仪表盘那样发出了标记:曝光巨大,总共 43 次点击,平均排名 6.6,CTR 0.14%。4

对付这种特征,我有一套验证过的打法。本站有一篇指南曾经以 140 万次展示、0.28% 的 CTR 停在那里,直到重写标题才翻身,所以本能反应很强烈:重写标题,看着 CTR 恢复,数战果。

这个本能一直撑到查询报告加载出来为止。排名第一的查询,最大的变体 191 次展示,整个家族 254 次,是一道完整的考试题,连选项都在,是认证题库那种平板的语气。同一道题的六种近乎重复的措辞,打中了我网站上三篇不同的钩子文章,外加德语、法语和波兰语译本。4 全部加起来零点击。第二名是“anthropic agent sdk hitl lifecycle hooks pretooluse”,从来没有哪个人用手指敲出过这句话。真正的人类查询,那种带着错别字和希望的查询,加起来只有个位数。

重写标题优化的是搜索结果里唯一只有人类会读的元素。而制造展示量大山的受众不读标题。它们读答案摘要,或者什么也不读。我本来会把这次改动花在从未存在过的读者身上,然后在 CTR 纹丝不动时,得出恰好错误的结论。

机器查询的三个物种

一旦知道该找什么,我就拉出了全站带机器签名的查询。它们不是一种现象,而是三种,把它们混为一谈会付出真金白银的代价。

物种 示例 规模 CTR 身份
考生 “a developer wants to prevent claude from reading sensitive .env files. which type of hook…” 每个题目家族数百次展示 0% 测验生成器、认证备考工具,或给答案打分的智能体
报错粘贴者 “userpromptsubmit hook timed out after 60s” 每条报错串数十到数百次 3-10% 正在调试的人(或他们的智能体)
检索扫描 引号短语、snake_case 标识符、SDK 术语 数百万次展示 约 0.35% 大规模核验和检索的助手

考生是最古怪的一群。这些查询是合乎语法的英语,所以能通过所有天真的人类过滤器,行为却不像任何人类搜索者:相同的题目家族,几周内反复出现,分布在多个语言区域,从来没有一次点击。我对来源的最佳猜测(我想说明白,这只是猜测)是:AI 生成的模拟测试和认证备考工具在用实时搜索结果校验自己的答案,再加上一些把测验题整段粘贴进去的学生。Google 把每一条都算作我页面的一次展示,因为我的页面确实出现在了结果里。2 展示是真的,读者不是。

报错粘贴者恰恰相反,他们正是“删掉所有像机器的查询”这种粗暴过滤器会毁掉价值的原因。像 xcrun: error: unable to find utility "mcpbridge" 这样粘贴进来的报错,因为带引号的工具名而触发过滤器,却从 2.7 的排名以 6.25% 的比率点进来。“failure in void _uiapplicationevaluateruntimeissuefornoscenelifecycleadoption”带着它的下划线拿到 9.68% 的 CTR。配置标识符的表现如出一辙:“codex trust_level” 8.70%,“hermes custom_providers” 4.55%。1 这些数字是我全站人类 CTR 的三到九倍。查询文本是机器写的,因为它出自编译器或配置模式,但粘贴它的人此刻正有一个问题,会读任何匹配的东西。我网站上意图最强的访客,是穿着机器人戏服到达的。

检索扫描是那 340 万的主体。带引号的精确字符串、API 表面的名字、文档片段。我早先的文章《助手才是现在的读者》在网络边缘追踪了同一现象的交付侧:每天大约 17,000 次 AI 智能体请求,对应大约 300 个人类访客,其中大部分是用户指令下的实时抓取,而不是训练爬取。5 Search Console 的数据从需求侧闭合了这个环。助手不只抓取我的页面,它们在路上还会发起 Google 搜索,而 Google 尽职地把每一次都记为一次展示,连排名一起。

Search Console 里还有多少是人类

我用的过滤器就是一条正则表达式。在 Search Analytics API 里,排除匹配 ["_] 的查询,也就是任何包含双引号或下划线的查询:

{
  "dimensionFilterGroups": [{
    "filters": [{
      "dimension": "query",
      "operator": "excludingRegex",
      "expression": "[\"_]"
    }]
  }]
}

带引号的字符串意味着精确匹配核验,人类很少费这个事。下划线来自标识符,而标识符来自代码,不是来自拇指。3 把我最近 28 天的数据过一遍:

切片 展示 点击 CTR 平均排名
全部 3,776,076 15,911 0.42% 11.2
人类过滤后 340,267 3,729 1.10% 7.7
机器签名余量 3,435,809 12,182 0.35% 11.6

这个过滤器是一种启发式,两个方向上都会失效。考试题既没有引号也没有下划线,所以能通过它,因此 91% 的机器份额是下限,不是上限。而报错粘贴者通不过它,却是我拥有的最像人的流量。我把过滤后的切片当作“大体是人类,被低估了”,把余量当作“大体是机器,外加我最好的调试访客”,并且在做任何需要投入精力的决定之前,先用眼睛过一遍查询列表。

失真不止于 CTR。机器查询把我表面上的平均排名从 7.7 拖到 11.2,因为检索扫描会去试探那些我的页面排在任意位置的长尾措辞。一个把两个切片混在一起的仪表盘,会报告一个排名正在下滑的网站,而人类的体验其实稳如泰山。

那篇看起来快死掉的指南

同样的拆分也挽救了我对一个更大页面的判断。我的 Hermes 指南在最近 28 天里显示 763,439 次展示、569 次点击:混合平均排名 13.5,CTR 0.075%。按字面看,这个页面已经崩了。它追踪中的纯人类基线是排名 8.5、CTR 1.53%,而最近一个人类过滤周仍然保持在排名 8.4。1

两种读数描述的是同一个月的同一个页面。混合数字说指南正在失败;过滤后的数字说人类恰好在他们一直能找到它的位置找到了它,只是周围涨起了一片机器检索的海洋。是构成变化,不是排名损失。要是我相信了混合视图,顺理成章的动作会是重写、换标题,也许还有 URL 迁移:给健康病人做昂贵的手术。

我现在假设任何一个站稳的页面都可能表现出同样的症状,并且我敢打赌,在 AI 密集的细分领域里,Search Console 上的大多数“表现下滑”都能以同样的方式分解。分母换了物种。

我实际改了什么

先拆分,再决定。 我网站上每一个 CTR 判断、标题实验和下滑调查,现在都从人类过滤这一步和对前 20 条查询的人工扫读开始。花五分钟读查询文本,已经多次推翻了聚合数据暗示的结论。

有意识地喂养报错粘贴者。 精确的报错串是我从未选过的最好的关键词。匹配它们的页面排在第 2 到第 4 位,以调试紧急状态的比率转化。报错消息、配置键和 CLI 输出现在会在我的技术文章里得到一字不差的标题,因为把那串东西粘进 Google 的人,是整个互联网上最容易被拯救的访客。

不再讨好考生。 零点击就是零,永远是零。一个正在核对答案的题库,任何标题、摘要或 schema 标记都转化不了它。唯一理性的回应是在评判页面时忽略这部分流量,或许还可以享受一下:某处的认证考试显然在拿我的博客当答案。

要么报告人类数字,要么什么都别报告。 我自己的仪表盘现在画过滤后的切片,给混合切片加注释,并把每日快照放进 git,让构成变化随时间保持可见。展示量仍然重要,但前提是你知道谁在向谁展示。

更深层的转变与上一篇文章的结尾相接。助手每天在边缘读我的页面 17,000 次,现在我还能看着它们在进来的路上排在 Google 的前门口。Search Console 悄悄变成了一份机器好奇心的日志,中间穿过一道细细的人类溪流。那道溪流才是真正在注意的部分。测量那道溪流。

常见问题

我的 Search Console 展示中有多少来自人类?

按展示计,大约 9%;另外 91% 是机器形状的。在最近的 28 天窗口里,我收获了 3,776,076 次展示,排除包含双引号或下划线的查询后缩到 340,267,大约 9%。过滤后的 CTR 几乎翻了三倍,从 0.42% 到 1.10%,平均排名从 11.2 改善到 7.7。这个 91% 是下限而不是上限,因为考试题能通过过滤器。1

我该怎么把机器查询从 Search Console 里过滤掉?

一条正则表达式。在 Search Analytics API 里,用 excludingRegex 运算符和 ["_] 表达式添加一个 query 维度过滤器,它会丢掉任何包含双引号或下划线的查询。带引号的字符串意味着精确匹配核验,人类很少费这个事;下划线来自标识符,而标识符来自代码,不是来自拇指。3

为什么我的文章展示量巨大而 CTR 接近于零?

先读查询,再碰标题。我一篇关于 Claude Code 钩子的文章在不到两周内拿到 30,105 次展示、0.14% 的 CTR,这是标题坏掉的经典特征。排在前面的查询是一字不差的多项选择考试题和 SDK 术语串,真正的人类查询加起来只有个位数。标题没问题,受众是合成的。4

所有机器形状的查询都毫无价值吗?

不是,而且“删掉所有像机器的查询”这种粗暴过滤器会毁掉价值。报错粘贴者因为带引号的名字和下划线而触发签名,却是我拥有的意图最强的访客:xcrun: error: unable to find utility "mcpbridge" 以 6.25% 点进来,“codex trust_level” 是 8.70%。相比之下,考生从来不点击。查询的形状会撒谎,点击行为才说真话。1

我的页面真的在丢排名吗?

在下这个结论之前先拆分查询。我的 Hermes 指南在 28 天里显示 763,439 次展示和 569 次点击,混合平均排名 13.5,CTR 0.075%,读起来像崩盘。它追踪中的纯人类基线是排名 8.5、CTR 1.53%,最近一个人类过滤周仍然保持在排名 8.4。是构成变化,不是排名损失。1

参考资料


  1. 作者通过 Search Analytics API 对 blakecrosley.com 的 Google Search Console 数据所做的分析,2026 年 6 月 16 日至 7 月 13 日的 28 天窗口。未过滤:3,776,076 次展示,15,911 次点击。排除匹配 ["_] 的查询后:340,267 次展示,3,729 次点击。逐条查询的行一字不差地引自同一次拉取;Hermes 指南的基线来自网站追踪的人类过滤快照。 ↩↩↩↩↩↩↩

  2. Google,效果报告(搜索),其中把展示定义为链接出现在搜索者看到的搜索结果中,并不要求搜索者是人。 ↩

  3. Google,Search Analytics API: query,记载了人类过滤器所用的 dimensionFilterGroups 和 excludingRegex 运算符。 ↩↩

  4. 作者的分析,对 /blog/claude-code-hooks-explained 的逐页 Search Analytics 拉取,2026 年 6 月 30 日至 7 月 13 日:30,105 次展示上 43 次点击,平均排名 6.6,考试题家族在九个页面和三个语言区域里合计 254 次展示、零点击。 ↩↩↩↩

  5. Blake Crosley,《助手才是现在的读者》,关于 AI 智能体请求量对比人类访客的第一手 Cloudflare 边缘数据;当前 7 日平均约为每天 17,000 次智能体请求,对应 28 日人类平均每天接近 300 位访客。 ↩

相关文章

如今,助手才是真正的读者

来自边缘节点的第一方数据:AI 助手抓取我页面的频率约为真人访问的 66 倍,且其中绝大多数是用户触发的实时抓取,而非训练爬虫。

11 分钟阅读

清理层才是真正的AI智能体市场

Charlie Labs从构建智能体转向清理智能体留下的烂摊子。AI智能体市场正从生成转向证明。清理才是持久的层级。

12 分钟阅读

Ralph循环:我如何在夜间运行自主AI代理

我构建了一个使用停止钩子、生成预算和文件系统记忆的自主代理系统。以下是失败经验以及真正能交付代码的方法。

8 分钟阅读