Shopify Geo Audit

io.github.builtbyabs由 GitHub 帳號 builtbyabs 發布v0.2.0更新於 Oct 28, 2026

Audit any Shopify store for AI search (GEO/AEO) readiness and generate the fixes. No signup.

發布方自己的服務:audit.domains - Domain Valuation

概覽

AI 產生的概覽

稽核 Shopify 商店的 AI 搜尋就緒度,給出 0-100 評分,並以 JSON 回傳可直接貼上的修正內容。

可以做什麼
  • 稽核商店:抓取 Shopify 商店網址,執行九項加權檢查,評估 AI 搜尋訊號並給出 SRO 評分。
  • 檢查抓取與結構化訊號:商品 JSON-LD、robots.txt 對 AI 爬蟲的規則、Organization 與 WebSite 結構化標記、llms.txt、中繼標籤、標題層級、圖片替代文字與網站地圖。
  • 產生修正:回傳可直接貼上的商品 JSON-LD、llms.txt 清單、robots.txt 修正行,以及依權重排序的待修問題清單。
適用情境
適合在對話中請助理判斷某間 Shopify 商店是否容易被 AI 答案引擎引用,並草擬對應的結構化資料與爬蟲設定來改善。
執行需求
以 npm 套件 shopify-geo-audit-mcp 透過 npx 在本機以 stdio 執行,需要 Node.js。不需帳號、API 金鑰或設定。需要能連線到被稽核的商店。
安裝前請注意
它會透過網路抓取目標商店,因此被稽核的網址會揭露給該網站;README 表示除此之外資料不會離開本機。產生的修正僅為建議,需手動套用到佈景主題或 robots.txt;商品層級檢查主要對 Shopify 商店有意義。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Shopify Geo Audit,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

shopify-geo-audit

[npm] [ci] [license]

Audit any Shopify store for AI-search readiness, then generate the fixes you actually paste in.

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

[Terminal demo — auditing a live Shopify store, getting an SRO score with every check graded, and the paste-ready fixes written to disk]

No account, no API key, no config. It fetches the storefront, runs a set of checks for the signals that ChatGPT, Perplexity, Gemini and Google's AI Overviews read, scores the store 0-100, and writes paste-ready fixes to ./geo-audit-output/.

Want it on your PATH instead of npx? npm i -g shopify-geo-audit.

Why I built this

I do a lot of Shopify work, and "are we showing up in AI answers?" became a real client question fast. The field goes by a pile of names — GEO, AEO, AI SEO, LLM SEO, answer engine optimization — but the question is the same: when someone asks ChatGPT or Perplexity for product recommendations, is your store citable? The existing tools mostly hand you a dashboard that says you're invisible and stop there. The useful part, the part that takes an afternoon by hand, is producing the actual structured data and config. So I wrote the thing that does that part.

It's deliberately small and offline. One command, runs locally, nothing leaves your machine except the requests to the store you're auditing.

What it checks

Nine checks, weighted by how much they matter for getting cited:

CheckWeight
Product JSON-LD (Product/Offer) on product pageshigh
robots.txt isn't blocking GPTBot / ClaudeBot / PerplexityBot / Google-Extendedhigh
Organization + WebSite schema on the homepagemedium
/llms.txt existsmedium
Title, meta description, canonical, Open Graphmedium
Product description depth + answer-first leadmedium
One H1, sensible H2slow
Image alt text + image schemalow
sitemap.xml reachablelow

The result is an SRO Score (Search Readiness for AI): 80-100 strong, 50-79 needs work, below 50 at risk.

The premise — that deliberate changes to your pages measurably move how often engines cite you — comes from the original GEO paper (Aggarwal et al., KDD 2024), which measured visibility gains of up to ~40% from exactly this kind of work.

What it generates

The output isn't a report you read and forget. It's files:

  • product-jsonld.html — a valid Product block filled from your store's real data, ready for your theme
  • llms.txt — a content manifest for your domain
  • robots-fixes.txt — the exact lines to stop blocking AI crawlers
  • priority-list.txt — every failing check, ranked, each with a one-line fix

Pass --html and you also get a self-contained report.html you can screenshot or send a client:

[shopify-geo-audit's HTML report for Allbirds — an SRO score of 82/100, every check graded high/medium/low, and the paste-ready fixes it generated]

Example

$ 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

Usage

bash
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 keeps stdout clean so you can pipe it, and --min-score lets CI fail on weak audits:

bash
shopify-geo-audit https://store.com --json --min-score 80 | jq '.score.value'

MCP server

The audit also runs as an MCP tool, so Claude, Cursor or any MCP client can audit a store mid-conversation:

json
{  "mcpServers": {    "shopify-geo-audit": {      "command": "npx",      "args": ["-y", "shopify-geo-audit-mcp"]    }  }}

One tool, audit_shopify_store — takes a URL, returns the full results and generated fixes as JSON. Same pipeline as the CLI, nothing else running. The server also ships in the main package as the shopify-geo-audit-mcp binary if you'd rather not pull a second package.

How it works

It's a straight pipeline with the side effects pushed to the edges:

fetch → parse → checks[] → score → fixers[] → report

Checks are pure functions (store) => result, one per file, so each is trivially testable and adding a new one is a single module. Fetching is SSRF-guarded (no requests to private or reserved addresses, redirects re-validated each hop) and everything parsed off the network is validated with zod before it's trusted.

Development

bash
git clone https://github.com/builtbyabs/shopify-geo-audit.gitcd shopify-geo-auditnpm installnpm run buildnode bin/cli.js https://some-store.com
npm test          # vitest, one spec per checknpm run typecheck # strict, no any

FAQ

Is this just SEO with a new name? Overlapping, not the same. A store can rank fine on Google and still hand ChatGPT nothing it can quote — no Product JSON-LD, thin descriptions, a robots.txt that blocks the crawlers. The checks here are specifically about what AI engines parse and cite.

Why Shopify only? Because Shopify is predictable. Product discovery uses /products.json (with a sitemap fallback), and the generated fixes assume Shopify's theme conventions, so they actually fit instead of being generic advice. It will run against any URL, but on a non-Shopify site the product-level checks won't find much.

Does any of my data leave my machine? No. The only network requests are to the store you're auditing. No telemetry, no account, nothing phoned home.

My score is low. Where do I start? priority-list.txt in the output folder — it's every failing check ranked by weight, each with a one-line fix. The two highs (Product JSON-LD, robots.txt) are usually an hour of work combined.

Contributing

Adding a check is the easiest contribution: drop a file in src/checks/, add a fixture and a test, wire it into src/index.ts. See CONTRIBUTING.md. Issues and PRs welcome; good first issue is tagged.

And if the tool saved you an afternoon, a star is how other Shopify folks find it.

License

MIT © Abhishek Chauhan

來源:README.md,提交 88059bd

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Audit 整合