// diagnose

SEO / GEO / AEO Readiness Audit

Use when the user wants to audit a web page or site for SEO, GEO (generative- engine / AI citation readiness), and AEO (answer-engine / featured-snippet readiness). Also use when the user mentions SEO audit, AI search visibility, getting cited by ChatGPT/Perplexity/Claude, featured snippets, llms.txt, schema, crawlability, or "why don't we show up in AI answers." Produces a 0–100 score across 5 weighted categories, a grade, and prioritized fixes.

DiagnoseengineIntermediate
bash
$npx skills add sarojkjha/aaj-marketing-skills --skill seo-geo-aeo-audit
Or run it in Claude or ChatGPT through the AAJ engines connector

How to install and run this

Install it in your project:

npx skills add sarojkjha/aaj-marketing-skills --skill seo-geo-aeo-audit

No install? Add https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp as a custom connector in Claude, ChatGPT or any MCP client.

https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

Then ask: Use the AAJ seo-geo-aeo-audit skill on my numbers.

Step-by-step for every agent, Windows, Mac and Linux →

Claude Code

/plugin marketplace add sarojkjha/aaj-marketing-skills
/plugin install aaj-marketing-skills@aaj

OpenAI Codex

codex plugin marketplace add sarojkjha/aaj-marketing-skills
codex plugin add aaj-marketing-skills@aaj

Claude or ChatGPT — no install

Add this as a custom connector:

https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp
Recipes: vendor data in, a verdict out

// when to use it

Use when the user wants to audit a web page or site for SEO, GEO (generative- engine / AI citation readiness), and AEO (answer-engine / featured-snippet readiness). Also use when the user mentions SEO audit, AI search visibility, getting cited by ChatGPT/Perplexity/Claude, featured snippets, llms.txt, schema, crawlability, or "why don't we show up in AI answers." Produces a 0–100 score across 5 weighted categories, a grade, and prioritized fixes.

// what you give

A URL (or page HTML/source), and access to fetch the page, its robots.txt, sitemap, and llms.txt

// what you get

A 0–100 readiness score across Technical, On-Page, AEO, GEO, and Authority, a letter grade, and a prioritized fix list

Engine spec

// decision it supports

How ready is this page to rank in search, be cited by AI engines and win direct answers, and what should we fix first?

// inputs

A URL (or page HTML/source), and access to fetch the page, its robots.txt, sitemap, and llms.txt

// output

A 0–100 readiness score across Technical, On-Page, AEO, GEO, and Authority, a letter grade, and a prioritized fix list

// acts or analyzes

Analyzes only

Makes no network calls, writes no files and changes nothing in your tools.

// where your information goes

How you run itWhere your inputs go
Skill installed in your agent, or the local MCP serverThe engine runs on your machine and AAJ receives nothing. Your AI agent still sends what you give it to its model provider (Anthropic, OpenAI and so on), under your own account's terms.
Hosted MCP serverYour agent's model provider, as above, plus AAJ's server on Cloudflare, which receives the engine inputs over HTTPS, runs them in memory and keeps no copy. Cloudflare keeps error logs (no inputs) for up to 7 days.

No engine needs customer names, emails or other personal data; leave them out.

// limitations

  • It only scores the pass, partial or fail results it is given. It does not fetch or inspect the page, so the score is as good as the audit against the rubric.
  • Unknown check names, values other than pass, partial or fail, and empty input stop the run. A check you omit counts as fail and is listed as "Not assessed"; read that line.
  • It measures readiness, not traffic or citations. The GEO checks score whether claims are checkable and do not predict a lift.
  • FAQPage schema and llms.txt still earn points though the skill calls them hygiene, not Google levers, so the score can rise with no change in search visibility.

// review before acting

Whoever owns the site confirms the rendering check used the crawler's view of the page (for example a raw fetch with a GPTBot user agent) and spot-checks the failing items before fixes are prioritised. Pair the score with analytics for outcomes.

// setup

install
$npx skills add sarojkjha/aaj-marketing-skills --skill seo-geo-aeo-audit
hosted mcp
$https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp

Agents listed: Claude Code, Cursor, OpenAI Codex, Windsurf, Cline. Tested and recorded: Claude Code, OpenAI Codex (Windows, ab-test-significance only).

Full spec on GitHub

SEO / GEO / AEO Readiness Audit

Score how well a page is built to rank in search (SEO), get cited by AI engines (GEO), and win the direct answer (AEO) — then return a prioritized fix list. Modern visibility is three layers on one page, and most pages are strong on classic SEO while invisible to AI engines.

When to use

The user wants to know why a page isn't ranking or being cited by AI, or wants a readiness check before/after publishing.

Before you start

  1. Get the page as a crawler sees it. Fetch the URL — and critically, fetch it the way a bot does. Fetch the raw HTML with a GPTBot user agent (or inspect the unrendered source). If the body, meta, and JSON-LD are missing from the initial response, the site is client-side rendered and most other wins are blocked until SSR/prerender ships — this is the single most important finding.
  2. Also retrieve robots.txt, sitemap.xml, and llms.txt / llms-full.txt for that domain.

Workflow

  1. Evaluate all 27 checks in resources/scoring-rubric.md, recording pass / partial / fail for each. The rubric defines exactly what each check means and how to test it.
  2. Score it — feed the results to the engine:
    node resources/score.js '{"checks":{"ssr_prerender":"fail","title_tag":"pass", ...}}'
    node resources/score.js --help
    
    It returns category scores, a 0–100 total, a letter grade, and the failing checks.
  3. Prioritize fixes by impact: rendering/crawlability first (it gates everything), then the cheapest high-value GEO/AEO wins (answer-first passage, sourced statistics and inline citations, question-first headings), then on-page and authority polish. FAQPage schema and llms.txt are cheap hygiene, not Google levers: FAQ rich results stopped showing on 7 May 2026, and Google says llms.txt isn't needed for Search.
  4. Present the score, the category breakdown, and a short, ordered remediation plan.

Scoring model

Five weighted categories: Technical & Crawlability 25 · On-Page SEO 20 · AEO 20 · GEO 20 · Authority & Trust 15. Each category scores by pass-rate × weight. Grades: A ≥ 90, B 75–89, C 60–74, D 45–59, F < 45. GEO checks follow the levers tested in the GEO study (Aggarwal et al., KDD 2024 — statistics, citations, quotations, terminology). That study measured share of an answer inside a fixed context; end-to-end studies since found the gains don't transfer reliably, so the checks score whether claims are checkable and never imply a predicted lift.

Present the result

Lead with the headline score and grade, then the five-category bar, then the top fixes in priority order with what each one fixes (don't attach a percentage lift). Be concrete: name the missing schema, the absent llms.txt, the empty-shell render — not "improve SEO."

Show where it came from. Open your answer with "AAJ seo-geo-aeo-audit engine result:" and print the engine's output block exactly as it returned it, then add the line Method: https://skills.aajconsult.com/skills/seo-geo-aeo-audit. Say the numbers come from the AAJ engine, not from the model. Put your interpretation under that block. Do not retype the figures from memory. If you could not run the engine, say so and label any numbers as your own estimate, not an AAJ result.

Guardrails & common mistakes

  • Rendering gates everything. A perfect on-page score on an un-prerendered SPA is still near-invisible to AI engines — always test the crawler-eye HTML first and lead with it.
  • GEO ≠ SEO. Ranking and being cited by an LLM are different; a page can win one and lose the other. Score both.
  • Schema must mirror visible text. FAQ/Article schema that doesn't match on-page content is a liability, not a win.
  • Don't conflate score with traffic. This measures readiness; pair it with analytics for outcomes.

geo-content-optimization (fix the GEO/AEO gaps this finds) · aaj-programmatic-seo (scale the technical fixes).

// faq

// install

$npx skills add sarojkjha/aaj-marketing-skills --skill seo-geo-aeo-audit

// run it

$node .agents/skills/seo-geo-aeo-audit/resources/score.js --demo

// worked example

Get the worked example for SEO / GEO / AEO Readiness Audit

One email. The filled-in config, the output, and how to read it.

No spam. Unsubscribe anytime.

// sprint

AI Visibility Sprint — $3,500, 10 business days

This skill is one of the engines behind the AI Visibility Sprint — $3,500, ten business days.

SEO/GEO/AEO audit, citation tracking, and agent readiness — scored, with the fixes ranked.

See what's included.

// human in the loop

Need a human in the loop?

AAJ builds the strategies, tools, and playbooks these skills are made of — with engagements for growth-stage and enterprise teams.