Open call: help us get the AEO scoring formula right. 23 criteria, 11K domains tested - challenge the weights.
**We're actively looking for people to challenge the weights, suggest new criteria, or point out things we're measuring wrong. The whole point of open-sourcing this is to get it right, not to pretend we already have.**
We just published the full scoring engine behind AEO Content AI as an open-source npm package called [AEORank](https://github.com/AEO-Content-Inc/aeorank). MIT licensed, zero API keys, runs in your terminal in under 10 seconds:
```
npx aeorank yourdomain.com
```
The engine scores websites 0-100 across 23 weighted criteria measuring how well AI engines (ChatGPT, Claude, Perplexity, Google AI Overviews) can discover, parse, and cite your content. Every check is deterministic - pure HTTP + regex, no LLM judgment in the scoring loop.
We've tested it against 11,068 domains including 4,313 Y Combinator startups across 66 sectors. The benchmark dataset is also open: [data/](https://github.com/AEO-Content-Inc/aeorank/tree/main/data)
---
### The formula
```
Score = sum(criterion_score / 10 * weight * 100) / sum(weights)
```
Each criterion scored 0-10 individually, multiplied by its weight. The denominator auto-normalizes so sites audited on fewer criteria keep accurate scores.
### The 23 criteria and weights
| # | Criterion | Category | Weight |
|---|-----------|----------|--------|
| 1 | Schema.org Markup | Structure | 15% |
| 2 | Q&A Content Format | Content | 15% |
| 3 | Clean, Crawlable HTML | Structure | 10% |
| 4 | Entity Authority (E-E-A-T) | Trust | 10% |
| 5 | FAQ Sections | Content | 10% |
| 6 | Original Data & Research | Content | 10% |
| 7 | Internal Linking | Discovery | 10% |
| 8 | llms.txt | Discovery | 10% |
| 9 | Content Freshness | Discovery | 7% |
| 10 | Direct Answer Density | Structure | 7% |
| 11 | Table & List Extractability | Content | 7% |
| 12 | robots.txt AI Directives | Discovery | 5% |
| 13 | Semantic HTML5 | Structure | 5% |
| 14 | Sitemap Completeness | Structure | 5% |
| 15 | Fact Density | Trust | 5% |
| 16 | Canonical URL Strategy | Content | 4% |
| 17 | Content Licensing | Content | 4% |
| 18 | Definition Patterns | Trust | 4% |
| 19 | Author & Expert Schema | Trust | 4% |
| 20 | Schema Coverage Ratio | Content | 3% |
| 21 | Content Velocity | Trust | 3% |
| 22 | RSS Feed Presence | Discovery | 3% |
| 23 | Speakable Schema | Structure | 2% |
Weights sum to ~153%, not 100% - intentional. The formula divides by the sum of applicable weights, not by 100. The percentages represent relative importance.
---
### Where we need your input
These are the questions we're debating internally. If you have an opinion on any of them, we want to hear it:
-
**Should llms.txt really be 10%?** Only ~3% of sites have one. Too heavy for something most sites don't have, or correctly weighted because it's a strong signal when present?
-
**Schema.org at 15%** - as AI engines get better at parsing unstructured HTML, does structured data become less important over time?
-
**Content Licensing at 4%** - ai.txt and TDM policies are brand new. Ahead of the curve or wasting weight on something engines don't actually use yet?
-
**No criterion for page speed or Core Web Vitals.** AI engines crawl server-side HTML. But does slow TTFB affect crawl frequency? We have no data.
-
**Speakable Schema at 2%** - almost nobody implements this. Higher because it's a differentiator, or is 2% the right "bonus points" level?
-
**Are we missing a criterion entirely?** What signal matters for AI citation that we're not measuring?
---
### What we found across 11K domains
- Average score: ~42/100
- Most common failure: no llms.txt (97% of sites)
- Second most common: weak or missing Schema.org (78%)
- YC startups average: ~38 ([browse all YC scores by batch](https://www.aeocontent.ai/startups/yc)) - SPAs and minimal content drag them down
- Healthcare and legal sectors score highest ([sector benchmarks](https://www.aeocontent.ai/rankings)) - more structured content by nature
- No meaningful correlation between Lighthouse performance score and AEO score
---
### Try it, break it, tell us what's wrong
```
npx aeorank yourdomain.com
npx aeorank site-a.com site-b.com # compare two sites
npx aeorank yourdomain.com --html # HTML report
```
- [GitHub](https://github.com/AEO-Content-Inc/aeorank)
- [npm](https://www.npmjs.com/package/aeorank)
- [Full docs](https://www.aeocontent.ai/docs/guide/aeorank)
- [Benchmark dataset](https://github.com/AEO-Content-Inc/aeorank/tree/main/data)
**We're building this in the open because we think the AEO community deserves a transparent, auditable standard - not a black box. If something in this formula is wrong, we'd rather know now. Tell us.**
Posted Mar 1, 2026, 1:17 AM UTC