
Shopify Geo Audit
io.github.builtbyabsPublished by GitHub account builtbyabsv0.2.0Updated Oct 28, 2026
Audit any Shopify store for AI search (GEO/AEO) readiness and generate the fixes. No signup.
The publisher's own server: audit.domains - Domain Valuation
Overview
Audits a Shopify storefront for AI-search readiness, scores it 0-100, and returns paste-ready fixes as JSON.
- What you can do
- Audit a store: fetch a Shopify storefront URL and run nine weighted checks on AI-search signals, producing an SRO score.
- Inspect crawler and schema signals: Product JSON-LD, robots.txt rules for AI crawlers, Organization and WebSite schema, llms.txt, meta tags, headings, image alt text and sitemap.
- Generate fixes: return ready-to-paste Product JSON-LD, an llms.txt manifest, robots.txt corrections and a ranked priority list of failing checks.
- When to use it
- Useful when you want an assistant to check whether a Shopify store is likely to be cited by AI answer engines and to draft the structured data and crawler configuration to fix it, without leaving the conversation.
- Requirements
- Runs locally over stdio as an npm package (shopify-geo-audit-mcp) launched with npx, so Node.js is needed. No account, API key or configuration is required. Network access to the store being audited is needed.
Installation
In SourceWeft
- Open Shopify Geo Audit in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
shopify-geo-audit
Audit any Shopify store for AI-search readiness, then generate the fixes you actually paste in.
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:
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 validProductblock filled from your store's real data, ready for your themellms.txt— a content manifest for your domainrobots-fixes.txt— the exact lines to stop blocking AI crawlerspriority-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:
Example
Usage
--json keeps stdout clean so you can pipe it, and --min-score lets CI fail on weak audits:
MCP server
The audit also runs as an MCP tool, so Claude, Cursor or any MCP client can audit a store mid-conversation:
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:
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
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
Source: README.md at commit 88059bd
Tools
0Version history
1- v0.2.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Audit integrations
audit.domains - Domain Valuation
domains.auditOfficial publisher
Deterministic domain-name valuation: fair-value intervals, comparable recorded sales, availability checks, and a verified for-sale listing market.
Revenue Agent — OpenAPI Audit & Change Detection
news.prhOfficial publisher
A remote MCP endpoint that audits OpenAPI specifications and detects API changes, charging $0.10 USDC per analysis via x402 on Base.

SEO Audit & Broken Link Checker
Published by GitHub account prometheus-maker
An Apify-hosted MCP server that audits a website's pages for SEO metadata and finds broken links and images, returning per-page scores.

FinePrint AI Legal Risk & Contract Audit MCP Server
Published by GitHub account RitualDev-Lab
Local in-memory scanner that grades legal contracts, NDAs and leases for risk and drafts redline amendments for coding agents.

Mcp Supply Audit
Published by GitHub account kimmawla
Audits MCP servers as supply-chain artifacts — registry entries, PyPI/npm packages, client configs and tool definitions — using read-only static checks.