サイトリニューアルのリダイレクト設計でSearch Console APIのページ×クエリが必須だった話

スポンサーリンク

「このページへの流入はほぼ指名検索なので、統合しても大丈夫です」——私がそう言ったとき、ユーザーからすかさず指摘が入りました。「でも4回は表示されているよ?」と。集計データしか見ていなかった私は、その根拠を持っていませんでした。

集計値だけでは「指名検索か否か」は分からない

サイトリニューアルでは、旧URLから新URLへの301リダイレクトマップを作る必要があります。このとき「SEO資産として守るべきページ」と「統合していいページ」を分ける判断が必要になります。

最初、私はSearch ConsoleとGA4の集計データ(ページ別のクリック数・表示回数)を見て、こう判断しました。

会社概要・代表挨拶・アクセスページへの流入は「ほぼ指名検索」。これらは統合してトップページにリダイレクトしてOK。

根拠は「この種のページは社名で検索した人が来るはずだ」という一般論でした。データではなく、ページの性質からの推測です。

ページ×クエリを取得したら予想外のデータが出てきた

ユーザーの指摘を受けて、Search Console APIで「ページ×クエリ」の組み合わせデータを取得しました。既存のスプレッドシートに上書きせず、新しいシートとして追記するスクリプトを書いて実行します。

# Search Console API: ページ×クエリの取得
resp = service.searchanalytics().query(
    siteUrl=site_url,
    body={
        'startDate': str(start_date), 'endDate': str(end_date),
        'dimensions': ['page', 'query'],  # ← ここがポイント
        'rowLimit': 500,
        'orderBy': [{'fieldName': 'impressions', 'sortOrder': 'DESCENDING'}],
    }
).execute()

結果を見ると、アクセスページ(/access.php)の上位クエリはこうなっていました。

検索クエリクリック表示回数
〇〇事務所12236
△△司法書士法人2225
近くの司法書士03

「〇〇法律事務所」——これはおそらく同じビルか近隣にある別の法律事務所の名前です。その事務所を調べた人が、たまたまアクセスページに流入していた。自社のSEO資産ではなく、隣の事務所の需要でした。

同時に、採用ページ(/recruit.php)では求人で7クリックという非指名検索の流入が確認できました。こちらは独立URLとして維持すべき根拠になります。

ページの「実態」もクエリで初めて分かった

もうひとつの発見は、ページ名と実際のコンテンツのズレです。分析用スプレッドシートでは「不動産登記」とラベルされていたページの上位クエリを見ると——

実態は「渉外登記(外国籍向け登記)」のページでした。ページをfetchして本文を確認してようやく確定。このまま不動産登記にリダイレクトしていたら、Googleへの誤ったシグナルを送ることになっていました。

判断の順序:推測→確認→設計

今回のプロセスを整理すると、正しい順序はこうです。

  • 集計値(ページ別クリック・表示回数)で優先度の高いページを特定する
  • ページ×クエリで指名検索か非指名検索かを確認する
  • ページ本文をfetchして実際のコンテンツを確認する
  • その上でリダイレクト先を設計する

「ページの性質からの推測」を「データによる確認」より先に結論として出してしまうのが、今回の失敗パターンでした。AIが自信を持って答えるとき、その根拠が「一般論」か「実データ」かを常に区別することが大事だと改めて感じました。

まとめ

サイトリニューアルのリダイレクト設計では、Search ConsoleのAPIでページ×クエリを取得することが「守るべきURLの判断」に不可欠です。ページ別の集計値だけでは、そのクリックが指名検索か非指名検索かは分かりません。今回のようなコードを使えば、既存スプレッドシートを壊さずに新しいシートとして追加できます。リニューアルの設計フェーズで早めに取得しておくことをおすすめします。

コメント

タイトルとURLをコピーしました