mcpField
S
shopify-geo-audit

shopify-geo-audit

ローカル
github.com/builtbyabsビジネス・マーケティング014 週間前に更新

shopify-geo-audit について

shopify-geo-auditは、ShopifyストアのAI検索への対応状況を調べ、修正用ファイルを生成するコマンドラインツール兼MCPサーバーです。採点結果だけでなく、実施に使える出力も必要とするストア運営者やShopifyの実務者向けです。

主な機能

  1. 01AI検索対応状況の9項目チェック
  2. 020〜100のSROスコア
  3. 03Product JSON-LDとllms.txtの生成
  4. 04クローラー設定と修正優先度の出力
  5. 05HTMLレポートとJSON出力

活用シーン

  1. 01ShopifyストアのAI検索上の課題確認
  2. 02商品ページ向け構造化データの準備
  3. 03CIでのスコアしきい値の設定

MCP 対応

MCPクライアントに`audit_shopify_store`ツールを提供します。CLIと同じ監査処理を実行し、結果と生成した修正内容をJSONで返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"builtbyabs-shopify-geo-audit": {
"command": "npx",
"args": [
"-y",
"shopify-geo-audit-mcp"
]
}
}
}
起動コマンドnpx -y shopify-geo-audit-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmshopify-geo-audit-mcp0.2.0

ツール

1

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
urlstringはいShopify ストアフロントの URL。例:https://your-store.com
productsintegerいいえ監査する商品ページの数(デフォルトは 5)

詳細

shopify-geo-audit

npm ci license

Shopify ストアの AI 検索への対応状況を監査し、実際に貼り付けて使える修正内容を生成します。

npx shopify-geo-audit https://your-store.com

ターミナルのデモ — 稼働中の Shopify ストアを監査し、各チェックの評価付きで SRO スコアを取得して、貼り付けて使える修正内容をディスクに書き出す様子

アカウントも 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 も生成されます。

Allbirds の shopify-geo-audit HTML レポート — SRO スコアは 82/100、各チェックを高・中・低で評価し、生成された貼り付け可能な修正内容を表示

例

$ 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。