- 検索にローカルな意図があると、Googleはローカルパックだけでなく、検索結果全体を都市ごとに変えます。
- geolocationパラメータ(都市、地域、国)で、特定の街から見たSERPを再現できます。
- ローカルSEOを大規模に追跡するなら、キーワードと都市を掛け合わせ、モバイルで収集します。多くの場合、取得は1ページで十分です。
SERPが地点によって変わる理由
Googleは、クエリにローカルな意図があると、検索ユーザーの位置に合わせて結果を変えます。「水道修理」「レストラン」「自動車修理」だけでなく、「火災保険」や「離婚 弁護士」も同様です。違いは、地図と3つの店舗が表示されるブロック、つまりローカルパックだけにとどまりません。自然検索結果も変わります。地域のポータルサイト、支店ページ、地域のニュースなどです。
その直接的な結果として、正確な地点を指定せずに、あるいは別の場所にあるサーバーから収集したSERPは、あなたの顧客の誰も見ていないものになります。
位置指定の3つのレベル
- 国:問い合わせるGoogleのバージョン(google.co.jp、google.com、google.co.uk…)と言語です。最低限の設定で、ローカルな意図のない検索ならこれで十分です。
- 都市:特定の街にいる検索ユーザーが見るSERPです。ローカルSEOや、支店・店舗網を持つ企業に適したレベルです。
- デバイス:モバイルでは位置の影響がさらに大きく、ローカルパックが画面に占める割合も大きくなります。
APIで地域別SERPを取得する
SemscraperのGoogle検索APIでは、3つのパラメータで足ります。Googleのバージョンを指定するlocation、言語を指定するlanguage、そして都市を「都市, 地域, 国」の形でカンマ区切りで指定するgeolocationです。地区や商業エリアなど正確な地点を狙う場合、geolocationはGPS座標も受け付けます:43.7102,7.2620。
[
{"search_engine": "google_search", "keyword": "水道修理", "device": "mobile", "location": "jp", "language": "ja", "depth": 1, "geolocation": "Shibuya, Tokyo, Japan"},
{"search_engine": "google_search", "keyword": "水道修理", "device": "mobile", "location": "jp", "language": "ja", "depth": 1, "geolocation": "Osaka, Osaka, Japan"}
]2つのSERPはブロックごとに、各結果の順位とピクセル位置付きで返されます。ローカルパックは各店舗の評価、口コミ数、価格帯とともに返されます。
同じパラメータはGoogleマップAPIにもあり、特定の都市でのマップ検索の店舗一覧をまるごと収集できます。GPS座標を使う場合は、任意でズームレベルを追加できます:43.7102,7.2620,16z。
ローカルSEOを大規模に追跡する
店舗網を持つ企業の場合、定番の方法はキーワードのリストと都市のリストを掛け合わせることです。50キーワード×40都市なら、1回のスナップショットで2,000 SERPです。いくつかのポイントを挙げます。
- 拠点のある都市を選び、比較のために拠点のない都市を2〜3つ加えて差を計測します。
- モバイルで収集します。ローカル検索の主なデバイスだからです。
- 取得は通常1ページで十分です。ローカルでは、重要なことはローカルパックと上位の結果で起きています。
- 都市ごとにピクセル位置を比べます。ローカルパックが上にあったり件数が多かったりすると、自然検索結果は押し下げられます。
1ページ目が1,000 SERPあたり€0.30なので、2,000 SERPのスナップショットは€0.60です。
知っておきたい限界
位置指定で再現できるのは、その都市にいて、検索履歴もGoogleアカウントもない検索ユーザーのSERPです。個人の履歴に基づくパーソナライズされた結果は、定義上再現できません。また、ローカルSERPは全国規模のSERPより変化が速いものです。競合の開業、新しい口コミ、営業時間の変更などがあります。まずは週1回のスナップショットから始めるのがよいでしょう。
最後に、2026年5月以降、リクエストが国外のIPアドレスから送られる場合、glパラメータだけでは国を確実に指定できなくなっています。理由はGoogleの地域ターゲティング:glパラメータだけではもう不十分な理由で解説しています。
