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 +30 -28
- package/dist/browser.d.ts +1 -1
- package/dist/browser.js +334 -57
- package/dist/browser.js.map +1 -1
- package/dist/{chunk-3IJISYWT.js → chunk-PKJIKMLV.js} +2 -2
- package/dist/chunk-PKJIKMLV.js.map +1 -0
- package/dist/cli.js +331 -54
- package/dist/cli.js.map +1 -1
- package/dist/{full-site-crawler-F7J2HRL4.js → full-site-crawler-FQYO46YV.js} +2 -2
- package/dist/full-site-crawler-FQYO46YV.js.map +1 -0
- package/dist/{full-site-crawler-VFARFR2C.js → full-site-crawler-UIOMKOZA.js} +2 -2
- package/dist/index.cjs +333 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +334 -57
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-3IJISYWT.js.map +0 -1
- package/dist/full-site-crawler-F7J2HRL4.js.map +0 -1
- /package/dist/{full-site-crawler-VFARFR2C.js.map → full-site-crawler-UIOMKOZA.js.map} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AEORank
|
|
2
2
|
|
|
3
|
-
Score any website for AI engine visibility across
|
|
3
|
+
Score any website for AI engine visibility across 28 criteria. Pure HTTP + regex - zero API keys required.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/aeorank)
|
|
6
6
|
[](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); //
|
|
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
|
|
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 |
|
|
49
|
-
| 2 | Schema.org Structured Data |
|
|
50
|
-
| 3 | Q&A Content Format |
|
|
51
|
-
| 4 | Clean, Crawlable HTML |
|
|
52
|
-
| 5 | Entity Authority & NAP Consistency |
|
|
53
|
-
| 6 | robots.txt for AI Crawlers |
|
|
54
|
-
| 7 | Comprehensive FAQ Section |
|
|
55
|
-
| 8 | Original Data & Expert Analysis |
|
|
56
|
-
| 9 | Internal Linking Structure |
|
|
57
|
-
| 10 | Semantic HTML5 & Accessibility |
|
|
58
|
-
| 11 | Content Freshness Signals |
|
|
59
|
-
| 12 | Sitemap Completeness |
|
|
60
|
-
| 13 | RSS/Atom Feed |
|
|
61
|
-
| 14 | Table & List Extractability |
|
|
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 |
|
|
64
|
+
| 17 | Content Licensing & AI Permissions | 3% | Discovery |
|
|
65
65
|
| 18 | Author & Expert Schema | 4% | Authority |
|
|
66
|
-
| 19 | Fact & Data Density |
|
|
67
|
-
| 20 | Canonical URL Strategy |
|
|
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 |
|
|
70
|
-
| 23 | Speakable Schema |
|
|
71
|
-
| 24 | Query-Answer Alignment |
|
|
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@
|
|
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` -
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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?: {
|