メインコンテンツへスキップ
2分で読めます

サイト内検索

訪問者が自社のウェブサイト内で何を検索しているかを正確に把握し、コンテンツの不足や結果が何も返らない検索クエリを見つけられます。

概要

サイト内検索は、訪問者が 自社の サイトで実行した内部検索を表示します — Google に入力した内容ではありません。データはダッシュボードの アプリ → ウェブサイトを開く → Analytics → 「サイト内検索」パネル に表示されます。

このパネルは、上位の検索クエリを並べ替え可能なテーブルで示します:

  • 検索数 — そのクエリが実行された回数
  • 検索の割合 — 期間内の全検索に占めるそのクエリの割合
  • 結果なし — そのうち何件が何も返さなかったか

また、何も見つからなかったクエリだけを抽出する 「結果なしのみ」 フィルターと、特定のページから実行された検索にテーブルを絞り込む ページ URL フィルター も利用できます。

サイト内検索は すべてのプランで無料 です。

オプション A — URL の自動検出(コード不要)

検索結果ページがクエリを URL パラメーターに格納している場合、Zenovay はそれを自動的にキャプチャします。コードの変更は不要 です — Zenovay のトラッキングスクリプトをインストールするだけで動作します。

Zenovay はページ URL のクエリ文字列からクエリを読み取り、これらのパラメーターを次の正確な優先順位で確認します:

  1. ?q=
  2. ?query=
  3. ?search=
  4. ?s=(これは WordPress のデフォルトの検索パラメーターです)

最初に空でない パラメーターが採用され、キャプチャされる値は 256 文字 に制限されます。

自動的にキャプチャされる検索結果 URL の例TEXT
https://example.com/search?q=blue+widgets
https://example.com/results?query=annual+report
https://example.com/?s=contact+form         (WordPress)
https://shop.example.com/search?search=running+shoes

Zenovay トラッカーがインストールされた状態で訪問者がこれらの URL のいずれかにアクセスすると、検索語句が記録され、「サイト内検索」パネルに表示されます — 追加のセットアップは不要です。

WordPress サイトはそのまま動作します: WordPress コアは検索に ?s= を使用しており、Zenovay はプラグインやコードの変更なしでこれを自動的に検出します。

オプション B — 手動トラッキング(URL が変わらない SPA / JS 検索)

インスタント検索や AJAX 検索ボックスは、ページ URL を変更せずに結果を表示することがよくあります。その場合、自動検出が読み取れるものがないため、検索が確定したときに公開トラッカー API を自分で呼び出してください:

サイト内検索を追跡するJavaScript
zenovay.track('search', { query: 'user query', results_count: 12 });

訪問者が 検索を送信または確定したとき に呼び出します — たとえば検索フォームの送信ハンドラー内、または結果がレンダリングされた直後です:

  • query — 訪問者が検索した生のテキスト。
  • results_count — そのクエリに対して表示された結果の件数。

results_count を指定すると 結果なしインサイト が機能します — 何も一致しなかった場合は 0 を設定してください。何も返さないクエリの一覧は、サイト内検索から得られる最も価値の高い SEO・コンテンツギャップのシグナルなので、可能な限り results_count を含めてください。

React の例

React の onSubmit ハンドラーJavaScript
function SearchBox() {
const [term, setTerm] = useState('');

const handleSubmit = async (e) => {
  e.preventDefault();
  const results = await searchApi(term);

  // Use the global zenovay object from the tracking script
  zenovay.track('search', {
    query: term,
    results_count: results.length, // 0 when nothing matched
  });

  renderResults(results);
};

return (
  <form onSubmit={handleSubmit}>
    <input value={term} onChange={(e) => setTerm(e.target.value)} />
    <button type="submit">Search</button>
  </form>
);
}

データの確認

サイト内検索のデータを見るには、アプリでウェブサイトを開き、Analytics タブに移動して サイト内検索 パネルを開きます。

このテーブルには、選択した期間における ボリューム順の上位 200 クエリ が次の列とともに表示されます:

意味
検索数期間内にそのクエリが実行された回数
検索の割合期間内の全検索に占めるそのクエリの割合
結果なしそのうち何件が何も返さなかったか

「クエリを検索」 ボックスは、表示されている行だけでなく、選択した期間の検索履歴全体をサーバー側で検索します — そのため、ボリューム順の上位 200 に入っていない、めったに使われないクエリでも、入力すれば見つかります。

パネルのその他のコントロール:

  • 並べ替え可能な列 — 列見出しをクリックすると、その列でテーブルを並べ替えます。
  • 「結果なしのみ」トグル — 何も返さなかったクエリだけを表示し、コンテンツの不足に素早く対応できます。
  • ページ URL フィルター — 特定のページから実行された検索にテーブルを絞り込みます。

プライバシー

Global Privacy Control または Do Not Track シグナルを送信する訪問者は追跡されないため、その検索は「サイト内検索」パネルに表示されません — これは仕様です。

このページは役に立ちましたか?