目次
はじめに
「自社サイトの検索キーワード、地域名を含むものがどれくらいあるんだろう?」
「47都道府県のうち、どの地域がカバーできていて、どこが手薄なんだろう?」
地域SEOに取り組んでいると、こうした疑問が出てきます。
Google Search Console(以下GSC)を見れば検索キーワードは分かりますが、1つ1つ手作業で地域名を確認するのは現実的ではありません。キーワードが数百〜1,000件以上あればなおさらです。
そこで、GSCのデータをスプレッドシートにエクスポートするだけで、地域キーワードの全体像を自動で可視化するGoogle Apps Scriptを作りました。
この記事では、このスクリプトの使い方と、自動生成される9つの分析シートそれぞれの見方を解説します。
この記事で分かること
- GSCの検索パフォーマンスデータを都道府県別に自動分類する方法
- 地域キーワードの比率・平均順位・CTRなど各指標の読み方
- 「改善すべきキーワード」を自動で見つける方法
- カバーできていない地域を一目で把握する方法
このスクリプトでできること
GSCのクエリデータに対して、ボタン1つで以下の分析を自動実行します。
| 分析内容 | 概要 |
|---|---|
| 全体サマリー | 地域KW比率、カバー率、全体vs地域のパフォーマンス比較 |
| 都道府県別分析 | 47都道府県ごとのKW数・順位・CTR・Top10率 |
| 地方別分析 | 7地方ブロック(関東、近畿など)単位の集計 |
| 地域KW一覧 | 地域と判定されたキーワードの一覧とマッチ根拠 |
| チャンスKW | 表示は多いが順位が低い=改善余地の大きいKW |
| 低CTR改善KW | 順位は良いがクリックされていないKW |
| 未カバー地域 | KWがゼロまたは極端に少ない都道府県 |
| 順位帯別分布 | 都道府県×順位帯(1-3位、4-10位…)のクロス集計 |
| 地域×サービス | 都道府県×サービスKWのマトリクス(任意設定) |
それでは、セットアップから順に見ていきましょう。
セットアップ手順
ステップ1:GSCからデータをエクスポート
- Google Search Console にログイン
- 「検索パフォーマンス」レポートを開く
- 分析したい期間を設定する(推奨:過去3ヶ月)
- 右上の「エクスポート」ボタンから「Googleスプレッドシート」を選択
エクスポートすると、スプレッドシートが自動的に開きます。「クエリ」というタブに、キーワード・クリック数・表示回数・CTR・掲載順位のデータが入っています。
補足: GSC標準では上位1,000件のクエリしかエクスポートできません。1,000件以上のデータを分析したい場合は、「Search Analytics for Sheets」などの外部ツールで取得したデータでも、シート名(「クエリ」または「Queries」)とヘッダーが同じ形式であれば問題なく動作します。
ステップ2:Apps Scriptを追加
- エクスポートしたスプレッドシートで「拡張機能」→「Apps Script」を選択
- エディタが開いたら、既存のコードをすべて削除
- 以下のスクリプトをすべてコピーして貼り付け
- Ctrl+S(Macの場合はCmd+S)で保存
ステップ3:分析を実行
- スプレッドシートのタブに戻り、ページをリロード(F5)
- 数秒待つと、メニューバーに「地域KW分析」が追加される
- 「地域KW分析」→「分析を実行」をクリック
初回実行時はGoogleの認証画面が表示されます。「許可」を選択してください(スクリプトがスプレッドシートを読み書きするための権限です)。
分析が完了すると「完了しました」というダイアログが表示され、スプレッドシートに新しいタブが追加されます。
分析結果の見方:9つのシートを解説
ここからは、自動生成される各シートの見方を詳しく解説します。
1. サマリー ― まず全体像をつかむ
最初に確認すべきシートです。分析結果の全体像が1枚にまとまっています。
全体概要セクション
| 項目 | 意味 |
|---|---|
| 総キーワード数 | GSCから取得した全クエリの数 |
| 地域キーワード数 | 都道府県名や市区町村名を含むと判定されたクエリの数 |
| 非地域キーワード数 | 地域名を含まないクエリの数 |
| 地域キーワード比率 | 地域KW数÷総KW数。地域系の検索がどれだけあるかの割合 |
地域KW比率は、自社の地域SEOの浸透度を示す基本指標です。 地域密着型のビジネスなのに比率が極端に低い場合、地域名を含むコンテンツが不足している可能性があります。
パフォーマンス比較セクション
「全体」と「地域KWのみ」の数値を横に並べて比較します。
| 項目 | 説明 |
|---|---|
| クリック数合計 | 検索結果からサイトへのクリック総数 |
| 表示回数合計 | 検索結果にサイトが表示された総数 |
| 平均掲載順位(単純平均) | 全KWの順位を単純に平均した値 |
| 平均掲載順位(表示回数加重) | 表示回数で重み付けした平均順位 |
「表示回数加重」の平均順位は、実際のユーザー体験に近い指標です。 表示回数が多い(=検索需要が高い)キーワードの順位がより強く反映されるため、単純平均よりも実態を正確に把握できます。
都道府県カバレッジセクション
| 項目 | 説明 |
|---|---|
| カバー済み都道府県数 | 1件以上のKWがマッチした都道府県の数 |
| 未カバー都道府県数 | KWが0件の都道府県の数 |
| カバー率 | カバー済み÷47 |
全国対応のサービスであれば、カバー率100%が理想です。そうでなくても、自社の営業エリア内の都道府県がすべてカバーされているかの確認に使えます。
2. 都道府県別分析 ― 各地域の強さを数字で把握
47都道府県それぞれについて、10項目の指標を算出します。キーワード数の多い順にソートされています。
| カラム | 説明 |
|---|---|
| 都道府県 | 都道府県名 |
| キーワード数 | その都道府県に分類されたKWの数 |
| クリック数合計 | その地域KWの獲得クリック数合計 |
| 表示回数合計 | その地域KWの表示回数合計 |
| 平均CTR | クリック数÷表示回数。クリック率 |
| 平均順位(単純) | KWの順位をそのまま平均した値 |
| 平均順位(加重) | 表示回数で重み付けした平均順位 |
| Top3内KW数 | 掲載順位が3位以内のKWの数 |
| Top10内KW数 | 掲載順位が10位以内のKWの数 |
| 順位10以下KW数 | 掲載順位が11位以下のKWの数 |
「単純平均」と「加重平均」の違い
このシートには2つの平均順位があります。違いを具体例で説明します。
ある県に以下の2つのKWがあったとします。
- 「東京 加工」:順位2.0、表示回数5,000
- 「東京 サービス」:順位30.0、表示回数10
単純平均 = (2 + 30) ÷ 2 = 16.0
加重平均 = (2×5,000 + 30×10) ÷ (5,000 + 10) = 2.06
単純平均だと「16位で微妙」に見えますが、実際にはユーザーの大半が見ているのは順位2位の「東京 加工」です。加重平均の2.06のほうが、実態に近い数字です。
このシートの活用ポイント
- KW数が多い都道府県 → 既に強いポジション。維持しつつ他地域に横展開
- Top3内が多い都道府県 → 検索結果の最上部を獲得できている
- 順位10以下が多い都道府県 → 2ページ目以降に沈んでいるKWが多い。コンテンツ改善の余地あり
- KW数が0の都道府県 → その地域向けのコンテンツが存在しない
3. 地方別分析 ― エリア戦略の大枠を検討
47都道府県のデータを7つの地方ブロックに集約した分析です。細かい都道府県単位ではなく、「どのエリアが強い/弱い」をざっくり把握するのに適しています。
| 地方 | 含まれる都道府県 |
|---|---|
| 北海道・東北 | 北海道、青森、岩手、宮城、秋田、山形、福島 |
| 関東 | 茨城、栃木、群馬、埼玉、千葉、東京、神奈川 |
| 中部 | 新潟、富山、石川、福井、山梨、長野、岐阜、静岡、愛知 |
| 近畿 | 三重、滋賀、京都、大阪、兵庫、奈良、和歌山 |
| 中国 | 鳥取、島根、岡山、広島、山口 |
| 四国 | 徳島、香川、愛媛、高知 |
| 九州・沖縄 | 福岡、佐賀、長崎、熊本、大分、宮崎、鹿児島、沖縄 |
「含まれる都道府県」列には、その地方内でKWが1件以上ある県名が表示されます。地方の中でもカバーにムラがないかを確認できます。
4. 地域KW一覧 ― マッチング結果を1件ずつ確認
地域名を含むと判定された全キーワードの詳細一覧です。クリック数の多い順にソートされています。
| カラム | 説明 |
|---|---|
| クエリ | 検索キーワード |
| クリック数 | クリック回数 |
| 表示回数 | 表示回数 |
| CTR | クリック率 |
| 掲載順位 | 平均掲載順位 |
| 該当都道府県 | マッチした都道府県名 |
| マッチキーワード | 判定に使われた地名(県名、市名など) |
このシートは「マッチング精度の検証」にも使います。
スクリプトは47都道府県名に加え、200以上の主要都市名を辞書として持っています。例えば「横浜 加工」というクエリは、「横浜」を手がかりに神奈川県に分類されます。
ただし、辞書ベースのマッチングには誤判定の可能性もあります。例えば「日立製作所」が茨城県の「日立市」としてマッチする場合があります。マッチキーワード列を確認して、意図しないマッチがないかチェックしてください。
5. チャンスKW ― 改善効果が最も高いキーワードを自動発見
地域SEO改善の優先順位を決めるための、最も実践的なシートです。
「表示回数は多いのに順位が低い」キーワード、つまり検索需要はあるがコンテンツが弱いキーワードを自動で抽出します。
抽出される条件
以下の両方を満たすキーワードが抽出されます。
- 掲載順位が 11位以下(検索結果の2ページ目以降)
- 表示回数が 10回以上(一定の検索需要がある)
チャンススコアの計算
各キーワードには「チャンススコア」が付与されます。
チャンススコア = 表示回数 ×(現在の順位 − 3)
目標順位を3位と設定し、現在の順位からの改善幅と表示回数を掛け合わせた値です。スコアが高いキーワードほど、改善した場合のリターンが大きいことを意味します。
具体例
| クエリ | 表示回数 | 順位 | スコア | 解釈 |
|---|---|---|---|---|
| 「東京 加工」 | 500 | 15.0 | 6,000 | 需要が大きく順位改善余地も大きい→最優先 |
| 「大阪 切断」 | 100 | 25.0 | 2,200 | 需要は中程度だが順位が低い |
| 「福岡 加工」 | 20 | 12.0 | 180 | 需要は小さく順位もやや低い |
スコア上位から順に対策することで、限られたリソースで最大の効果を狙えます。
対策の例としては、該当地域の専用ページ作成、既存ページへの地域情報追加、内部リンクの強化などがあります。
6. 低CTR改善KW ― タイトル・ディスクリプション改善のヒント
「順位は良いのにクリックされていない」キーワードを抽出します。
順位が上位にあるということは、Googleからはコンテンツが評価されています。にもかかわらずクリックされないのは、検索結果に表示されるタイトルやディスクリプションがユーザーの期待と合っていない可能性があります。
判定の仕組み:CTRベンチマーク
掲載順位ごとに「このくらいのCTRが平均的」というベンチマーク値を設定しています。
| 順位 | 期待CTR(業界平均目安) |
|---|---|
| 1位 | 30% |
| 2位 | 15% |
| 3位 | 10% |
| 4〜5位 | 5% |
| 6〜10位 | 2% |
実際のCTRがこのベンチマークより2%以上低い場合にリストアップされます。
出力カラム
| カラム | 説明 |
|---|---|
| クエリ | キーワード |
| クリック数 | クリック回数 |
| 表示回数 | 表示回数 |
| CTR | 実際のCTR |
| 掲載順位 | 平均順位 |
| 地域KW | 地域キーワードかどうか(はい/いいえ) |
| 都道府県 | 地域KWの場合の該当都道府県 |
| 想定CTRとの差 | 実際CTR − 期待CTR(マイナスが大きいほど改善余地大) |
改善のアクション例
- タイトルタグにキーワードや地域名を明確に含める
- メタディスクリプションに具体的なメリットや数値を入れる
- 構造化データを追加してリッチリザルトを狙う
このシートの対策はコンテンツの書き直しが不要で、タイトルとディスクリプションの修正だけで済むため、即効性が高いのが特徴です。
補足: このシートには地域KW以外のキーワードも含まれます。「地域KW」列が「はい」のものが地域系のキーワードです。
7. 未カバー地域 ― コンテンツが足りない地域を一目で把握
47都道府県のカバー状況を一覧にしたシートです。新規コンテンツを作るべき地域を見つけるために使います。
ステータスと色分け
| ステータス | 条件 | 背景色 | 意味 |
|---|---|---|---|
| 未カバー | KW数 = 0 | 赤 | その地域のKWが1つもない |
| 手薄 | KW数 = 1〜2 | オレンジ | KWはわずかにあるが不十分 |
| カバー済 | KW数 = 3以上 | なし(白) | ある程度カバーできている |
赤い行とオレンジの行が、対策が必要な都道府県です。
活用のポイント
- 未カバー地域が自社のサービスエリア内にある場合:その地域向けの専用ページ作成を最優先で検討
- 同じ地方内に未カバーと手薄が混在する場合:既にカバーしている近隣県のページを参考に横展開するのが効率的
- カバー済でもKW数が少ない場合:「都道府県別分析」シートで順位を確認し、既存コンテンツの強化を検討
8. 順位帯別分布 ― 各地域の検索順位の全体感を把握
各都道府県のキーワードがどの順位帯に何件あるかをクロス集計したシートです。KWが1件以上ある都道府県のみが表示され、合計の多い順にソートされています。
順位帯の定義
| 順位帯 | 意味 |
|---|---|
| 1〜3位 | 検索結果のトップ。最もクリックされやすいゾーン |
| 4〜10位 | 検索結果の1ページ目。ユーザーの目に留まる |
| 11〜20位 | 2ページ目。ほとんどクリックされないが、少しの改善で1ページ目に入れる可能性がある |
| 21〜50位 | 3〜5ページ目。大幅な改善が必要 |
| 51位以下 | ほぼ見られない。コンテンツの根本的な見直しが必要 |
注目すべきポイント
「11〜20位」のKWが多い都道府県は、最も費用対効果の高い改善対象です。 あと少し順位を上げるだけで検索結果の1ページ目に表示され、クリック率が大幅に向上します。
一方、「1〜3位」が多い都道府県は既に強いため、順位の維持(コンテンツの定期更新、被リンクの確認など)に注力しましょう。
9. 地域×サービス マトリクス ― サービス軸で手薄な地域を発見
都道府県とサービスキーワードの組み合わせをマトリクス形式で表示するシートです。
このシートは、設定シートでサービスキーワードを登録した場合のみ出力されます(設定方法は後述)。
セルの色分け
| 色 | 条件 | 意味 |
|---|---|---|
| 濃い緑 | 3件以上 | しっかりカバーされている |
| 薄い緑 | 1〜2件 | 存在するが手薄 |
| グレー | 0件 | 未カバー |
読み方
- 行方向(横)に見る:ある都道府県がどのサービスをカバーしているか
- 列方向(縦)に見る:あるサービスがどの都道府県をカバーしているか
- グレーのセル:その「地域×サービス」の組み合わせのコンテンツが不足
例えば、「大阪 × ウォータージェット」のセルがグレー(0件)なら、大阪エリアでウォータージェット関連のコンテンツが検索にヒットしていないということです。そのエリアが営業対象であれば、大阪向けの専用ページや事例紹介を作成する価値があります。
設定シートの使い方(地域×サービス分析用)
「地域×サービス」マトリクスを使うには、あらかじめサービスキーワードの登録が必要です。
手順
- メニュー「地域KW分析」→「設定シートを作成」をクリック
- 「設定」シートが作られるので、「サービスキーワード」の下に自社のキーワードを1行1件で入力
- 区切りの
---行はそのまま残す - 再度「分析を実行」すると、マトリクスシートが追加される
設定の例
サービスキーワード
ウォータージェット
加工
切断
研磨
コーティング
---
キーワードは部分一致で判定されます。例えば「加工」を登録すると、「ウォータージェット加工」「レーザー加工」なども含む検索クエリがカウントされます。
逆に、「の」や「する」のような広すぎるキーワードを登録すると、ほぼ全件がマッチしてしまうので避けてください。
分析結果を活用する5つのステップ
分析結果を眺めるだけでは意味がありません。以下の5ステップで、具体的なアクションにつなげましょう。
ステップ1:現状を把握する
「サマリー」シートで全体像を確認します。
- 地域KW比率は何%か?
- 47都道府県のうち何県をカバーできているか?
- 地域KWの平均順位は全体と比べてどうか?
ステップ2:強い地域と弱い地域を特定する
「都道府県別分析」と「未カバー地域」を見て、地域ごとの強弱を把握します。
- Top3にKWが多い県 = 強い地域(維持・横展開)
- KWが0件の県 = 対応が必要(新規コンテンツ)
- 赤(未カバー)とオレンジ(手薄)の県 = 優先対応
ステップ3:改善の優先順位を決める
「チャンスKW」のスコア上位から対応します。
スコアが高い=「検索需要がある」かつ「現状は順位が低い」キーワードです。改善した場合のリターンが最も大きいものから取り組むのが効率的です。
次に「低CTR改善KW」で、タイトル・ディスクリプションの改善候補を確認します。こちらはコンテンツ自体の変更が不要で、メタ情報の修正だけで効果が出るため即効性があります。
ステップ4:新規コンテンツを計画する
「未カバー地域」と「地域×サービス」マトリクスを組み合わせて、どの「地域×サービス」のページを作るべきかを決めます。
グレー(0件)のセルがビジネスの対象エリアであれば、そこが新規コンテンツの優先対象です。
ステップ5:定期的に計測する
月1回または四半期ごとにGSCデータをエクスポートし、同じ分析を実行します。
- カバー率は増えたか?
- チャンスKWの順位は改善したか?
- 新しく未カバーから手薄→カバー済に変わった地域はあるか?
継続的に追跡することで、施策の効果を数字で検証できます。
注意事項
データの制限について
- GSC標準のエクスポートは上位1,000件までです。1,000件以上のデータが必要な場合は、Search Analytics for Sheetsなどの外部アドオンを使ってください。スクリプトは件数に制限を設けていないので、1,000件を超えても正常に動作します。
- 分析対象はエクスポート時に設定した期間のデータのみです。期間が短すぎると表示回数が少なくなり、統計的に偏りが出る場合があります。過去3ヶ月以上を推奨します。
マッチングの精度について
- スクリプトは47都道府県名+200以上の主要都市名を辞書として持ち、クエリ内に含まれるかを判定しています。
- 例えば「横浜 加工」→ 神奈川県、「博多 ラーメン」→ 福岡県のように、市名からも都道府県を特定します。
- ただし、「日立」(茨城県の日立市 vs 日立製作所)のように、地名以外の意味でも使われる文字列が誤判定されることがあります。「地域KW一覧」のマッチキーワード列で結果を確認してください。
- 辞書は
Code.gs内のPREFECTURE_DICTを直接編集することでカスタマイズできます。自社に関係する市区町村名を追加したり、誤判定の原因になる地名を削除したりできます。
日本語・英語の両対応
GSCを英語モードで使っている場合、シート名が「Queries」、ヘッダーが「Top queries」「Clicks」「Impressions」「CTR」「Position」になります。このスクリプトは日本語・英語どちらのヘッダーにも対応しているので、言語設定を気にせずそのまま使えます。
まとめ
地域SEOの改善は、まず「現状の可視化」から始まります。
このスクリプトを使えば、GSCのデータから地域キーワードの全体像をボタン1つで把握でき、以下のことが分かります。
- 全キーワードに占める地域キーワードの割合
- 47都道府県それぞれの検索パフォーマンス
- 改善すべきキーワードの優先順位
- コンテンツが不足している地域
- サービス×地域の組み合わせで手薄な領域
定期的にデータをエクスポートして分析を回すことで、施策の効果を数字で追跡し、次のアクションを決めるサイクルを回せます。
ぜひ試してみてください。





