← すべての記事

私のSearch Consoleでロボットたちが試験を受けている

直近28日間で、私のサイトはGoogle Search Consoleで378万インプレッションを集め、その91%は誰一人として人間が入力していないクエリから来ていました。1 きっかけは、Claude Codeのフックについてのブログ記事でした。最初の2週間で30,000インプレッション、クリック率0.14%。大ヒットのように見えたのです。どのSEOの手引きも、インプレッションが大きくCTRが死んでいるページにはタイトルの救済を処方します。ところが実際のクエリを引き出してみると、上位はGoogleにそのまま貼り付けられた選択式の試験問題で、少しずつ違う言い回しが6通りありました。「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%へとほぼ3倍になり、平均掲載順位は11.2から7.7へ改善します。1
  • 機械クエリは、価値がまったく異なる三つの種に分かれます。受験者(自然言語の試験問題、クリックは永遠にゼロ)、エラー貼り付け勢(一字一句そのままのエラー文字列、CTR 3~10%、私が持つもっとも意図の強い訪問者)、検索スイープ(引用符で囲んだフレーズとsnake_caseの識別子を大量に、CTRは約0.35%)。
  • 人間と機械をきれいに分ける正規表現はありません。試験問題は人間らしく読めて人間ではなく、エラー貼り付け勢はロボットのように見えて困っている人間です。クエリの形は嘘をつき、クリックの振る舞いが真実を語ります。
  • 実務上の転換:クエリを人間と機械に分ける前に、タイトルを最適化したり「下降中」のページに慌てたりしてはいけません。インプレッションは虚栄の指標であることをやめ、混合指標になりました。

危うくタイトルを救済されかけた記事

問題の記事、Claude Codeのフックの解説は7月1日に公開されました。7月13日までに最初の1週間で24,377インプレッションを積み上げ、2週目もそのペースを保ちました。私のダッシュボードは、ダッシュボードらしく警告を出しました。巨大な露出、合計43クリック、平均掲載順位6.6でCTR 0.14%。4

まさにそのプロフィールに対して、私には実証済みの手引きがあります。このサイトのあるガイドは、タイトルを書き換えるまで140万インプレッションでCTR 0.28%のまま座っていたので、反射は強かった。タイトルを書き直し、CTRが回復するのを見届け、成果を数える。

その反射は、クエリレポートが読み込まれるまでしか生き延びませんでした。最上位のクエリは、最大の変種で191インプレッション、ファミリー全体で254インプレッションで、選択肢まで揃った完全な試験問題、認定試験の問題バンクの平板な文体でした。同じ問題のほぼ重複した6通りの言い回しが、私のサイトの3つの異なるフック関連記事と、そのドイツ語、フランス語、ポーランド語訳に当たっていました。4 すべて合わせてクリックはゼロ。2位は「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を3倍から9倍上回ります。クエリの文字列はコンパイラや設定スキーマが書いたものだから機械が書いたものですが、それを貼り付けている人は今まさに問題を抱えていて、一致するものなら何でも読みます。私のサイトでもっとも意図の強い訪問者は、ロボットの衣装を着て到着するのです。

検索スイープは340万の大半です。引用符で囲んだ完全一致の文字列、APIの表面の名前、ドキュメントの断片。私の以前の記事アシスタントが今や読者だは、同じ現象の配信側をネットワークのエッジで追跡しました。1日およそ300人の人間の訪問者に対して、1日およそ17,000件のAIエージェントのリクエスト、そのほとんどは学習用のクロールではなく、ユーザーの指示によるライブの取得でした。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クエリの目視スキャンから始まります。クエリの文字列を5分読むだけで、集計が示唆した結論が何度もひっくり返りました。

エラー貼り付け勢に意図的に餌を与える。 完全一致のエラー文字列は、私が選んだことのない最良のキーワードです。それに一致するページは掲載順位2から4に座り、デバッグ緊急事態の率で転換します。エラーメッセージ、設定キー、CLIの出力は、いまでは私の技術記事で一字一句そのまま見出しになります。その文字列をGoogleに貼り付けている人は、インターネット上でもっとも救いやすいただ一人の訪問者だからです。

受験者に媚びるのをやめる。 クリックゼロはゼロ、永遠にです。解答を照合している問題バンクは、どんなタイトル、スニペット、スキーママークアップでも転換できません。唯一の合理的な対応は、ページを判断するときにその量を無視すること、そしてどこかの認定試験がどうやら私のブログを解答の基準にしているらしいことを楽しむこと、くらいです。

人間の数字を報告するか、何も報告しないか。 私自身のダッシュボードは、いまではフィルター後のスライスをグラフにし、混合のスライスには注釈を付け、日次スナップショットをgitに保管して、構成の変化が時間とともに見えるようにしています。インプレッションはいまも重要ですが、それは誰が誰に印象づけているのかを知ったあとでのことです。

より深い転換は、前回の記事が終わった場所と一致します。アシスタントはエッジで1日17,000回私のページを読み、いまや私は彼らが入ってくる途中でGoogleの玄関に並ぶのを見ることができます。Search Consoleは静かに、細い人間の流れが貫く機械の好奇心のログになりました。その流れこそが注意を払っている部分です。その流れを測りましょう。

よくある質問

私のSearch Consoleのインプレッションのうち、どれだけが人間から来ていますか?

インプレッションのうち約9%です。残りの91%は機械の形をしています。直近28日間で3,776,076インプレッションを集め、二重引用符かアンダースコアを含むクエリを除外すると340,267、約9%に縮みます。フィルター後のCTRは0.42%から1.10%へとほぼ3倍になり、平均掲載順位は11.2から7.7へ改善します。試験問題はフィルターを通過するので、91%は上限ではなく下限です。1

Search Consoleから機械クエリを除外するにはどうすればいいですか?

正規表現一つです。Search Analytics APIで、excludingRegex 演算子と ["_] という式を使ってクエリのディメンションフィルターを追加すると、二重引用符かアンダースコアを含むすべてのクエリが落ちます。引用符で囲んだ文字列は完全一致の検証を示し、人間はめったにそんな手間をかけません。アンダースコアは識別子から来て、識別子は親指ではなくコードから来ます。3

なぜ私の記事はインプレッションが巨大なのにCTRがほぼゼロなのですか?

タイトルに触れる前にクエリを読んでください。Claude Codeのフックについての私の記事は、2週間足らずで30,105インプレッション、CTR 0.14%を記録しました。壊れたタイトルの典型的なプロフィールです。上位のクエリは一字一句そのままの選択式試験問題と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、試験問題ファミリーは9ページと3ロケールにわたって合計254インプレッション、クリックゼロ。 ↩↩↩↩

  5. Blake Crosley、アシスタントが今や読者だ。AIエージェントのリクエスト量対人間の訪問者についての一次データのCloudflareエッジデータ。現在の7日平均は1日およそ17,000件のエージェントリクエスト、28日の人間の平均は1日300人近くの訪問者。 ↩

関連記事

いま読者はアシスタントになった

エッジログの一次データ。AIアシスタントによるページ取得は人間の訪問のおよそ66倍。しかもその大半は学習用クロールではなく、ユーザーの質問に応じたリアルタイム取得です。

15 分で読める

クリーンアップレイヤーこそが本当のAIエージェント市場である

Charlie Labsはエージェント構築から、エージェントの後始末をする側へとピボットしました。AIエージェント市場は生成から証明へと移行しています。クリーンアップこそが永続的なレイヤーなのです。

17 分で読める

Ralphループ:自律型AIエージェントを一晩中稼働させる方法

ストップフック、スポーンバジェット、ファイルシステムメモリを備えた自律エージェントシステムを構築しました。失敗から学んだことと、実際にコードをシップする仕組みを紹介します。

11 分で読める