@rankcli/cli 0.0.13 → 0.0.15
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 +103 -207
- package/dist/index.js +239 -81
- package/dist/index.mjs +201 -43
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
# RankCLI
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**The only SEO tool with GEO (AI Search Optimization) and MCP for AI assistants.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Developer-first SEO. CLI-native. Optimizes for Google *and* ChatGPT, Perplexity, Claude.
|
|
6
|
+
|
|
7
|
+
## Why RankCLI?
|
|
8
|
+
|
|
9
|
+
| Feature | RankCLI | Competitors |
|
|
10
|
+
|---------|---------|-------------|
|
|
11
|
+
| **GEO (AI Search)** | ✅ Check if GPTBot/ClaudeBot can crawl | ❌ |
|
|
12
|
+
| **MCP Server** | ✅ AI assistants can run audits | ❌ |
|
|
13
|
+
| **Framework Fixes** | ✅ 25+ frameworks | ❌ |
|
|
14
|
+
| **CLI/CI Native** | ✅ Built for developers | ❌ |
|
|
15
|
+
| **Price** | **$15/mo** | $99-500/mo |
|
|
6
16
|
|
|
7
17
|
## Installation
|
|
8
18
|
|
|
9
19
|
```bash
|
|
10
|
-
npm install -g rankcli
|
|
11
|
-
# or
|
|
12
|
-
yarn global add rankcli
|
|
20
|
+
npm install -g @rankcli/cli
|
|
13
21
|
# or
|
|
14
|
-
pnpm add -g rankcli
|
|
22
|
+
pnpm add -g @rankcli/cli
|
|
15
23
|
```
|
|
16
24
|
|
|
17
|
-
Verify
|
|
25
|
+
Verify:
|
|
18
26
|
|
|
19
27
|
```bash
|
|
20
28
|
rankcli --version
|
|
@@ -29,227 +37,130 @@ rankcli audit --url https://yoursite.com
|
|
|
29
37
|
# Login to unlock all features
|
|
30
38
|
rankcli login
|
|
31
39
|
|
|
32
|
-
#
|
|
40
|
+
# Full 280+ check audit
|
|
33
41
|
rankcli audit --url https://yoursite.com --max-pages 5
|
|
34
42
|
```
|
|
35
43
|
|
|
36
|
-
##
|
|
44
|
+
## Core Features
|
|
37
45
|
|
|
38
|
-
###
|
|
46
|
+
### 🤖 GEO (Generative Engine Optimization)
|
|
39
47
|
|
|
40
|
-
|
|
41
|
-
# Email/password login
|
|
42
|
-
rankcli login
|
|
48
|
+
Check if AI crawlers can access your site:
|
|
43
49
|
|
|
44
|
-
|
|
45
|
-
rankcli
|
|
46
|
-
|
|
47
|
-
# Provide email directly
|
|
48
|
-
rankcli login --email you@example.com
|
|
50
|
+
```bash
|
|
51
|
+
rankcli audit --url https://yoursite.com --geo
|
|
49
52
|
```
|
|
50
53
|
|
|
51
|
-
|
|
54
|
+
Analyzes:
|
|
55
|
+
- **AI crawler access**: GPTBot, ClaudeBot, PerplexityBot, Google-Extended
|
|
56
|
+
- **JS rendering**: Can AI crawlers see your content?
|
|
57
|
+
- **LLM signals**: Content structure, citations, FAQ extraction
|
|
58
|
+
- **robots.txt**: Are you blocking AI search?
|
|
59
|
+
|
|
60
|
+
### 🔌 MCP Server (For AI Assistants)
|
|
52
61
|
|
|
53
|
-
|
|
62
|
+
Let Claude run SEO audits for you:
|
|
54
63
|
|
|
55
64
|
```bash
|
|
56
|
-
#
|
|
57
|
-
|
|
65
|
+
# Install the MCP server
|
|
66
|
+
npm install -g @rankcli/mcp-server
|
|
67
|
+
```
|
|
58
68
|
|
|
59
|
-
|
|
60
|
-
|
|
69
|
+
Configure in Claude Desktop:
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"mcpServers": {
|
|
73
|
+
"rankcli": {
|
|
74
|
+
"command": "npx",
|
|
75
|
+
"args": ["@rankcli/mcp-server"]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
61
79
|
```
|
|
62
80
|
|
|
63
|
-
|
|
81
|
+
Now Claude has 12 SEO tools: `seo_analyze`, `seo_geo_check`, `seo_structured_data`, and more.
|
|
82
|
+
|
|
83
|
+
### 🔧 Framework-Specific Fixes
|
|
64
84
|
|
|
65
|
-
|
|
85
|
+
Auto-generate fixes for 25+ frameworks:
|
|
66
86
|
|
|
67
87
|
```bash
|
|
68
|
-
rankcli
|
|
88
|
+
rankcli apply --url https://mysite.com
|
|
69
89
|
```
|
|
70
90
|
|
|
71
|
-
|
|
91
|
+
**Supported frameworks:**
|
|
92
|
+
- **JS/TS**: React, Next.js (App/Pages), Vue, Nuxt, Angular, Svelte, SvelteKit, Astro, Remix, Gatsby, Solid.js, Qwik
|
|
93
|
+
- **Backend**: Rails, Django, Laravel, Spring Boot, ASP.NET Core, Phoenix, Go (Gin/Echo/Fiber)
|
|
94
|
+
- **SSG**: Hugo, Jekyll, Eleventy, Pelican
|
|
95
|
+
- **Hypermedia**: HTMX, Hotwire/Turbo
|
|
72
96
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
97
|
+
### 📊 7 Deep Analyzers
|
|
98
|
+
|
|
99
|
+
| Analyzer | What It Does |
|
|
100
|
+
|----------|--------------|
|
|
101
|
+
| **GEO** | AI crawler access, LLM signals, citation readiness |
|
|
102
|
+
| **Core Web Vitals** | LCP, CLS, INP, TTFB estimation |
|
|
103
|
+
| **Security Headers** | HTTPS, HSTS, CSP (A+ to F grading) |
|
|
104
|
+
| **Structured Data** | JSON-LD validation, rich results |
|
|
105
|
+
| **Images** | Alt text, dimensions, modern formats |
|
|
106
|
+
| **Internal Links** | Anchor text, orphan detection |
|
|
107
|
+
| **Mobile SEO** | Viewport, touch targets, PWA |
|
|
76
108
|
|
|
77
109
|
## Commands
|
|
78
110
|
|
|
79
111
|
### `rankcli audit`
|
|
80
112
|
|
|
81
|
-
Run
|
|
113
|
+
Run comprehensive SEO audit (280+ checks).
|
|
82
114
|
|
|
83
115
|
```bash
|
|
84
116
|
rankcli audit [options]
|
|
85
117
|
|
|
86
118
|
Options:
|
|
87
119
|
-u, --url <url> URL to audit
|
|
88
|
-
-o, --output <format> Output
|
|
120
|
+
-o, --output <format> Output: json, console (default: console)
|
|
89
121
|
--max-pages <n> Max pages to crawl (default: 5)
|
|
90
|
-
--
|
|
91
|
-
--
|
|
92
|
-
--ai-
|
|
93
|
-
--ai-key <key> API key (or set OPENAI_API_KEY/ANTHROPIC_API_KEY)
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**Examples:**
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# Basic audit
|
|
100
|
-
rankcli audit --url https://example.com
|
|
101
|
-
|
|
102
|
-
# Multi-page audit with JSON output
|
|
103
|
-
rankcli audit --url https://example.com --max-pages 10 -o json > report.json
|
|
104
|
-
|
|
105
|
-
# AI-enhanced audit
|
|
106
|
-
rankcli audit --url https://example.com --ai
|
|
122
|
+
--geo Include GEO analysis
|
|
123
|
+
--check-links Check broken links
|
|
124
|
+
--ai AI-powered analysis
|
|
107
125
|
```
|
|
108
126
|
|
|
109
127
|
### `rankcli apply`
|
|
110
128
|
|
|
111
|
-
Generate and apply
|
|
129
|
+
Generate and apply framework-specific fixes.
|
|
112
130
|
|
|
113
131
|
```bash
|
|
114
|
-
rankcli apply
|
|
115
|
-
|
|
116
|
-
Options:
|
|
117
|
-
-u, --url <url> URL to analyze for fixes
|
|
118
|
-
--dry-run Preview changes without applying
|
|
119
|
-
--auto Apply all fixes without confirmation
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
**Examples:**
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
# Preview fixes
|
|
126
|
-
rankcli apply --url https://mysite.com --dry-run
|
|
127
|
-
|
|
128
|
-
# Apply fixes with confirmation
|
|
129
|
-
rankcli apply --url https://mysite.com
|
|
130
|
-
|
|
131
|
-
# Auto-apply all fixes (CI mode)
|
|
132
|
-
rankcli apply --url https://mysite.com --auto
|
|
132
|
+
rankcli apply --url https://mysite.com --dry-run # Preview
|
|
133
|
+
rankcli apply --url https://mysite.com --auto # Auto-apply
|
|
133
134
|
```
|
|
134
135
|
|
|
135
136
|
### `rankcli keywords`
|
|
136
137
|
|
|
137
|
-
AI-powered keyword research
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
rankcli keywords [options]
|
|
141
|
-
|
|
142
|
-
Options:
|
|
143
|
-
-u, --url <url> Your website URL
|
|
144
|
-
-s, --seed <keywords> Seed keywords (comma-separated)
|
|
145
|
-
--auto Auto-extract seed keywords from your page
|
|
146
|
-
--quick Quick mode - skip questions, use defaults
|
|
147
|
-
--ai Use GPT-4 for enhanced analysis
|
|
148
|
-
--local Force local processing (skip cloud worker)
|
|
149
|
-
--competitor Competitor gap analysis mode
|
|
150
|
-
-c, --competitors <domains> Competitor domains (comma-separated)
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
**Examples:**
|
|
138
|
+
AI-powered keyword research.
|
|
154
139
|
|
|
155
140
|
```bash
|
|
156
|
-
# AI-powered keyword research
|
|
157
141
|
rankcli keywords --url https://mysite.com --ai
|
|
158
|
-
|
|
159
|
-
# Quick analysis with seed keywords
|
|
160
|
-
rankcli keywords --url https://mysite.com --quick -s 'seo tools,seo audit'
|
|
161
|
-
|
|
162
|
-
# Competitor gap analysis
|
|
163
|
-
rankcli keywords --url https://mysite.com --competitor -c 'competitor1.com,competitor2.com' -s 'target keyword'
|
|
142
|
+
rankcli keywords --competitor -c 'competitor.com' -s 'target keyword'
|
|
164
143
|
```
|
|
165
144
|
|
|
166
145
|
### `rankcli content`
|
|
167
146
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
rankcli content [options]
|
|
172
|
-
|
|
173
|
-
Options:
|
|
174
|
-
-u, --url <url> URL to analyze
|
|
175
|
-
-k, --keyword <keyword> Target keyword for analysis
|
|
176
|
-
--headline <headline> Analyze a headline
|
|
177
|
-
--mode <mode> Analysis mode (full, readability, headline, snippet, density)
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
**Examples:**
|
|
147
|
+
Content analysis for readability and snippets.
|
|
181
148
|
|
|
182
149
|
```bash
|
|
183
|
-
|
|
184
|
-
rankcli content --url https://mysite.com/blog-post --keyword 'seo tips'
|
|
185
|
-
|
|
186
|
-
# Analyze headline
|
|
187
|
-
rankcli content --headline 'The Ultimate Guide to SEO'
|
|
150
|
+
rankcli content --url https://mysite.com/blog --keyword 'seo tips'
|
|
188
151
|
```
|
|
189
152
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
Classify search intent for a keyword.
|
|
193
|
-
|
|
194
|
-
```bash
|
|
195
|
-
rankcli intent <keyword>
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
**Examples:**
|
|
199
|
-
|
|
200
|
-
```bash
|
|
201
|
-
rankcli intent 'buy running shoes'
|
|
202
|
-
rankcli intent 'how to optimize images for seo'
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
### `rankcli setup`
|
|
206
|
-
|
|
207
|
-
Configure tracking and CI/CD integrations.
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
rankcli setup [options]
|
|
211
|
-
|
|
212
|
-
Options:
|
|
213
|
-
--ga4 <id> Google Analytics 4 Measurement ID (G-XXXXXXXXXX)
|
|
214
|
-
--gsc <code> Google Search Console verification code
|
|
215
|
-
--github-action Set up automated GitHub Action
|
|
216
|
-
--schedule <freq> GitHub Action schedule (daily, weekly, monthly)
|
|
217
|
-
--all Interactive setup wizard
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
**Examples:**
|
|
221
|
-
|
|
222
|
-
```bash
|
|
223
|
-
# Add GA4 tracking
|
|
224
|
-
rankcli setup --ga4 G-XXXXXXXXXX
|
|
225
|
-
|
|
226
|
-
# Create GitHub Actions workflow
|
|
227
|
-
rankcli setup --github-action
|
|
228
|
-
|
|
229
|
-
# Interactive setup wizard
|
|
230
|
-
rankcli setup --all
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
### `rankcli init`
|
|
234
|
-
|
|
235
|
-
Initialize RankCLI in your project.
|
|
153
|
+
## Authentication
|
|
236
154
|
|
|
237
155
|
```bash
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
Options:
|
|
241
|
-
-y, --yes Skip prompts and use defaults
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
### `rankcli analyze`
|
|
156
|
+
# Interactive login
|
|
157
|
+
rankcli login
|
|
245
158
|
|
|
246
|
-
|
|
159
|
+
# API key (for CI/CD)
|
|
160
|
+
rankcli login --token rankcli_your_api_key
|
|
247
161
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
Options:
|
|
252
|
-
-v, --verbose Show detailed output
|
|
162
|
+
# Or environment variable
|
|
163
|
+
export RANKCLI_API_KEY=rankcli_your_api_key
|
|
253
164
|
```
|
|
254
165
|
|
|
255
166
|
## CI/CD Integration
|
|
@@ -258,61 +169,46 @@ Options:
|
|
|
258
169
|
|
|
259
170
|
```yaml
|
|
260
171
|
name: SEO Audit
|
|
261
|
-
on:
|
|
262
|
-
push:
|
|
263
|
-
branches: [main]
|
|
264
|
-
pull_request:
|
|
172
|
+
on: [push, pull_request]
|
|
265
173
|
|
|
266
174
|
jobs:
|
|
267
175
|
audit:
|
|
268
176
|
runs-on: ubuntu-latest
|
|
269
177
|
steps:
|
|
270
178
|
- uses: actions/checkout@v4
|
|
271
|
-
|
|
272
|
-
-
|
|
273
|
-
run: npm install -g rankcli
|
|
274
|
-
|
|
275
|
-
- name: Run SEO Audit
|
|
276
|
-
run: rankcli audit --url ${{ secrets.SITE_URL }} -o json > audit.json
|
|
179
|
+
- run: npm install -g @rankcli/cli
|
|
180
|
+
- run: rankcli audit --url ${{ secrets.SITE_URL }} -o json > audit.json
|
|
277
181
|
env:
|
|
278
182
|
RANKCLI_API_KEY: ${{ secrets.RANKCLI_API_KEY }}
|
|
279
|
-
|
|
280
|
-
- name: Check for critical issues
|
|
183
|
+
- name: Fail on critical issues
|
|
281
184
|
run: |
|
|
282
185
|
errors=$(jq '.issues | map(select(.severity == "error")) | length' audit.json)
|
|
283
|
-
|
|
284
|
-
echo "::error::Found $errors critical SEO issues"
|
|
285
|
-
exit 1
|
|
286
|
-
fi
|
|
186
|
+
[ "$errors" -eq 0 ] || exit 1
|
|
287
187
|
```
|
|
288
188
|
|
|
289
|
-
|
|
189
|
+
## Environment Variables
|
|
290
190
|
|
|
291
191
|
| Variable | Description |
|
|
292
192
|
|----------|-------------|
|
|
293
|
-
| `RANKCLI_API_KEY` | API key for authentication
|
|
294
|
-
| `OPENAI_API_KEY` | OpenAI API key for AI
|
|
295
|
-
| `ANTHROPIC_API_KEY` | Anthropic API key (alternative
|
|
296
|
-
|
|
297
|
-
## Pricing Tiers
|
|
298
|
-
|
|
299
|
-
| Feature | Anonymous | Free | Solo ($9/mo) | Pro ($29/mo) |
|
|
300
|
-
|---------|-----------|------|--------------|--------------|
|
|
301
|
-
| SEO Checks | 50 | 100 | 280+ | 280+ |
|
|
302
|
-
| Cloud Sync | - | ✓ | ✓ | ✓ |
|
|
303
|
-
| GitHub Connect | - | - | ✓ | ✓ |
|
|
304
|
-
| Auto-Fix PRs | - | - | - | ✓ |
|
|
305
|
-
| Sites | 0 | 1 | 3 | 10 |
|
|
193
|
+
| `RANKCLI_API_KEY` | API key for authentication |
|
|
194
|
+
| `OPENAI_API_KEY` | OpenAI API key for AI features |
|
|
195
|
+
| `ANTHROPIC_API_KEY` | Anthropic API key (alternative) |
|
|
306
196
|
|
|
307
|
-
##
|
|
197
|
+
## Pricing
|
|
308
198
|
|
|
309
|
-
|
|
199
|
+
| Feature | Free | Pro ($15/mo) |
|
|
200
|
+
|---------|------|--------------|
|
|
201
|
+
| SEO Checks | 100 | 280+ |
|
|
202
|
+
| GEO Analysis | Basic | Full |
|
|
203
|
+
| Framework Fixes | - | ✅ 25+ |
|
|
204
|
+
| Auto-Fix PRs | - | ✅ |
|
|
205
|
+
| Sites | 1 | 10 |
|
|
310
206
|
|
|
311
|
-
##
|
|
207
|
+
## Links
|
|
312
208
|
|
|
313
|
-
-
|
|
314
|
-
- GitHub
|
|
315
|
-
-
|
|
209
|
+
- **Docs**: [rankcli.dev/docs](https://rankcli.dev/docs)
|
|
210
|
+
- **GitHub**: [github.com/rankcli/rankcli](https://github.com/rankcli/rankcli)
|
|
211
|
+
- **Support**: support@rankcli.dev
|
|
316
212
|
|
|
317
213
|
## License
|
|
318
214
|
|