seo-maps について
seo-mapsは、地図プラットフォーム上での事業者の掲載状況を調べるローカルSEOスキルです。無料APIの確認からDataForSEO、Google Maps Platformを使う分析まで扱います。
主な機能
- 01プラットフォーム間のNAP照合
- 02地域の競合マッピング
- 03地域グリッド順位追跡
- 04GBPとレビューの監査
- 05LocalBusiness JSON-LD生成
活用シーン
- 01地図サービス間の事業者情報の比較
- 02地点ごとのローカル順位変動の測定
- 03一定範囲内の競合状況の分析
MCP 対応
利用可能なDataForSEO MCPツールを検出して分析機能を選び、事業者リスト、Maps SERP、レビューのデータを利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agricidaniel/ codex-seo --skill seo-mapsインストール後、Claude Code で/seo-mapsを入力して読み込まれたか確認します。
同梱ファイルLICENSE.txt
詳細
Maps Intelligence(2026年3月)
共有データキャッシュ
ステップ 0 -- 共有データキャッシュを確認します:
情報を収集する前に、関連する SEO スキルから再利用できるコンテキストがないか、.seo-cache/ を確認します。
スキーマと依存関係マップについては、../seo/references/shared-data-cache.md を参照してください。
次のキャッシュファイルが存在する場合は確認します:
-
.seo-cache/site-meta.json:ドメイン、ビジネスタイプ、業界、クロールのコンテキスト -
.seo-cache/audit-scores.json:過去の全体監査での優先事項 -
.seo-cache/pages/{url-slug}/page-analysis.json:URL が指定されている場合のページレベルのコンテキスト -
見つかった場合:明らかに有効なフィールドを解析して使用します(「キャッシュされた[X]を[日付]から使用」と記録します)
-
見つからない、破損している、または関連性がない場合:新たな根拠に基づいて続行します
-
ユーザーが「refresh」または「re-run」と指示した場合:キャッシュの読み込みを無視し、書き込み時に上書きします
地域ビジネス向けのマッププラットフォーム分析です。外部 API を使って、Google マップ、Bing Places、Apple Maps、OpenStreetMap 上でのビジネスの表示状況を評価します。
seo-local との境界: このスキルは API を介してマッププラットフォーム上のビジネスを分析します。seo-local は HTML の取得を介してウェブサイト上のローカル SEO シグナルを分析します。seo-local のオンページ分析を重複して行わないでください。ウェブサイトレベルの確認には /seo local <url> を推奨してください。
クイックリファレンス
| コマンド | 内容 | ティア |
|---|---|---|
/seo maps <url> | マップ掲載状況の全体監査(ティアを自動選択) | 0+ |
/seo maps grid <keyword> <location> | 地理グリッド順位スキャン(7x7、デフォルトはキーワード 1 件) | 1+ |
/seo maps reviews <business> <location> | プラットフォーム横断のレビュー分析 | 1+ |
/seo maps competitors <keyword> <location> | 競合の範囲マッピング | 0+ |
/seo maps nap <business-name> | プラットフォーム横断の NAP 確認 | 0+ |
/seo maps schema <business-name> | データから LocalBusiness JSON-LD を生成 | 0+ |
/seo maps gbp <business> <location> | GBP の充実度監査 | 1+ |
3 段階の機能検出
分析を行う前に、利用可能な機能ティアを検出します:
ティア 0(無料)
検出方法: DataForSEO MCP ツールが利用できません。
機能: Overpass API による競合の検出、Geoapify による POI 検索、Nominatim によるジオコーディング、静的な GBP チェックリスト、スキーマ生成、プラットフォーム横断の NAP ガイダンス。
読み込み: references/maps-free-apis.md
ティア 1(DataForSEO)
検出方法: business_data_business_listings_search MCP ツールが利用できます。
機能: ティア 0 のすべてに加え、地理グリッド順位追跡、リアルタイム GBP プロフィール監査、レビュー分析(投稿頻度、センチメント、分布)、GBP 投稿のアクティビティ、Q&A データ、Tripadvisor/Trustpilot のレビュー。
読み込み: references/maps-api-endpoints.md
ティア 2(DataForSEO + Google Maps Platform)
検出方法: ティア 1 が利用可能で、環境に Google Maps API キーが設定されています。
機能: ティア 1 のすべてに加え、Google Places の詳細情報、ビジネスのリアルタイム状況、AI による場所の要約、写真分析。
注記: Google の利用規約では、保存できるのは place_id のみです。緯度/経度のキャッシュ期間は最大 30 日です。
分析の開始時に、検出されたティアを必ずユーザーに伝えてください。
地理グリッド順位追跡(ティア 1 以上)
複数の GPS 座標から Google マップ検索をシミュレートし、地理的な範囲内での順位の変動を表示します。DataForSEO が必要です。
読み込み: アルゴリズム、SoLV の計算式、ヒートマップ形式については references/maps-geo-grid.md を読み込みます。
読み込み: Maps SERP エンドポイントの詳細については references/maps-api-endpoints.md を読み込みます。
ワークフロー
- ビジネスの住所をジオコーディングして中心の緯度/経度を取得します
- Haversine オフセット計算式を使ってグリッドポイントを生成します(デフォルト:7x7、半径 5km)
- 続行する前に、費用の見積もりを表示して確認を求めます
- 各グリッドポイントの
location_coordinateを指定して、DataForSEO Maps SERP API を呼び出します - 各ポイントで対象ビジネスの順位を確認します
- SoLV を計算します:
(top_3_count / total_points) * 100 - 出力に ASCII ヒートマップを表示します
費用の警告(必須)
各地理グリッドスキャンの前に、次を表示してください:
Geo-Grid Scan: [keyword] at [location]
Grid: 7x7 (49 points) | Keywords: [N] | Est. cost: $[amount]
DataForSEO credits will be consumed. Proceed?
GBP プロフィール監査(Tier 1 推奨、Tier 0 は手動)
Google ビジネス プロフィールの品質とランキングに影響する25項目を監査します。
読み込み: 完全なチェックリストと採点方法については、references/maps-gbp-checklist.md を参照してください。
Tier 1 ワークフロー
- DataForSEO My Business Info API を使ってビジネスプロフィールを取得します(キーワードまたは CID)
- API のレスポンスフィールドを25項目のチェックリストに対応付けます
- 各項目を採点します:登録済み+最適化済み = 2点、登録済み = 1点、未登録 = 0点
- 業種別の重み係数を適用します
- 0~100のスケールに正規化します
Tier 0 ワークフロー
- WebFetch を使ってビジネスのウェブサイトを取得します
- 視認できる GBP の兆候(マップの埋め込み、場所への言及、レビューウィジェット)を抽出します
- 検出可能な兆候に基づいて静的チェックリストを適用します
- 検出できない項目には「不明(ライブデータには DataForSEO が必要)」と記載します
レビューインテリジェンス(Tier 1 以上)
複数プラットフォームのレビューを分析します:投稿頻度、感情、評価分布、不正レビューの検出。
参照: ベンチマークについては references/local-seo-signals.md を参照してください(seo-local と共有)。
ワークフロー
- DataForSEO Reviews API を使って Google のレビューを取得します(新しい順に並べ替え)
- レビュー投稿頻度を計算します:過去6か月間の月あたりのレビュー数
- 18日ルール(Sterling Sky)を確認します:3週間の空白がある場合はランキングリスクです
- 評価分布を分析します:健全な分布は、5つ星に偏った釣鐘型です
- オーナーの返信率を計算します:返信数 / レビュー総数
- Tripadvisor と Trustpilot のレビューを取得します(利用可能な場合)
- プラットフォーム間の比較表を作成します
不正レビューの検出シグナル
次のパターンのうち2つ以上に該当するレビューにフラグを付けます:
- 投稿時期が均一(同じ日または時間帯に複数のレビュー)
- レビュー投稿者のアカウントの履歴が少ない、またはレビューが1件のみ
- 地理的な不整合(レビュー投稿者の所在地とビジネスの所在地の相違)
- 過去の基準値に対して、5つ星レビューだけが急増
- レビュー間でテキストが同一、または酷似
- 対応するマーケティング活動がないのに投稿数が突然急増
競合半径マッピング(Tier 0 以上)
指定した半径内の競合を特定して分析します。
Tier 0(Overpass API)
読み込み: クエリテンプレートについては references/maps-free-apis.md を参照してください。
- ビジネスの住所をジオコーディングします
- Overpass API に問い合わせ、半径内で同じ OSM タグを持つビジネスを検索します
- 結果を解析します:名称、住所、電話番号、ウェブサイト、中心点からの距離
- 距離順に並べ、競合状況の表として提示します
Tier 1(DataForSEO)
- ビジネスのキーワードと所在地を使って Maps SERP API を利用します
- 詳細なプロフィールデータとともに上位20件の競合を抽出します
- 評価、レビュー数、カテゴリ、写真、属性を比較します
- 競合密度スコアを計算します:競合数 / km^2
プラットフォーム間のNAP検証(Tier 0 以上)
Google、Bing Places、Apple、OSM におけるビジネスリスティングの一貫性を確認します。
ワークフロー
- 各プラットフォームでビジネス名を検索します:
- Google:GBP データまたは Maps SERP の結果から推定します
- Bing:
WebFetch https://www.bing.com/maps?q=BUSINESS+NAME+LOCATION - Apple:手動で確認します(公開 API はありません。businessconnect.apple.com の Apple Business Connect を推奨します)
- OSM:Overpass または Nominatim で検索します
- 各情報源から NAP(名称、住所、電話番号)を抽出します
- 一貫性を比較します:完全一致、一部一致、欠落、または矛盾
- 不一致にフラグを付けます:重大(名称の不一致)、高(住所の不一致)、中(電話番号の不一致)
- 未登録のプロフィールのオーナー登録を推奨します
スキーマ生成(Tier 0 以上)
収集したデータから LocalBusiness JSON-LD マークアップを生成します。
参照: 業種別のサブタイプについては references/local-schema-types.md を参照してください(seo-local と共有)。
ワークフロー
- 業界に最も適したスキーマのサブタイプを特定します
- 必須プロパティを設定します:
@type、name、address、image - 推奨プロパティを追加します:
telephone、url、geo、openingHoursSpecification、priceRange - 複数拠点向けの戦略的なプロパティを追加します:
branchOf、areaServed、sameAs - レビューデータがある場合は
aggregateRatingを追加します - 実装にそのまま使える有効な JSON-LD ブロックを出力します
自社に都合のよいレビューのマークアップは生成しないでください。Google は、事業者自身が作成した LocalBusiness のレビューのマークアップを無視します。ページに表示されている第三者のレビューのみをマークアップしてください。
参照ファイル
必要に応じてオンデマンドで読み込みます(起動時にすべて読み込まないでください)。
references/maps-api-endpoints.md:DataForSEO のエンドポイントの詳細、パラメーター、コストreferences/maps-free-apis.md:Overpass、Geoapify、Nominatim のクエリテンプレートreferences/maps-geo-grid.md:グリッドアルゴリズム、SoLV の計算式、ヒートマップのレンダリングreferences/maps-gbp-checklist.md:業界ごとの重み付けを含む 25 項目の GBP 監査references/local-seo-signals.md:ランキング要因、レビューのベンチマーク(共通)references/local-schema-types.md:業界別の LocalBusiness サブタイプ(共通)
出力
以下を含む MAPS-ANALYSIS-{domain}.md を生成します。
- Maps Health Score: XX/100 と各指標の内訳表
- 検出された機能ティア(Tier 0 または Tier 1)と利用可能な機能の説明
- ジオグリッドのヒートマップ(Tier 1):SoLV の割合と平均順位を含む ASCII グリッド
- GBP プロフィール監査:業界固有の重み付けによるフィールドごとの採点
- レビューインテリジェンス:推移グラフ、評価の分布、返信率、プラットフォーム間の比較
- 競合状況:半径内の件数、評価とレビュー数に基づく上位 5 件、競合の密度
- プラットフォーム間の掲載状況:Google/Bing/Apple/OSM への掲載ステータス
- スキーマの推奨事項:LocalBusiness の JSON-LD を生成します(不足または不完全な場合)
- 優先順位を付けた上位 10 件のアクション(Critical > High > Medium > Low)
- コストレポート:分析中に消費した DataForSEO クレジット(Tier 1 のみ)
- 制限事項に関する免責事項:現在のティアでは評価できなかった項目
スキル間の委任
- ウェブサイトのオンページにおけるローカルシグナル:
/seo local <url>を推奨します - AI 検索での可視性の全体分析:
/seo geo <url>を推奨します - スキーマの検証と修正:
/seo schema <url>を推奨します - ライブ SERP とキーワードのデータ:
/seo dataforseo [command]を推奨します
エラー処理
| 状況 | 対応 |
|---|---|
| DataForSEO MCP が利用できない | Tier 0 に切り替えます。ユーザーに「DataForSEO が検出されませんでした。無料ティアで分析を実行します。ジオグリッドの追跡とレビューインテリジェンスを利用するには、DataForSEO 拡張機能をインストールしてください。」と伝えます。 |
| Maps SERP で事業者が見つからない | キーワードを指定して My Business Info を試します。それでも見つからない場合は、「この場所の Google Maps で事業者が見つかりませんでした。」と報告します。 |
| ジオコーディングに失敗する(Nominatim) | 座標または、より詳細な住所をユーザーに求めます。 |
| API のレート制限に達した | 制限を報告します。待機するか、ライブ方式ではなく標準(キュー)方式を使用するよう提案します。 |
| レビューが見つからない | レビューがゼロであることを報告します。18 日間隔を目標とするレビュー獲得戦略を推奨します。 |
| 複数拠点が検出された | 分析する拠点をユーザーに確認するか、拠点ごとのコスト見積もりを添えて一括モードを提案します。 |
共有データキャッシュへの書き込み
すべての作業が完了した後、ワークフローによって再利用可能な調査結果が得られた場合は、簡潔な JSON の要約を .seo-cache/ に書き込みます。
../seo/references/shared-data-cache.md のスキーマと命名規則を使用し、少なくとも cache_type、analyzed_at、ソース URL/ドメイン、主な調査結果、問題点、推奨事項、ツールの制限事項を含めます。.gitignore に .seo-cache/ がない場合は追加します。