lintpage 0.4.0 → 0.5.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 +49 -3
- package/dist/cli.cjs +99 -4
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +99 -4
- package/dist/cli.mjs.map +1 -1
- package/dist/formatter-Bg4mtE_M.mjs +5 -0
- package/dist/formatter-Bg4mtE_M.mjs.map +1 -0
- package/dist/formatter-DGoiZDhP.cjs +5 -0
- package/dist/formatter-DGoiZDhP.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +882 -0
- package/dist/index.d.mts +882 -0
- package/dist/index.mjs +1 -1
- package/package.json +2 -1
- package/dist/formatter-BFKK5Mks.cjs +0 -5
- package/dist/formatter-BFKK5Mks.cjs.map +0 -1
- package/dist/formatter-CuMgo6fc.mjs +0 -5
- package/dist/formatter-CuMgo6fc.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/lintpage)
|
|
5
5
|
[](https://github.com/lintpage/lintpage/blob/main/packages/cli/LICENSE)
|
|
6
6
|
|
|
7
|
-
CLI tool that audits websites for SEO, accessibility, and
|
|
7
|
+
CLI tool that audits websites for SEO, accessibility, performance, and AI visibility issues. Catch noindex tags, broken meta tags, missing alt text, slow pages, security problems, and AI crawler blocks before they hurt your rankings and AI search visibility.
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
@@ -30,6 +30,31 @@ The CLI automatically prepends `https://` if no protocol is provided:
|
|
|
30
30
|
lintpage example.com
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
+
### Auditing localhost
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx lintpage localhost:3000
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
No flag is needed. A loopback target is detected, `http://` is assumed unless
|
|
40
|
+
you type a protocol, and the audit runs against your dev server.
|
|
41
|
+
|
|
42
|
+
Checks needing a public origin do not run: robots.txt, sitemap.xml, CORS, TTFB,
|
|
43
|
+
broken internal links, and the AI crawler checks, which probe your site as
|
|
44
|
+
external bots that cannot reach your machine. They appear in the output rather
|
|
45
|
+
than being silently skipped: by default you see only the counts, but you can use
|
|
46
|
+
`--format json` or `--format github` to see which individual checks were
|
|
47
|
+
skipped. `ssl`, `https-links` and `canonical-self-referencing` still run but
|
|
48
|
+
report as INFO, since a dev server is expected to be http.
|
|
49
|
+
|
|
50
|
+
`--ai-only` is refused against localhost for the same reason.
|
|
51
|
+
|
|
52
|
+
In a pre-commit hook:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx lintpage localhost:3000 --quiet
|
|
56
|
+
```
|
|
57
|
+
|
|
33
58
|
### Output
|
|
34
59
|
|
|
35
60
|
```
|
|
@@ -53,15 +78,18 @@ Exit codes:
|
|
|
53
78
|
|
|
54
79
|
## Options
|
|
55
80
|
|
|
56
|
-
| Flag | Description
|
|
81
|
+
| Flag | Description |
|
|
57
82
|
| ------------------- | ------------------------------------------------- |
|
|
58
83
|
| `--format <format>` | Output format: `text` (default), `json`, `github` |
|
|
84
|
+
| `--config <path>` | Path to a config file |
|
|
59
85
|
| `--fail-on-warning` | Exit 1 on warnings, not just criticals |
|
|
86
|
+
| `--ai-only` | Run only the AI Visibility module (LP-050–LP-060) |
|
|
87
|
+
| `--skip-ai` | Skip the AI Visibility module |
|
|
60
88
|
| `--quiet` | Minimal output (counts only) |
|
|
61
89
|
|
|
62
90
|
## Rules
|
|
63
91
|
|
|
64
|
-
LintPage checks **60 rules** out of the box across
|
|
92
|
+
LintPage checks **60 rules** out of the box across five categories:
|
|
65
93
|
|
|
66
94
|
### Pre-Launch
|
|
67
95
|
|
|
@@ -132,6 +160,24 @@ LintPage checks **60 rules** out of the box across four categories:
|
|
|
132
160
|
| `performance` | INFO | Lazy loading, inline styles, and script count |
|
|
133
161
|
| `image-dimensions` | INFO | Images have explicit width/height to prevent layout shift |
|
|
134
162
|
|
|
163
|
+
### AI Visibility
|
|
164
|
+
|
|
165
|
+
Probes how AI assistants and crawlers (ChatGPT, Claude, Perplexity, Gemini) see your page — combining `robots.txt` directives with live per-bot fetches to catch silent edge blocks (e.g. Cloudflare's default AI-bot 403). Run these in isolation with `--ai-only`, or skip them with `--skip-ai`.
|
|
166
|
+
|
|
167
|
+
| Rule | Severity | What it checks |
|
|
168
|
+
| ------------------------------- | -------- | ------------------------------------------------------------------- |
|
|
169
|
+
| `ai/all-crawlers-blocked` | CRITICAL | Every tested AI bot is blocked — page is invisible to AI assistants |
|
|
170
|
+
| `ai/gptbot-silent-block` | CRITICAL | robots.txt allows GPTBot but the live fetch is blocked (403/429) |
|
|
171
|
+
| `ai/claudebot-silent-block` | CRITICAL | robots.txt allows ClaudeBot but the live fetch is blocked (403/429) |
|
|
172
|
+
| `ai/perplexitybot-silent-block` | CRITICAL | robots.txt allows PerplexityBot but the live fetch is blocked |
|
|
173
|
+
| `ai/chatgpt-user-blocked` | CRITICAL | ChatGPT-User (live retrieval) cannot reach the page |
|
|
174
|
+
| `ai/claude-user-blocked` | CRITICAL | Claude-User (live retrieval) cannot reach the page |
|
|
175
|
+
| `ai/perplexity-user-blocked` | CRITICAL | Perplexity-User (live retrieval) cannot reach the page |
|
|
176
|
+
| `ai/google-extended-disallowed` | WARNING | Google-Extended (Gemini) disallowed in robots.txt |
|
|
177
|
+
| `ai/applebot-extended-disallowed` | INFO | Applebot-Extended disallowed in robots.txt |
|
|
178
|
+
| `ai/empty-content-to-bot` | WARNING | Bot receives near-empty HTML (content needs JS to render) |
|
|
179
|
+
| `ai/llms-txt-missing` | INFO | No `llms.txt` file found |
|
|
180
|
+
|
|
135
181
|
## Verdict
|
|
136
182
|
|
|
137
183
|
LintPage emits one of two verdicts after each scan:
|