検索ログはOpenSearchのプレースホルダー用語を無視し、AIエージェントの検索にオプションでタグを付けるべき

要約

トレンド検索語レポートが、OpenSearchのURLテンプレートプレースホルダー(例:{searchTerms})によって汚染されており、これらは実際の検索ではありません。これにより、ダッシュボードが誤解を招くものとなり(しばしばクリック率0%でトップの「検索語」として{searchTerms}が表示される)、レポートの有用性が損なわれます。

さらに、AIを介したブラウジングが増加しているため、AIエージェントが開始した検索を検索分析でオプションとして個別にタグ付けできると便利です。


問題1:SearchLogにおけるOpenSearchプレースホルダーのノイズ

私のサイトでは、{searchTerms}トレンド検索語の1位として表示され、数千件のエントリがあり、クリック率(CTR)は0%です。これらのエントリは、クローラー/ボット(例:Googlebot、Bingbotなど)が/opensearch.xmlをクロールし、実際のクエリの代わりにリテラルのプレースホルダー文字列を使用して検索エンドポイントを呼び出すことによって発生します。

これについては以前にも議論されています。

しかし、プレースホルダーの用語は依然として分析に表示されます。


再現手順

  1. サイトでOpenSearch(例:/opensearch.xml)を有効化/提供する。
  2. クローラーがそれにアクセスできるようにする(デフォルトは公開動作)。
  3. クローラーがOpenSearchテンプレートを取得し、検索エンドポイントにヒットするのを待つ。
  4. 管理者 → レポート → トレンド検索語を表示する。
  5. {searchTerms}のようなプレースホルダー値がレポートを支配していることを確認する。

期待される動作

OpenSearchクライアントによって使用されるプレースホルダー/テンプレート文字列は、実際の検索として記録されるべきではなく、トレンド検索語に表示されるべきではありません


実際の動作

プレースホルダー文字列(例:{searchTerms})がSearchLogに保存され、実際の検索語として表示され、分析を汚染しています。


提案される修正

既知のOpenSearchプレースホルダー文字列をSearchLogに記録する前にフィルタリングします。例えば:

  • {searchTerms}
  • {search_term_string}

(他に一般的なバリアントがあれば、それらを追加しても構いません。)

これは実質的に「ボットノイズ」であり、正当な人間のクエリになることは決してなく、レポートの有用性を損ないます。


より大きな機会:AI時代の検索分析(オプション/中〜長期的)

{searchTerms}の問題は、より広範なギャップを浮き彫りにしています。検索の増加する割合がユーザーに代わってAIエージェントによって実行されています(例:ユーザーがアシスタントに「このフォーラムでXを検索して」と尋ねる場合)。これらの検索は実際のユーザーの意図を表している可能性がありますが、現在では他のすべてのトラフィックと混在しており、理解が困難です。

中期的(オプション)

User-Agentのヒューリスティックを使用して、AIエージェントによって開始された可能性のある検索にタグを付けます(例のみ):

  • ChatGPTブラウジング/エージェントUAバリアント
  • Perplexityボット
  • Claude関連のエージェント
  • Google AI関連のUA(例:GoogleOtherなど)

これは完璧である必要はなく、管理者に可視性を提供できる程度で十分です。

長期的(オプション)

トレンド検索語レポートに「AI検索」フィルター/タブを追加し、管理者が以下を確認できるようにします。

  • 人間の検索
  • AIエージェントの検索
  • すべての組み合わせ

なぜこれが重要なのか

  • プレースホルダーの汚染により、ダッシュボードの信頼性が低下し、「トレンド」を支配する可能性がある。
  • 管理者は、分析を手動でクリーンアップしたり、壊れたトップのエントリを無視したりする必要はない。
  • AIを介した検索トラフィックは増加しており、サイト所有者はそれらの意図に関する可視性から恩恵を受ける。