GEO is what happens when you stop optimizing for an algorithm that counts backlinks and start optimizing for an AI assistant deciding whether to cite you in front of 900 million weekly ChatGPT users. One audit run, what it flagged, and the actual Bing data showing what happened.
Key takeaways
- GEO differs from SEO fundamentally: AI assistants weight answer specificity over domain authority. A six-week-old site with precise, structured answers can outrank a ten-year-old review aggregator.
- Audit scores the page you give it: The homepage GEO score came back 26/100, correct for a 306-word directory page. The article pages driving 1,800 citations score differently. Run the audit on the pages that matter.
- Live citation bots are the real signal: ChatGPT-User and Claude-User hits in your server logs are citations being served to real users. Indexing bots (GPTBot, ClaudeBot) are background signals, not live citation events.
- Citations arrive as a threshold event: joshuaopolko.com showed zero citations through November 12, then citations started and compounded to 1,800 in 120 days, peaking at 97 per day on February 23.
- Off-site gaps cap on-page wins: Perplexity weights Reddit at 46.7% of citation sources; ChatGPT at 11.3%. Technical scores improve independently, but platform coverage requires off-site presence that audits alone cannot fix.
- One session fixed ten issues: A single claude-seo audit caught a 2.1 MB GeoJSON file never deployed to production, 253 wrong schema properties, LLM refusal text served live to users, and a 3-day silent build failure.
How Has the SEO Model Changed for AI Search?
Traditional SEO is a decade-long domain authority accumulation game. AI assistants do not play it. ChatGPT's citation algorithm cares whether your answer is specific, structured, and verifiably sourced. A six-week-old government-data directory beats a ten-year-old review aggregator if it answers the query more precisely. Perplexity has the lowest domain-age threshold of any major AI search platform; it weights answer specificity above almost everything else. Google AI Overviews is the exception, drawing 92% of its citations from pages already ranking in the top 10, so classic domain authority matters there specifically.
The SEO signals that still matter in GEO are infrastructure: schema markup, server-side rendering so AI crawlers see real HTML, and a clean robots.txt that allows the search and user bots (not just the training crawlers). These are table stakes, necessary but not sufficient. The new work is citability: 134-167 word self-contained answer blocks, question-based H2 headings, and declared data provenance on every statistic. Named sources beat "studies show" by a wide margin for AI extraction. That is the entire game.
What Does the GEO Audit Machine Do?
Claude Code’s claude-seo plugin runs GEO and legacy SEO subagents in parallel, 7 dimensions simultaneously. Here is a seo-geo run against joshuaopolko.com: seven checks, all output from one session.
What Did the Audit Score by Category?
One run, June 2026. The two low scores (GEO 26/100, Content 35/100) are homepage measurements on a page that is a directory of links by design. Performance and images are effectively perfect. Technical and schema are strong. The article pages that generated the 1,800 citations are not included in these numbers.
What Does a 26/100 GEO Score Actually Mean?
The audit ran against the homepage. The homepage is a 306-word page of links to articles and tools. No self-contained answer blocks. No question-format headings. The audit called that correctly: 26/100. What it did not measure is /agent-zero/, /military-application/, /architectural-visualization/, or the other article pages. Those pages have long-form sourced content, question-format H2 headings, and FAQPage schema. They are the pages being cited in Bing, ChatGPT, and Perplexity.
GEO score measures the page you give it. The 1,800 Bing citations came from the articles, not the homepage. Running the same audit against the Agent Zero guide or the VR content returns a very different number. The audit is a diagnostic tool, not a summary of the site. Which pages you audit determines what you learn.
What Did 0 to 1,800 AI Citations in 120 Days Look Like?
Bing Webmaster Tools AI performance data, joshuaopolko.com, Nov 2025 to Mar 2026. Zero citations through November 12. First citation November 13. Hockey stick through February, 97/day peak on Feb 23, then sustained 40-95/day through March.
Agent Zero content drove the spike. VR content (military applications, architectural visualization, elderly care) is the durable floor, cited steadily across different queries. Claude Code spec workflow content is the next spike loading.
Which AI Bots Are Actually Crawling Your Site?
Two categories of AI bot. Indexing crawlers, GPTBot, ClaudeBot, OAI-SearchBot, build the knowledge index in the background. Users see nothing. Live citation bots, ChatGPT-User and Claude-User, fire only when a real user query triggers a real-time page fetch. Every hit is a citation served to a real user.
What the Audit Flagged on joshuaopolko.com
- Security headers missing: CSP, X-Frame-Options, X-Content-Type-Options, referrer-policy all absent. HSTS present. One server config change fixes all four.
- Sitemap canonical mismatch: 1 URL. All sitemap lastmod values identical, which breaks freshness signalling to crawlers.
- IndexNow not wired: Bing and Yandex discovery depends on crawl scheduling instead of push notification on publish. One key, one ping per new page.
- 17 page title tags over 60 characters: truncated in SERPs. Each needs a shorter version without changing the H1.
- Homepage GEO signals absent: 306 words, no self-contained answer blocks, no question-format headings. Accurate for a directory page. The article pages are the citation targets.
- Schema gap on homepage: Person and WebSite markup present. WebPage type missing. One JSON-LD block to add.
- JavaScript rendering concern: critical content flagged as potentially JS-dependent (60/100 for js_rendering). Server-rendered HTML is required for citation-critical content. Articles pass; the homepage navigation depends on a script.
What GEO Gaps Remain?
The off-site gap is the same for any site regardless of on-page score. Perplexity weights Reddit at 46.7% of its citation sources; ChatGPT weights Wikipedia at 47.9% and Reddit at 11.3%. Technical auditing does not close those gaps. The three concrete actions still open: a Wikidata entity for Joshua Opolko (30 minutes, no notability threshold required, sameAs the existing Person schema at joshuaopolko.com/#person), authentic participation in r/artificial, r/MachineLearning, and r/seo addressing questions this content already answers, and an earned mention in a publication already being cited for AI search queries. These are not SEO hacks. They are the actual citation signals those platforms use, and they require time and genuine presence, not a single-session fix.
Run It
/plugin marketplace add AgriciDaniel/claude-seo
/plugin install claude-seo@agricidaniel-claude-seo
# Full audit (7 parallel agents)
/claude-seo:seo https://yoursite.com
# GEO only
/claude-seo:seo-geo https://yoursite.com
Requires Claude Code 1.0.33+. MIT license, no telemetry. Full source: github.com/AgriciDaniel/claude-seo
Frequently asked questions
What is GEO and why does it matter for AI search?
GEO (Generative Engine Optimization) is the discipline of structuring content so AI assistants select it as a citation source when generating answers. It matters because AI-generated answers are displacing traditional search results for a growing share of queries. Being cited in an AI answer is a qualitatively different outcome from ranking in a list of links: the AI quotes your content directly, often without showing a results page at all. The selection logic is different from Google's, and over 900 million people use ChatGPT weekly, so separate optimization is required.
How is this different from SEO I already do?
Traditional SEO accumulates domain authority through backlinks, editorial signals, and page age. AI citation weights answer specificity over domain authority. Perplexity has the lowest domain-age threshold of any major AI search platform. The legacy SEO signals that still matter in GEO are infrastructure: schema markup, server-side rendering, and a clean robots.txt that allows AI search bots. The new work is passage citability: 134-167 word self-contained answer blocks, question-based H2 headings, and named-source attribution on every statistic.
What does the claude-seo audit tool actually check?
The claude-seo plugin for Claude Code runs seven parallel subagents covering GEO citability, technical SEO, E-E-A-T signals, schema markup, Core Web Vitals, local signals, and content quality. For GEO specifically, it tests passage extractability, AI crawler access, llms.txt compliance, passage length distribution, question-heading coverage, and platform-specific scoring for Google AI Overviews, ChatGPT, Perplexity, and Bing Copilot. It is open source, free, and requires Claude Code 1.0.33 or later. Full source at github.com/AgriciDaniel/claude-seo.
How do I know if AI engines are already citing me?
Check your server logs for two categories of AI bot. Indexing crawlers (GPTBot, ClaudeBot, OAI-SearchBot) run in the background and users see nothing. Live citation bots (ChatGPT-User, Claude-User) fire only when a real user query triggers a real-time page fetch. Every ChatGPT-User hit in your access logs equals one citation being served to a real user right now. For Bing-powered Copilot, check Bing Webmaster Tools directly: it reports AI citations as a separate metric showing how often your pages are surfaced in AI answers.
What is the fastest way to start getting AI citations?
Fix the technical gates first: ensure your content is in server-side HTML (not JavaScript-rendered), add your site to Bing Webmaster Tools, verify the right AI search bots (OAI-SearchBot, Claude-SearchBot, PerplexityBot) are allowed in robots.txt, and confirm your pages are indexed in Bing and Brave Search. Then restructure key pages with answer-first paragraphs, question-format H2 headings, and passage blocks in the 134-167 word range. The zero-to-citation transition tends to be a threshold event, not a gradual curve: nothing, then citations that compound.
