shopify-geo-audit について
shopify-geo-auditは、ShopifyストアのAI検索への対応状況を調べ、修正用ファイルを生成するコマンドラインツール兼MCPサーバーです。採点結果だけでなく、実施に使える出力も必要とするストア運営者やShopifyの実務者向けです。
主な機能
- 01AI検索対応状況の9項目チェック
- 020〜100のSROスコア
- 03Product JSON-LDとllms.txtの生成
- 04クローラー設定と修正優先度の出力
- 05HTMLレポートとJSON出力
活用シーン
- 01ShopifyストアのAI検索上の課題確認
- 02商品ページ向け構造化データの準備
- 03CIでのスコアしきい値の設定
MCP 対応
MCPクライアントに`audit_shopify_store`ツールを提供します。CLIと同じ監査処理を実行し、結果と生成した修正内容をJSONで返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | Shopify ストアフロントの URL。例:https://your-store.com |
| products | integer | いいえ | 監査する商品ページの数(デフォルトは 5) |
詳細
shopify-geo-audit
Shopify ストアの AI 検索への対応状況を監査し、実際に貼り付けて使える修正内容を生成します。
npx shopify-geo-audit https://your-store.com

アカウントも API キーも設定も不要です。ストアフロントを取得し、ChatGPT、Perplexity、Gemini、Google の AI Overviews が読み取るシグナルを一連のチェックで確認して、ストアを 0〜100 点で評価し、貼り付けて使える修正内容を ./geo-audit-output/ に書き出します。
npx ではなく PATH 上で使いたい場合は、npm i -g shopify-geo-audit を実行してください。
作成した理由
Shopify の仕事を数多く手がけていますが、「AI の回答に表示されていますか?」という質問が、クライアントからすぐに寄せられるようになりました。この分野には GEO、AEO、AI SEO、LLM SEO、回答エンジン最適化など、さまざまな呼び名がありますが、問いは同じです。誰かが ChatGPT や Perplexity に商品をおすすめしてもらうとき、あなたのストアは引用されるでしょうか?既存のツールの多くは、表示されていないことを示すダッシュボードを渡すだけで終わります。役に立つのは、手作業なら半日かかる、実際の構造化データや設定を作成する部分です。そこで、その作業を行うツールを作りました。
意図的に小さく、オフラインで動作するようにしています。コマンドを 1 つ実行するだけでローカルで動作し、監査対象のストアへのリクエスト以外に、あなたのマシンから外部へ送信されるものはありません。
チェック項目
引用されるうえでの重要度に応じて重み付けされた、9 項目のチェックです。
| チェック項目 | 重み |
|---|---|
商品ページの Product JSON-LD(Product/Offer) | 高 |
| robots.txt が GPTBot/ClaudeBot/PerplexityBot/Google-Extended をブロックしていないか | 高 |
ホームページの Organization + WebSite スキーマ | 中 |
/llms.txt が存在するか | 中 |
| タイトル、メタディスクリプション、canonical、Open Graph | 中 |
| 商品説明の充実度 + 回答を先に示すリード文 | 中 |
| H1 が 1 つで、H2 が適切か | 低 |
| 画像の alt テキスト + 画像スキーマ | 低 |
sitemap.xml にアクセスできるか | 低 |
結果は SRO スコア(AI 検索への対応状況)として表示されます。80〜100 は良好、50〜79 は改善が必要、50 未満はリスクありです。
この考え方、つまりページに意図的な変更を加えることで、エンジンに引用される頻度を測定可能な形で高められるという見方は、元となった GEO 論文(Aggarwal et al., KDD 2024)に基づいています。この種の作業によって、可視性が最大約 40%向上することが測定されています。
生成されるもの
出力は、読んで忘れてしまうだけのレポートではありません。ファイルが生成されます。
product-jsonld.html— ストアの実データを使って作成された、有効なProductブロック。テーマにそのまま追加できますllms.txt— ドメインのコンテンツマニフェストrobots-fixes.txt— AI クローラーのブロックを解除するための正確な記述行priority-list.txt— 不合格となったチェック項目を優先順に並べ、それぞれに 1 行の修正方法を記載
--html を渡すと、スクリーンショットを撮ったりクライアントに送ったりできる、自己完結型の report.html も生成されます。

例
$ npx shopify-geo-audit https://acme-coffee.com
────────────────────────────────────────────────────────────
Acme Coffee
https://acme-coffee.com/
SRO Score: 41/100 ■ AT RISK
────────────────────────────────────────────────────────────
✗ HIGH Product structured data (JSON-LD)
No valid Product JSON-LD found on 4 product pages. AI can't parse your products.
✗ MED llms.txt present
/llms.txt not found — no content manifest for AI crawlers.
✗ MED Product description depth (answer-first content)
Avg 38 words per product page — too thin.
✗ HIGH AI crawler access (robots.txt)
robots.txt blocks: GPTBot, ClaudeBot.
✓ MED Title, meta description, canonical, Open Graph
✓ LOW Sitemap reachable (/sitemap.xml)
────────────────────────────────────────────────────────────
Generated fixes → ./geo-audit-output/
product-jsonld.html · llms.txt · robots-fixes.txt · priority-list.txt
使い方
shopify-geo-audit <url> [options]
-n, --products <n> how many product pages to audit (default: 5)
-o, --out <dir> where to write the fixes (default: ./geo-audit-output)
--html also write a self-contained report.html
--json print raw results as JSON (for CI); fixes still get written
--min-score <n> exit 1 if the score is below n (0-100)
--json を指定すると標準出力をクリーンに保てるので、パイプで渡せます。また、--min-score を使うと、監査結果が基準に満たない場合に CI を失敗させられます。
shopify-geo-audit https://store.com --json --min-score 80 | jq '.score.value'
MCP サーバー
この監査は MCP ツールとしても実行できるため、Claude、Cursor、または任意の MCP クライアントが会話中にストアを監査できます。
{
"mcpServers": {
"shopify-geo-audit": {
"command": "npx",
"args": ["-y", "shopify-geo-audit-mcp"]
}
}
}
ツールは audit_shopify_store の 1 つです。URL を受け取り、生成された修正内容を含む完全な結果を JSON で返します。CLI と同じパイプラインを使い、ほかに実行するものはありません。別パッケージを追加したくない場合は、サーバーをメインパッケージの shopify-geo-audit-mcp バイナリとしても利用できます。
仕組み
副作用を両端に寄せた、シンプルなパイプラインです。
fetch → parse → checks[] → score → fixers[] → report
チェックは (store) => result という純粋関数で、ファイルごとに1つずつあるため、どれも簡単にテストできます。新しいチェックを追加する場合も、モジュールを1つ追加するだけです。フェッチ処理にはSSRF対策が施されており(プライベートアドレスや予約済みアドレスへのリクエストは禁止され、リダイレクトのたびに再検証されます)、ネットワークから取得したデータはすべて、信頼する前に zod で検証されます。
開発
git clone https://github.com/builtbyabs/shopify-geo-audit.git
cd shopify-geo-audit
npm install
npm run build
node bin/cli.js https://some-store.com
npm test # vitest, one spec per check
npm run typecheck # strict, no any
よくある質問
これは名前を変えただけのSEOですか? 重なる部分はありますが、同じではありません。ストアがGoogleで十分な順位を獲得していても、ChatGPTが引用できる情報を何も提供できないことがあります。Product JSON-LDがない、説明が薄い、クローラーをブロックするrobots.txtがある、といった状態です。ここでのチェックは、AIエンジンが解析して引用する情報を対象としています。
なぜShopifyだけなのですか?
Shopifyは仕様が予測しやすいからです。商品情報の取得には /products.json を使い(サイトマップへのフォールバックあり)、生成される修正案はShopifyのテーマ規約を前提としているため、一般的なアドバイスではなく、実際に適用できる内容になります。どのURLにも実行できますが、Shopify以外のサイトでは商品単位のチェックで見つかる項目はあまりありません。
データが自分のマシンの外に送信されますか? いいえ。ネットワークリクエストは、監査対象のストアへのものだけです。テレメトリも、アカウントも、外部へのデータ送信もありません。
スコアが低いです。どこから始めればよいですか?
出力フォルダーにある priority-list.txt を確認してください。失敗したチェックが重み順に並び、それぞれに1行の修正方法が記載されています。特に重要な2項目(Product JSON-LDとrobots.txt)は、通常、合わせて1時間ほどで対応できます。
コントリビューション
チェックの追加は、最も簡単なコントリビューションです。src/checks/ にファイルを追加し、フィクスチャとテストを用意して、src/index.ts に組み込んでください。CONTRIBUTING.md をご覧ください。IssueやPRも歓迎します。good first issue のラベルが付いたIssueもあります。
このツールのおかげで午後の作業が楽になったなら、スターを付けていただけると、ほかのShopifyユーザーにも見つけてもらいやすくなります。
ライセンス
MIT © Abhishek Chauhan
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。