AEO Score
Your AEO Scoreis a single 0–100 number per project that summarizes how well AI answer engines can actually find, understand, and cite your site. It rolls up the per-engine audit scores from your scheduled scans into one trend you can track over time — and it's the number to watch as you ship fixes.
How it's computed
Each scan run produces one audit per engine you have enabled (Claude, OpenAI, Gemini, Perplexity, Qwen, Kimi, DeepSeek, plus the local rule engine). Every audit gets its own 0–100 score based on what each engine could find and understand. Once the whole scan run is done, we average the scores of all completed engines and store one project_scores row with:
score— the rolled-up number (mean of completed engine scores, rounded to an int).components— the per-engine breakdown, e.g.{ claude: 78, openai: 82, gemini: 70 }. Used by the chips on the project overview.recorded_at— the moment the run completed.
Failed engines (LLM timeout, network blip) are excluded from the mean — a run where every engine fails records no row at all, to avoid misleading zeros on the trend chart.
The trend chart
On the project Overview tab, the AEO Score card shows your latest number, the delta across the visible window, a small sparkline of recent runs, and chips for each engine's last score. Tap into the score on any individual run for the full per-engine breakdown.
A single point appears after your first scan run completes. The sparkline becomes meaningful after a couple of runs — schedule weekly scans (dashboard → project → Schedule) so you build a useful history.
Score bands
- 80–100 — green. AI engines can find, understand, and confidently cite your site.
- 50–79 — yellow. Real gaps but the basics work; usually missing structured data, llms.txt, or positioning clarity.
- 0–49 — red. Major issues — robots, rendered content, or AI-bot access blocking discovery. The full audit report calls these out.
What moves the number
- llms.txt— a one-page summary AI crawlers can pull instead of guessing. Each engine gives extra credit when it's present and well-formed.
- JSON-LD structured data — Organization, SoftwareApplication, FAQPage, BreadcrumbList. Concrete signals engines can quote verbatim.
- Rendered-vs-static text ratio — content that only exists post-JS is invisible to most AI crawlers. The ratio shows up as a check.
- AI-bot rules in robots.txt — explicitly allowing GPTBot, ClaudeBot, PerplexityBot, Google-Extended, etc. unblocks the engines that look for permission.
- Positioning clarity— who, what, who-for, pricing, CTA, all answerable from the homepage in a few sentences. Engines that read the page can't cite what isn't there.
Every audit run includes specific recommendations under each failing check — start there.
Questions? hello@crawlproof.com.