機器人正在我的 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
參考資料
-
作者透過 Search Analytics API 對 blakecrosley.com 的 Google Search Console 資料所做的分析,2026 年 6 月 16 日至 7 月 13 日的 28 天視窗。未篩選:3,776,076 次曝光,15,911 次點擊。排除符合
["_]的查詢後:340,267 次曝光,3,729 次點擊。逐條查詢的列一字不差地引自同一次拉取;Hermes 指南的基線來自網站追蹤的人類篩選快照。 ↩↩↩↩↩↩↩ -
Google,Search Analytics API: query,記載了人類篩選器所用的
dimensionFilterGroups和excludingRegex運算子。 ↩↩ -
作者的分析,對 /blog/claude-code-hooks-explained 的逐頁 Search Analytics 拉取,2026 年 6 月 30 日至 7 月 13 日:30,105 次曝光上 43 次點擊,平均排名 6.6,考題家族在九個頁面和三個語言區域裡合計 254 次曝光、零點擊。 ↩↩↩↩
-
Blake Crosley,《助理才是現在的讀者》,關於 AI 代理程式請求量對比人類訪客的第一手 Cloudflare 邊緣資料;目前 7 日平均約為每天 17,000 次代理程式請求,對應 28 日人類平均每天接近 300 位訪客。 ↩