aiseo-audit 1.2.9 → 1.4.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
@@ -5,7 +5,7 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-7EB6D7.svg)](https://opensource.org/licenses/MIT)
6
6
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20-7EB6D7.svg)](https://nodejs.org)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-7EB6D7?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
8
- [![Tests](https://img.shields.io/badge/tests-202%20passed-8FBC8F)](https://github.com/agencyenterprise/aiseo-audit)
8
+ [![Tests](https://img.shields.io/badge/tests-259%20passed-8FBC8F)](https://github.com/agencyenterprise/aiseo-audit)
9
9
  [![Coverage](https://img.shields.io/codecov/c/github/agencyenterprise/aiseo-audit?color=8FBC8F&label=coverage)](https://codecov.io/gh/agencyenterprise/aiseo-audit)
10
10
 
11
11
  <div align="center">
@@ -16,12 +16,13 @@
16
16
  Deterministic CLI that audits web pages for **AI search readiness**. Think Lighthouse, but for how well AI engines can fetch, extract, understand, and cite your content.
17
17
 
18
18
  > [!TIP]
19
- > Run `aiseo-audit https://www.aiseo-audit.com` to see an [A+ Score](https://www.aiseo-audit.com/)
19
+ > Run `aiseo-audit https://www.aiseo-audit.com` to see a 100/100 [A+ Score](https://www.aiseo-audit.com/).
20
20
 
21
21
  **AI SEO measures how reusable your content is for generative engines, not traditional search rankings.**
22
22
 
23
23
  - [Quick Start](#quick-start)
24
24
  - [CLI Options](#cli-options)
25
+ - [Site-Wide Auditing](#site-wide-auditing)
25
26
  - [Local Development](#local-development)
26
27
  - [Audit Categories](#audit-categories)
27
28
  - [Programmatic API](#programmatic-api)
@@ -96,19 +97,61 @@ aiseo-audit https://example.com --config aiseo.config.json
96
97
 
97
98
  ## CLI Options
98
99
 
99
- | Option | Description | Default |
100
- | ------------------- | ------------------------------------- | ---------------------- |
101
- | `<url>` | URL to audit (required) | - |
102
- | `--json` | Output as JSON | - |
103
- | `--md` | Output as Markdown | - |
104
- | `--html` | Output as HTML | - |
105
- | `--out <path>` | Write rendered output to a file | - |
106
- | `--fail-under <n>` | Exit with code 1 if score < threshold | - |
107
- | `--timeout <ms>` | Request timeout in ms | `45000` |
108
- | `--user-agent <ua>` | Custom User-Agent string | `AISEOAudit/<version>` |
109
- | `--config <path>` | Path to config file | - |
110
-
111
- If no output flag is given, the default is `pretty` (color-coded terminal output). The default format can also be set in the config file.
100
+ | Option | Description | Default |
101
+ | ---------------------- | --------------------------------------------------------------------------- | ---------------------- |
102
+ | `[url]` | URL to audit | - |
103
+ | `--sitemap <url>` | Audit all URLs in a sitemap.xml | - |
104
+ | `--signals-base <url>` | Base URL to fetch domain signals from (robots.txt, llms.txt, llms-full.txt) | URL being audited |
105
+ | `--json` | Output as JSON | - |
106
+ | `--md` | Output as Markdown | - |
107
+ | `--html` | Output as HTML | - |
108
+ | `--out <path>` | Write rendered output to a file | - |
109
+ | `--fail-under <n>` | Exit with code 1 if score < threshold | - |
110
+ | `--timeout <ms>` | Request timeout in ms | `45000` |
111
+ | `--user-agent <ua>` | Custom User-Agent string | `AISEOAudit/<version>` |
112
+ | `--config <path>` | Path to config file | - |
113
+
114
+ Either `[url]` or `--sitemap` must be provided, but not both. If no output flag is given, the default is `pretty` (color-coded terminal output). The default format can also be set in the config file.
115
+
116
+ ## Site-Wide Auditing
117
+
118
+ Use `--sitemap` to audit every URL in a `sitemap.xml`. Domain signals (`robots.txt`, `llms.txt`, `llms-full.txt`) are fetched once from the sitemap URL and shared across all URL audits — not re-fetched per page.
119
+
120
+ ```bash
121
+ # Audit all URLs in a sitemap
122
+ aiseo-audit --sitemap https://example.com/sitemap.xml
123
+
124
+ # With HTML output
125
+ aiseo-audit --sitemap https://example.com/sitemap.xml --html --out report.html
126
+
127
+ # Override where domain signals are fetched from
128
+ aiseo-audit --sitemap https://example.com/projects/sitemap.xml --signals-base https://example.com
129
+
130
+ # Fail if average score across all URLs is below threshold
131
+ aiseo-audit --sitemap https://example.com/sitemap.xml --fail-under 70
132
+ ```
133
+
134
+ The sitemap report includes:
135
+
136
+ - **Summary**: average score, grade, total/succeeded/failed URL counts
137
+ - **Site-wide category averages**: identify which audit categories are weakest across your whole site
138
+ - **Per-URL results**: individual score, grade, and top recommendation for each URL
139
+
140
+ Sitemap index files (sitemaps that reference other sitemaps) are supported — all child sitemaps are fetched and flattened automatically.
141
+
142
+ ### `--signals-base`
143
+
144
+ By default, domain signals are fetched relative to the URL being audited. Use `--signals-base` when your domain signals live at a different location than the URL you're auditing:
145
+
146
+ ```bash
147
+ # Single URL: fetch signals from a specific base
148
+ aiseo-audit https://example.com/projects/page --signals-base https://example.com
149
+
150
+ # Sitemap: same override applies to all URLs in the sitemap
151
+ aiseo-audit --sitemap https://example.com/projects/sitemap.xml --signals-base https://example.com
152
+ ```
153
+
154
+ Every report format explicitly shows which URL domain signals were fetched from, so there is no guesswork about where `robots.txt`, `llms.txt`, and `llms-full.txt` were checked.
112
155
 
113
156
  ## CI/CD
114
157