auto-geo
公式AI可視性のためのGEO最適化コンテンツ公開エンジン
Auto Geo MCPで何ができますか?
- 引用準備態勢の監査 — 任意のURLに対して
doctorを実行し、JSON-LD、エンティティ密度、質問形式のH2など8つのチェック項目でGEO体制をスコアリングします。 - 最適化ページの生成 — ターゲットクエリを指定して
writeを使用し、完全なGEOアーキテクチャに従った検証済みの公開準備が整ったJSONページを生成します。 - 既存コンテンツの書き換え — 任意のページに
fixを適用して、8つの監査チェックをすべて通過するGEO最適化済みの書き換えを取得します。 - 引用カバレッジの追跡 — 実際のAIエンジン(Perplexity、OpenAI、Geminiなど)に対して
checkを実行し、追跡中のプロンプトで自社ドメインが実際に引用されているかを確認します。 - 経時的なトレンドの監視 —
historyを使用して、実行ごとのカバレッジの変化を表示します。エンジンごとに新たに引用されたプロンプトや失われたプロンプトも含まれます。 - 追跡プロンプトの管理 —
promptsでプロンプトの追加、一覧表示、削除を行います。またはprompts discoverを使用して、LLMに競合すべき高意図クエリを提案させます。
ドキュメント
auto-geo
ChatGPT、Claude、Gemini、Perplexity、Grokであなたのブランドが言及されるようにする、オープンソースのGEOエンジン。
大規模言語モデルが引用するページを監査・生成・修正・追跡 — 1つのCLI、ファイルベース、MITライセンス。
誰かがChatGPT、Perplexity、Claude、Gemini、またはGoogle AI Overviewsに、あなたのビジネスが答えるべき質問をしたとき、それらのエンジンはあなたのドメインを引用するでしょうか? auto-geoは、それを実現し、実際に実現していることを証明するための完全なループです:
auto-geo init # set up the system once
auto-geo doctor # audit any page for citation readiness
auto-geo write # generate publish-ready pages from target queries
auto-geo fix # rewrite an existing page so it passes the audit
auto-geo check # measure: do AI engines actually cite you?
auto-geo history # track citation coverage over time
すべてがファイルベースでコミット可能 — 追跡されたプロンプト、チェック履歴、設定。サーバー不要、アカウント不要、データベース不要。インストールするだけです:
npm i -g auto-geo
Shadow によって構築 — OpenAI、TikTok、Meta、Amazon、Lovableを世に送り出したチームと提携し、次世代のAI搭載メディアインテリジェンスおよびコミュニケーションテクノロジーを開発するメディアリサーチラボ。Shadowは
auto-geoを使用してshadow.inc/resourcesに公開しています。
目次
- クイックスタート
- GEOとは?
- ワークフロー
auto-geo init— システムのセットアップauto-geo doctor— 引用対応度のページ監査auto-geo write— クエリからのページ生成auto-geo fix— 引用対応度のページ書き換えauto-geo prompts— 追跡プロンプトの管理auto-geo check— 実際の引用カバレッジの測定auto-geo history— 経時的な引用カバレッジ- 設定
- ページアーキテクチャ
- エージェント向け出力
- LLMフレンドリー
- コントリビューション
- ライセンス
クイックスタート
# 0. Install once (or run any command one-shot via \`npx auto-geo@latest\`)
npm i -g auto-geo
# 1. Set up — config, .env.local key slots, and the .auto-geo workspace
auto-geo init
# 2. Add an API key to .env.local (auto-loaded by every command)
# 3. Audit any page — yours or a competitor's
auto-geo doctor https://example.com/some-page
# 4. Track the prompts you want AI engines to cite you for
auto-geo prompts add "best media monitoring tools" "what is GEO"
# 5. Measure — every run is saved to history automatically
auto-geo check
# 6. Watch coverage move over time
auto-geo history
Node >=18.17が必要です。後からのアップグレードはnpm i -g auto-geo@latestです。他の導入方法:
brew install shadowresearch/tap/auto-geo # Homebrew (macOS / Linux)
mise use -g npm:auto-geo # mise
macOS、Linux、Windows用のスタンドアロン実行ファイル(Node不要)は、各リリースに同梱されています。
GEOとは?
ジェネレーティブエンジン最適化(Generative Engine Optimization) は、AI検索エンジンが質問に答える際に引用するページを、あなたのページにするための手法です。SEOの後継であり、リンクのリストで順位を競う代わりに、回答内で引用されることを競います。
勝つページはブログ記事ではありません。実証研究は、引用確率を特定の形状に結び付けています:
- 散文ではなくアーキテクチャ。 名前付きの検証済みブロック — TL;DR、イントロ、質問形式のH2セクション、関連ガイド、キーテイクアウェイ、FAQ、開示。AIエンジンは構造化されたチャンクを抽出します。厳格な構造は抽出精度を向上させます。
- 回答ファースト。 各セクションは、サポート段落の前にセクションの質問に完全に答える40〜60語の「回答カプセル」で始まります。
- 質問形式の見出し。 H2は、ユーザーがAIエンジンに実際に尋ねる質問として書かれます。
- エンティティ密度が高い。 名前付きエンティティ(企業、人物、製品)を高密度で配置 — 引用確率の約4.8倍の向上にリンク。
- スキーマ由来。 Article + FAQPage JSON-LDは、手書きではなく構造から生成されます。
auto-geoは、この形状を厳格なスキーマにエンコードし(docs/sop.md — 完全な標準運用手順を参照)、任意のURLをそれに対して監査し、それに準拠する新しいページを生成し、エンジンが実際にあなたを引用しているかを測定してループを閉じます。
ワークフロー
┌──────────────────────────────────────────────────────┐
│ auto-geo init │
│ config · .env.local · .auto-geo/ workspace │
└──────────────────────────────────────────────────────┘
│
┌──────────┼──────────────┬─────────────────┐
▼ ▼ ▼ ▼
doctor write fix prompts
audit a generate rewrite an track the queries
page new pages existing page that matter to you
│ │ │ │
└──────────┴──────────────┴────────┬────────┘
▼
check ──── saves every run ────┐
measure actual ▼
citations history
coverage over time,
newly cited / lost
doctorは準備度(このページは引用される形になっているか?)を測定します。checkは成果(実際に引用されているか?)を測定します。historyは成果をトレンドラインに変換します。
auto-geo init — システムのセットアップ
auto-geo init # interactive (a handful of questions)
auto-geo init --yes # non-interactive template
1つのコマンドですべてをスキャフォールドします:
| ファイル | 説明 |
|---|---|
auto-geo.config.json | デフォルト設定 — ドメイン、プロバイダー、モデル、著者。コミット可能。シークレットは保持しません。 |
.env.local | APIキースロット。すべてのコマンドで自動ロード。Gitignoreしてください。 |
.auto-geo/prompts.txt | 追跡プロンプト — 1行に1つ、#コメント許可。 |
.auto-geo/checks/ | すべてのcheck実行をJSONとして保存。historyの背後にあるデータ。 |
インタラクティブフローは、追跡したいプロンプトを尋ねて終了するため、新しいプロジェクトは1回のセッションでゼロから測定可能な引用ベースラインに到達します。initは既存の.env.localを上書きせず、--forceなしでは既存の設定を上書きすることを拒否します。
auto-geo doctor — 引用対応度のページ監査
任意のURL(自分のもの、競合他社のもの、サイトマップ内のすべてのページ)で実行すると、AIエンジンが求める引用シグナルに関する構造化レポートが得られます。
auto-geo doctor https://example.com/some-page
✓ TL;DR present (52 words, in range)
✗ Question-format H2 headings (2 of 6 are question-format; SOP §3 targets all)
✓ Article JSON-LD present
✗ FAQPage JSON-LD present (No FAQPage JSON-LD block detected)
✓ Entity density (12.3/1k words)
✗ Image cadence (0 images for 1247 words)
✓ Answer-first first paragraph
✓ No self-link in related guides
Score: 5 / 8 checks pass — moderate GEO posture
Top 3 fixes (ranked by citation lift):
1. Add a FAQPage JSON-LD block. Each Q is a citable extraction target.
2. Convert 4 statement-form H2 headings to question form.
3. Add 2 images with descriptive alt text (entity + context).
# Whole sitemap — mean score, lowest-scoring pages, most common failures
auto-geo doctor --site https://example.com/sitemap.xml --max-pages 50
# JSON for CI / dashboards
auto-geo doctor https://example.com/page --json
スコアが75%以上の場合は終了コード0、それ以外の場合は1 — デプロイのゲートとして使用できます。完全なチェックリファレンスはdocs/doctor.mdを参照してください。
auto-geo write — クエリからのページ生成
ドメインと引用されたいクエリを渡すと、検証済みの公開準備完了JSONファイルが返されます — クエリごとに1つの構造化ページ、完全なGEOアーキテクチャに準拠。
auto-geo write \
--query "what is GEO" \
--query "GEO vs SEO" \
--out ./resources
✓ "what is GEO" → ./resources/geo.json (validated, ~$0.06)
✓ "GEO vs SEO" → ./resources/geo-vs-seo.json (validated, ~$0.06)
Total: 2 pages · 2 ok · ~$0.12 spent · 31s elapsed
システムプロンプトはGEO SOPをエンコードしています — TL;DRの長さ、回答カプセルのウィンドウ、禁止された最上級表現、FAQ構造 — 出力はVercel AI SDKのgenerateObjectを介して型システムレベルでスキーマに制約され、検証失敗時には境界付き自己修正ループが実行されます。デフォルト:gpt-5.4(OpenAI)またはclaude-sonnet-4-6(Anthropic)、設定されているAPIキーから自動検出されます。
# Dry-run — plan + cost estimate, no LLM calls
auto-geo write --query "what is X" --dry-run
# Batch from a file, anthropic, 4 pages at a time
auto-geo write --queries-file queries.txt --provider anthropic --concurrency 4
設定ファイル(auto-geo init)を使用すると、--domain、著者フィールド、プロバイダーが設定から取得されるため、素の--queryだけで十分です。docs/write.mdを参照してください。
auto-geo fix — 引用対応度のページ書き換え
doctorが何が問題かを示すのに対し、fixは8つのチェックすべてに合格するGEO最適化済みの書き換えを生成します — フェッチ、監査、再生成、そしてwriteが使用するのと同じスキーマに対して検証されます。
auto-geo fix https://www.example.com/some-blog-post --out ./fixed.json
Score (before): 3 / 8
Generating rewrite via openai gpt-5.4...
Score (projected): 8 / 8 — strong GEO posture
→ ./fixed.json (validated)
auto-geo fix https://example.com/page --provider anthropic # Claude instead
auto-geo fix https://example.com/page --dry-run # audit + cost estimate only
docs/fix.mdを参照してください。
auto-geo prompts — 追跡プロンプトの管理
追跡プロンプトは、AIエンジンにあなたのドメインを引用して答えてもらいたい質問です。これらは.auto-geo/prompts.txt(プレーンテキスト、コミット可能)にあり、checkがデフォルトで実行するものです。
auto-geo prompts add "best media monitoring tools" "what is GEO"
auto-geo prompts # numbered list
auto-geo prompts rm 2 # by index — or by exact text
何を追跡すればよいかわからない? エンジンにプロンプトセットを提案させましょう — discoverはホームページをフェッチし、すでに追跡しているものを確認し、LLMに競争すべき高インテントクエリを生成させます:
auto-geo prompts discover --dry-run # preview the proposals
auto-geo prompts discover --count 15 # append 15 (never overwrites, never duplicates)
prompts add(およびdiscover)は初回使用時にワークスペースをブートストラップするため、追跡を開始するのにinitすら必要ありません。
auto-geo check — 実際の引用カバレッジの測定
各プロンプトについて、実際のAI検索エンジンに質問し、あなたのドメインが引用の中にあるかを報告します。これはdoctorが予測するもののグラウンドトゥルースです。
auto-geo check # tracked prompts, domain from config
using 3 tracked prompts from .auto-geo/prompts.txt
[1/3] ✗ "what is GEO" — not cited (5 sources)
[2/3] ✓ "how do I get cited by ChatGPT" — cited (2 sources)
[3/3] ✓ "open source GEO tools" — cited (1 source)
Coverage: 2/3 queries (67%) · 3 page citations total · ~$0.012 spent
saved → .auto-geo/checks/2026-06-10T13-22-05--perplexity.json (auto-geo history)
エンジン:perplexity(デフォルト)、openai、anthropic、gemini、xai(エイリアスgrok)、または**--engine all** — APIキーが設定されているすべてのエンジンを実行し、エンジンごとのカバレッジとユニオン集計を報告します。
# Explicit queries instead of the tracked set
auto-geo check --domain shadow.inc --query "what is GEO"
# Every engine you have keys for, union coverage
auto-geo check --engine all
# CI: fail the deploy when critical queries don't cite you
auto-geo check --queries-file geo/critical-queries.txt && deploy
# Streaming JSON for agents / dashboards
auto-geo check --ndjson
すべての実行は自動的に.auto-geo/checks/に保存されます(--no-saveでオプトアウト)。カバレッジが0%より大きい場合は終了コード0、0%の場合は1。出力形状、ファンアウトクエリキャプチャ、ドメインマッチングルール、--format geo-audit相互運用モードについてはdocs/check.mdを参照してください。
auto-geo history — 経時的な引用カバレッジ
すべての実行を保存することの見返り:トレンドライン。実行ごとのカバレッジとエンジンごとの差分、さらに引用され始めた、または引用されなくなったプロンプトを正確に確認できます。
auto-geo history
2026-06-01 08:30 perplexity 33% · 1/3 cited $0.01
2026-06-08 09:15 perplexity 67% ↑34 2/3 cited $0.01
Since last run (perplexity · 2026-06-01 08:30 ▸ 2026-06-08 09:15)
✓ newly cited open source GEO tools
✗ lost (none)
2 runs · .auto-geo/checks
トレンドは同種のもの同士を比較します — 各実行は同じエンジンセレクターの前回の実行と比較されます。--engine allはマルチエンジン実行にフィルタリングし、--limit Nは深さを制御し、--jsonは行と差分を機械可読形式で出力します。docs/history.mdを参照してください。
設定
auto-geo initで一度設定し、どこでも上書きできます。優先順位(高い順):
- CLIフラグ
- 環境変数(設定されているAPIキーからプロバイダーを自動検出)
auto-geo.config.json(cwdから上方向に検索 — モノレポ対応)- 組み込みデフォルト
// auto-geo.config.json — committable, no secrets
{
"domain": "https://www.example.com",
"basePath": "/resources",
"provider": "openai",
"model": "gpt-5.4",
"engine": "perplexity",
"concurrency": 4,
"author": {
"name": "Jane Doe",
"jobTitle": "Head of Content",
"bio": "Jane writes about generative engine optimization…",
},
}
APIキーは.env.local(または.env)にあり、すべてのコマンドで自動ロードされます — すでに設定されている環境変数が常に優先されます:
| エンジン/プロバイダー | 環境変数 |
|---|---|
| OpenAI(write、fix、check) | OPENAI_API_KEY |
| Anthropic(write、fix、check) | ANTHROPIC_API_KEY |
| Perplexity(check) | PERPLEXITY_API_KEY |
| Gemini(check) | GOOGLE_API_KEYまたはGEMINI_API_KEY |
| xAI / Grok(check) | XAI_API_KEY |
ページアーキテクチャ
writeとfixが生成するもの、そしてdoctorが監査するものはすべて、厳格な7ブロックアーキテクチャに従います:
- TL;DR — 40〜60語の回答カプセル
- イントロ — 文脈を設定するブロック
- セクション — 質問形式のH2、それぞれ40〜60語の回答カプセルで始まる
- 関連ガイド — 4〜8エントリ
- キーテイクアウェイ — 4〜6の宣言的箇条書き
- FAQ — 40〜60語の回答を持つ3〜10のQ&A
- 開示 — ソーシングノート、タイムスタンプ、発行者行
構造違反はハードエラーです(生成されたペイロードは拒否され再生成されます)。密度とケイデンスのヒューリスティックはソフト警告です。完全な仕様:docs/architecture.md、docs/validation.md、そしてすべての制約の背後にあるSOP:docs/sop.md。
出力JSONはレンダラー非依存です — CMSにPOSTするか、テンプレートをハイドレートするか、独自のコンポーネントでレンダリングできます。構造自体がコントラクトです。
エージェント向け出力
すべてのコマンドは、人間と同じくらいエージェントによって駆動されるように設計されています:
--json— stdout上の1つの安定した機械可読オブジェクト。--ndjson(check) — 結果がストリーミングされるにつれてクエリごとに1つのJSON行、さらに_summary行。- 進捗はstderr、結果はstdout — パイプはクリーンなまま。
- 安定した終了コード —
doctorとcheckはそのままCIゲートになります。 --no-color/NO_COLOR/ 非TTY検出によるログフレンドリーな出力。
auto-geo check --ndjson | jq 'select(.cited) | .query'
LLMフレンドリー
auto-geoは、LLMに引用されることを意図したコンテンツを出力するツールです — したがって、このリポジトリは自社製品を自ら使用しています:
llms.txt— llmstxt.org規約に従ったキュレーションされたインデックス。llms-full.txt— READMEとすべての実質的なドキュメントを1つのファイルにインライン化し、1回のフェッチで取り込めるようにしたもの。- GitHub Pagesサイト at shadowresearch.github.io/auto-geo —
<link rel="alternate">を介して両方を宣伝し、Article JSON-LDを出力。 AGENT.md— CLIを駆動するコーディングエージェント向けのコンパクトな運用仕様。
コントリビューション
CONTRIBUTING.mdを参照してください。バグレポート、チェックの改善、新しいエンジン、ドキュメントの改善をすべて歓迎します。
ライセンス
MIT。
Shadowについて
Shadowは、OpenAI、TikTok、Meta、Amazon、Lovableを世に送り出したチームと提携し、次世代のAI駆動型メディアインテリジェンスおよびコミュニケーションテクノロジーを構築するメディアリサーチラボです。Shadowは、メディアリサーチ、PR、コミュニケーションチーム向けに、auto-geoをスケジュールに基づいてエンドツーエンドで運用しています。
詳細はshadow.incをご覧ください。
