# AEO Tool Build Prompt
A shareable prompt to build an AEO audit tool. Input is one URL. Output is a ranked fix list with ready-to-ship files.
- Design rule: every output must be an action the company can take this week, not a dashboard number.
- Copy the block below into Claude Code, Lovable, v0 or a dev brief.
~~~~markdown
# Build: AEO Audit — "What should we change so AI assistants and agents find, cite and use us?"
## Goal
Build a web tool. A company enters its website URL. In under 10 minutes the tool returns a prioritised list of fixes for its website and product. Each fix improves (a) how often AI assistants (ChatGPT, Gemini, Perplexity, Claude, Google AI Mode) mention and cite the brand, and (b) how easily AI agents can read the site and act on it.
The product is the action list, not a score. Every finding must end in a concrete change, with the file, code or copy to ship.
## Input
Required:
- Website URL.
Optional (improve accuracy; never block the run):
- Brand name (default: infer from site).
- Up to 3 competitors (default: infer, then let the user edit).
- Main market / country and language (default: infer from site).
- One-line description of the ideal customer (default: infer).
After the crawl, show the inferred profile (brand, category, products, ICP, competitors, market) on one screen. The user can edit it in 30 seconds, then confirm. Then run the full analysis.
## Pipeline
### 1. Crawl and extract
- Fetch robots.txt, sitemap.xml, /llms.txt, homepage, pricing, product/feature pages, docs, about, comparison/alternatives pages, FAQ. Cap at ~50 pages for v1.
- Fetch each key page twice: as a normal browser (rendered JS) and as a plain HTTP client with no JS. Also request with `Accept: text/markdown`. Store all three.
- Extract a "ground truth" fact sheet from the site: what the product does, products, pricing, plans, integrations, locations, founding facts, key claims.
### 2. Generate buyer prompts
- Generate 30–50 realistic prompts a buyer would ask an AI assistant. Cover:
- Category ("best X for Y")
- Problem ("how do I solve Z")
- Comparison ("A vs B")
- Alternatives ("alternatives to competitor")
- Brand ("is <brand> good", "<brand> pricing")
- Task / agent intent ("find me an X under $N that integrates with Y and sign me up")
- Tag each prompt with funnel stage and persona. Let the user add, remove or edit prompts.
### 3. Run prompts on AI engines
- Use each engine's API with web search / grounding turned on. Engines: OpenAI, Gemini, Perplexity, Anthropic. Add Google AI Mode later if no API.
- Run each prompt 3 times per engine. Answers vary; report rates, not single results.
- Store the full answer, brands mentioned (in order), cited URLs and domains, and sentiment per brand.
### 4. Analyse
- **Visibility:** share of answers that mention the brand, per engine, per prompt group. Same for each competitor.
- **Position:** average rank of the brand among brands mentioned.
- **Citations:** which domains and URLs the engines cite. Split into: own site, competitor sites, third-party (G2, Reddit, YouTube, editorial, listicles, Wikipedia).
- **Accuracy:** compare what the AI says about the brand with the ground-truth fact sheet. Flag wrong pricing, missing or invented features, outdated facts, wrong category.
- **Gaps:** prompts where a competitor appears and the brand does not. Find out why: no page covers the topic, page exists but is not cited, or third-party sources favour the competitor.
### 5. Agent-readiness audit
Run these checks. Each returns pass / warn / fail, the evidence, and the fix.
- robots.txt: which AI crawlers and agents are allowed or blocked (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Google-Extended, etc.). Explain the trade-off between training crawlers and search/user agents.
- CDN or WAF blocks AI agents by default (check response codes for common agent user agents).
- Core content visible without JavaScript. Compare the rendered page with the no-JS page; flag pages where prices, features or CTAs disappear.
- Markdown version available (`Accept: text/markdown` or `.md` URLs).
- Token weight per key page (HTML vs clean text). Flag pages over ~20k tokens. Flag answers buried below the fold.
- /llms.txt present and accurate.
- Structured data: Organization, Product, Offer (price, currency, availability), SoftwareApplication, FAQPage, Review/AggregateRating, BreadcrumbList. Validate against the visible page.
- Pricing machine-readable: price in HTML text, not only in images or JS widgets.
- Semantic HTML: real buttons and links with labels, form fields with labels, so an agent can operate sign-up, demo and checkout flows.
- Freshness: sitemap lastmod dates, visible "updated" dates on key pages.
- Entity consistency: same name, description and facts across site, LinkedIn, Crunchbase, G2, Wikipedia/Wikidata.
- Agent action surface: public API docs, OpenAPI spec, MCP server, AGENTS.md. For e-commerce: product feed and readiness for Google UCP and OpenAI/Stripe ACP checkout.
## Outputs (in this order)
1. **One-page summary.** Three numbers (visibility vs top competitor, citation share, agent-readiness pass rate) and the top 5 fixes. Plain language, readable by a CEO.
2. **Fix list (the core product).** Every fix has:
- Title (verb first: "Add Offer schema to /pricing").
- Why: the evidence from this run (prompts, engines, quotes, URLs).
- Impact: High / Medium / Low, with the reason.
- Effort: hours estimate.
- Owner: Dev / Content / PR-Community / Product.
- Evidence strength: "Proven" (strong research or measured in this run) vs "Best practice" (plausible, unproven). Never claim a citation lift for llms.txt or schema without evidence.
- The ready-to-ship artifact (see 3).
Sort by impact ÷ effort. Group into "This week", "This month", "This quarter".
3. **Ready-to-ship artifacts.** Generate the actual files, not advice:
- robots.txt patch.
- /llms.txt file.
- JSON-LD blocks per page, filled with real values from the site.
- Rewritten top section for key pages: answer-first, plain facts, 40–60 word summary a model can quote.
- New page briefs for each gap prompt: target question, answer outline, facts to include, sources to cite, competitor pages it must beat.
- Comparison and alternatives page drafts ("<brand> vs <competitor>"), factual and fair.
- FAQ blocks built from the real buyer prompts.
- Corrections list: each wrong AI claim, the correct fact, and the page that should state it.
4. **Off-site target list.** The third-party domains and exact URLs (Reddit threads, G2 categories, listicles, YouTube videos) that engines cite for the brand's prompts, where the brand is missing or weak. For each: what to do (get listed, answer the thread, request an update, earn a review).
5. **Competitor teardown.** For the top competitor: which prompts it wins, which sources drive it, and which page or third-party asset to copy or beat.
6. **Re-test.** Save the prompt set. One click re-runs it. Show a diff per fix: before vs after visibility and citations.
## Output data contract
Return one JSON object per run so other tools can use it:
- `profile` (brand, category, products, icp, competitors, market)
- `prompts[]` (id, text, stage, persona)
- `results[]` (prompt_id, engine, run, brands_mentioned[], cited_urls[], sentiment, answer_text)
- `metrics` (visibility, position, citation_share, per engine and per competitor)
- `accuracy_issues[]` (claim, ai_says, truth, source_page)
- `readiness_checks[]` (id, status, evidence, fix)
- `fixes[]` (id, title, why, impact, effort_hours, owner, evidence_strength, horizon, artifact_ref)
- `artifacts[]` (id, type, filename, content)
- `offsite_targets[]` (domain, url, engines_citing, action)
Also expose the run through an API and an MCP server, so a user's own agent can pull fixes.
## Rules
- Never invent facts about the brand. Every artifact uses facts from the crawl or the user. Mark unknown values as `TODO`.
- Separate "measured in this run" from "inferred". Show sample size on every percentage.
- Respect robots.txt for the crawl. Identify the crawler with a clear user agent.
- Cost guard: show estimated API cost before the run. Default cap per run.
- Write for marketers and developers. Short sentences. No jargon without a one-line explanation.
## Out of scope for v1
Daily monitoring dashboards, multi-brand agency workspaces, auto-publishing to a CMS, paid ads placement in AI assistants. Add after the audit proves useful.
## Definition of done
- A user enters a URL and gets the full report in under 10 minutes.
- At least 10 fixes, each with a ready-to-ship artifact or a precise instruction.
- Tested on 3 real sites: one SaaS, one e-commerce, one local or service business.
~~~~
----
tags: #boat #ai #AIstrategy
links: [[Agent Engine Optimisation MOC]] [[Agent-Ready Web Stack]] [[What Drives AI Citations]] [[Peec AI]]