aeorank 1.6.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AEORank
2
2
 
3
- Score any website for AI engine visibility across 26 criteria. Pure HTTP + regex - zero API keys required.
3
+ Score any website for AI engine visibility across 28 criteria. Pure HTTP + regex - zero API keys required.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/aeorank.svg)](https://www.npmjs.com/package/aeorank)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -35,42 +35,44 @@ import { audit } from 'aeorank';
35
35
 
36
36
  const result = await audit('example.com');
37
37
  console.log(result.overallScore); // 0-100
38
- console.log(result.scorecard); // 26 criteria with scores
38
+ console.log(result.scorecard); // 28 criteria with scores
39
39
  console.log(result.opportunities); // Prioritized improvements
40
40
  ```
41
41
 
42
42
  ## What It Checks
43
43
 
44
- AEORank evaluates 26 criteria across 4 categories that determine how AI engines (ChatGPT, Claude, Perplexity, Google AI Overviews) discover, parse, and cite your content:
44
+ AEORank evaluates 28 criteria across 4 categories that determine how AI engines (ChatGPT, Claude, Perplexity, Google AI Overviews) discover, parse, and cite your content:
45
45
 
46
46
  | # | Criterion | Weight | Category |
47
47
  |---|-----------|--------|----------|
48
- | 1 | llms.txt File | 10% | Discovery |
49
- | 2 | Schema.org Structured Data | 15% | Structure |
50
- | 3 | Q&A Content Format | 15% | Content |
51
- | 4 | Clean, Crawlable HTML | 10% | Structure |
52
- | 5 | Entity Authority & NAP Consistency | 10% | Authority |
53
- | 6 | robots.txt for AI Crawlers | 5% | Discovery |
54
- | 7 | Comprehensive FAQ Section | 10% | Content |
55
- | 8 | Original Data & Expert Analysis | 10% | Content |
56
- | 9 | Internal Linking Structure | 10% | Structure |
57
- | 10 | Semantic HTML5 & Accessibility | 5% | Structure |
58
- | 11 | Content Freshness Signals | 7% | Content |
59
- | 12 | Sitemap Completeness | 5% | Discovery |
60
- | 13 | RSS/Atom Feed | 3% | Discovery |
61
- | 14 | Table & List Extractability | 7% | Structure |
48
+ | 1 | llms.txt File | 8% | Discovery |
49
+ | 2 | Schema.org Structured Data | 8% | Structure |
50
+ | 3 | Q&A Content Format | 12% | Content |
51
+ | 4 | Clean, Crawlable HTML | 8% | Structure |
52
+ | 5 | Entity Authority & NAP Consistency | 8% | Authority |
53
+ | 6 | robots.txt for AI Crawlers | 3% | Discovery |
54
+ | 7 | Comprehensive FAQ Section | 8% | Content |
55
+ | 8 | Original Data & Expert Analysis | 12% | Content |
56
+ | 9 | Internal Linking Structure | 8% | Structure |
57
+ | 10 | Semantic HTML5 & Accessibility | 4% | Structure |
58
+ | 11 | Content Freshness Signals | 6% | Content |
59
+ | 12 | Sitemap Completeness | 3% | Discovery |
60
+ | 13 | RSS/Atom Feed | 2% | Discovery |
61
+ | 14 | Table & List Extractability | 5% | Structure |
62
62
  | 15 | Definition Patterns | 4% | Content |
63
63
  | 16 | Direct Answer Paragraphs | 7% | Content |
64
- | 17 | Content Licensing & AI Permissions | 4% | Discovery |
64
+ | 17 | Content Licensing & AI Permissions | 3% | Discovery |
65
65
  | 18 | Author & Expert Schema | 4% | Authority |
66
- | 19 | Fact & Data Density | 5% | Content |
67
- | 20 | Canonical URL Strategy | 4% | Structure |
66
+ | 19 | Fact & Data Density | 8% | Content |
67
+ | 20 | Canonical URL Strategy | 2% | Structure |
68
68
  | 21 | Content Publishing Velocity | 3% | Content |
69
- | 22 | Schema Coverage & Depth | 3% | Structure |
70
- | 23 | Speakable Schema | 3% | Structure |
71
- | 24 | Query-Answer Alignment | 8% | Content |
69
+ | 22 | Schema Coverage & Depth | 2% | Structure |
70
+ | 23 | Speakable Schema | 2% | Structure |
71
+ | 24 | Query-Answer Alignment | 6% | Content |
72
72
  | 25 | Content Cannibalization | 5% | Content |
73
73
  | 26 | Visible Date Signal | 4% | Content |
74
+ | 27 | **Topic Coherence** | **14%** | **Content** |
75
+ | 28 | **Content Depth** | **6%** | **Content** |
74
76
 
75
77
  ## CLI Options
76
78
 
@@ -99,7 +101,7 @@ Use the built-in action to gate deployments on AEO score:
99
101
 
100
102
  ```yaml
101
103
  - name: AEO Audit
102
- uses: AEO-Content-Inc/aeorank@v1
104
+ uses: AEO-Content-Inc/aeorank@v2
103
105
  with:
104
106
  domain: example.com
105
107
  threshold: 70
@@ -119,7 +121,7 @@ Or use `npx` directly:
119
121
  Run a complete audit. Returns `AuditResult` with:
120
122
 
121
123
  - `overallScore` - 0-100 weighted score
122
- - `scorecard` - 26 `ScoreCardItem` entries (criterion, score 0-10, status, key findings)
124
+ - `scorecard` - 28 `ScoreCardItem` entries (criterion, score 0-10, status, key findings)
123
125
  - `detailedFindings` - Per-criterion findings with severity
124
126
  - `opportunities` - Prioritized improvements with effort/impact
125
127
  - `pitchNumbers` - Key metrics (schema types, AI crawler access, etc.)
@@ -257,7 +259,7 @@ Use `--no-headless` to skip SPA rendering (faster but may produce lower scores f
257
259
 
258
260
  ## Full-Site Crawl
259
261
 
260
- By default, AEORank audits the homepage plus ~20 discovered pages. For deeper analysis, enable `--full-crawl` to BFS-crawl every discoverable page:
262
+ By default, AEORank audits the homepage plus up to 50 blog pages from the sitemap. For deeper analysis, enable `--full-crawl` to BFS-crawl every discoverable page:
261
263
 
262
264
  ```bash
263
265
  npx aeorank example.com --full-crawl # Up to 200 pages
@@ -296,7 +298,7 @@ AEORank scores each individual page (0-100) against the 14 criteria that apply a
296
298
 
297
299
  The 14 per-page criteria: Schema.org Structured Data, Q&A Content Format, Clean Crawlable HTML, FAQ Section Content, Original Data & Expert Content, Query-Answer Alignment, Content Freshness Signals, Table & List Extractability, Direct Answer Paragraphs, Semantic HTML5 & Accessibility, Fact & Data Density, Definition Patterns, Canonical URL Strategy, Visible Date Signal.
298
300
 
299
- The remaining 12 criteria (llms.txt, robots.txt, sitemap, RSS, entity consistency, internal linking, content licensing, author schema, content velocity, schema coverage, speakable schema, content cannibalization) are site-level only.
301
+ The remaining 14 criteria (llms.txt, robots.txt, sitemap, RSS, entity consistency, internal linking, content licensing, author schema, content velocity, schema coverage, speakable schema, content cannibalization, topic coherence, content depth) are site-level only.
300
302
 
301
303
  ### CLI Output
302
304
 
@@ -449,7 +451,7 @@ console.log(result.comparison.tied); // Criteria with equal scores
449
451
 
450
452
  ## Benchmark Dataset
451
453
 
452
- The `data/` directory contains the largest open dataset of AI visibility scores - **13,619 domains** scored across 26 criteria, including **4,328 Y Combinator startups** across 48 batches (W06-W26):
454
+ The `data/` directory contains the largest open dataset of AI visibility scores - **13,619 domains** scored across 28 criteria, including **4,328 Y Combinator startups** across 48 batches (W06-W26):
453
455
 
454
456
  | File | Contents |
455
457
  |------|----------|
package/dist/browser.d.ts CHANGED
@@ -173,7 +173,7 @@ interface SiteData {
173
173
  redirectedTo: string | null;
174
174
  /** Set when homepage is a parked/for-sale/lost domain */
175
175
  parkedReason: string | null;
176
- /** Sampled blog/content pages from sitemap (up to 5) */
176
+ /** Sampled blog/content pages from sitemap (up to 50) */
177
177
  blogSample?: FetchResult[];
178
178
  /** Full-crawl statistics (set when --full-crawl is used) */
179
179
  crawlStats?: {