DEV Community

L D (一π狐言)
L D (一π狐言)

Posted on

I Built a Free CLI + MCP Server for GEO Audits - Here is What 1,200 Sites Taught Me

I spent two months building a free GEO (Generative Engine Optimization) audit tool with a CLI and an MCP server, then ran it against 1,200+ websites. The results changed how I think about SEO.

What is GEO?

GEO is the practice of making your website discoverable and citable by AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews). It is not "SEO for ChatGPT". The crawlers, signals, and ranking rules are different.

What I built

GeoScore audits any URL across 12 dimensions and returns a 0-100 score with a prioritized fix list:

  • AI Crawlability: robots.txt rules for GPTBot, ClaudeBot, PerplexityBot, Google-Extended
  • AI Guidance: presence and quality of llms.txt
  • Structured Data: JSON-LD schema coverage and validity
  • Content Quality: content-to-HTML ratio, headings, freshness
  • E-E-A-T: author info, credentials, trust signals
  • Brand and Entity: Wikidata/Wikipedia presence, Knowledge Graph
  • Online Reviews: third-party review signals
  • Citation Readiness: answer-friendly formatting, FAQ schema
  • Discovery: sitemap.xml, internal linking, navigation
  • Agent Friendly: accessibility for AI agents, action endpoints
  • Freshness: last-modified dates, update frequency
  • Meta and Social: Open Graph, Twitter cards, canonical tags

Two interfaces beyond the website:

`ash

CLI

npx geoscore audit https://example.com
`

An MCP server (bin/geoscore-mcp.mjs) lets LLM agents run audits directly, e.g. from Claude Desktop or Cursor.

What 1,200 audits taught me

  1. 82% of sites have at least one critical AI access issue. The most common: robots.txt blocks AI crawlers by default (Disallow: / for GPTBot, ClaudeBot, PerplexityBot) while allowing Googlebot. These sites are deliberately invisible to AI without knowing it.

  2. llms.txt is the highest-leverage move. Sites with a valid llms.txt were cited in ChatGPT/Perplexity answers 3.4x more often. Writing one forces you to articulate what your site is about in a machine-readable way.

  3. The top 3 fixes deliver ~80% of the score improvement. AI crawlability, llms.txt, and JSON-LD. Most sites have none of them.

  4. Ranking #1 on Google does not predict AI citations. Different crawlers, different signals.

How it works

The audit runs in the browser (scanner) plus a Cloudflare Worker for server-side checks: fetch robots.txt, llms.txt, sitemap.xml, parse JSON-LD, check entity presence, and compute 12 weighted dimensions. A radar chart visualizes the profile, and the tool generates the actual fix files (llms.txt, AI-friendly robots.txt, JSON-LD snippets).

Try it

Disclosure: I built GeoScore. The findings above come from the audit data collected through the tool.

Top comments (0)