@houseofmvps/claude-rank 1.7.2 → 1.8.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "claude-rank",
3
3
  "description": "The most comprehensive SEO/GEO/AEO plugin for Claude Code. Audit, fix, and dominate search.",
4
- "version": "1.7.2",
4
+ "version": "1.8.0",
5
5
  "author": {
6
6
  "name": "Houseofmvps",
7
7
  "email": "houseofmvps2024@gmail.com"
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  <img src="assets/hero-banner.png" alt="claude-rank — SEO/GEO/AEO Plugin for Claude Code" width="100%"/>
4
4
 
5
- ### The most comprehensive SEO/GEO/AEO plugin for Claude Code. 85+ rules. Competitive X-Ray. Auto-fix everything. Dominate search — traditional and AI.
5
+ ### The most comprehensive SEO/GEO/AEO plugin for Claude Code. 150+ rules. Competitive X-Ray. Auto-fix everything. Dominate search — traditional and AI.
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/%40houseofmvps%2Fclaude-rank?style=for-the-badge&logo=npm&color=CB3837)](https://www.npmjs.com/package/@houseofmvps/claude-rank)
8
8
  [![npm downloads](https://img.shields.io/npm/dm/%40houseofmvps%2Fclaude-rank?style=for-the-badge&logo=npm&color=blue&label=Monthly%20Downloads)](https://www.npmjs.com/package/@houseofmvps/claude-rank)
@@ -188,13 +188,16 @@ That's not an SEO problem. That's a visibility problem across every search surfa
188
188
  /claude-rank:rank-audit
189
189
  ```
190
190
 
191
- One command. Three scanners run in parallel — SEO, GEO, and AEO. 85+ rules checked. Every finding gets an automated fix. Score tracked over time. **Then it tells you exactly what to do in Google Search Console and Bing Webmaster Tools.**
191
+ One command. Eight scanners run in parallel — SEO, GEO, AEO, AI Citability, Content Intelligence, Performance, Vertical SEO, and Security. 150+ rules checked. Every finding gets an automated fix. Score tracked over time. **Then it tells you exactly what to do in Google Search Console and Bing Webmaster Tools.**
192
192
 
193
193
  ```
194
- SEO Score: 87/100 ████████████░░ (39 rules)
195
- GEO Score: 92/100 █████████████░ (34 rules)
196
- AEO Score: 78/100 ██████████░░░░ (12 rules)
197
- Overall: 86/100 READY TO RANK
194
+ SEO Score: 87/100 ████████████░░ (49 rules)
195
+ GEO Score: 92/100 █████████████░ (40 rules)
196
+ AEO Score: 78/100 ██████████░░░░ (12 rules)
197
+ Citability Score: 65/100 ████████░░░░░░ (7 dimensions)
198
+ Performance: 90/100 █████████████░ (13 rules)
199
+ Security: 80/100 ███████████░░░ (15 rules)
200
+ Overall: 86/100 READY TO RANK
198
201
  ```
199
202
 
200
203
  **Score below 80?** Run `/claude-rank:rank-fix` and it auto-generates what's missing — robots.txt, sitemap.xml, llms.txt, JSON-LD schema — then re-scans to show your improvement.
@@ -203,29 +206,30 @@ Overall: 86/100 READY TO RANK
203
206
 
204
207
  ## What It Does
205
208
 
206
- ### SEO Scanner — 39 Rules
209
+ ### SEO Scanner — 49 Rules
207
210
 
208
211
  Traditional search optimization. The foundation.
209
212
 
210
213
  | Category | What it checks |
211
214
  |---|---|
212
215
  | **Meta** | Title (length, uniqueness), meta description, viewport, charset, canonical URL, lang attribute |
213
- | **Content** | H1 presence, heading hierarchy, word count, image alt text, thin content detection |
214
- | **Technical** | robots.txt, sitemap.xml, HTTPS, mobile-friendly viewport, analytics detection, redirect chain detection |
215
- | **Structured Data** | JSON-LD presence, schema validation against Google's required fields (14 schema types) |
216
- | **Cross-Page** | Duplicate titles across pages, duplicate descriptions, canonical conflicts, orphan pages |
216
+ | **Content** | H1 presence, heading hierarchy, word count, image alt text, thin content, readability (Flesch-Kincaid), passive voice, wall-of-text paragraphs |
217
+ | **Technical** | robots.txt, sitemap.xml, HTTPS, mixed content, mobile-friendly viewport, analytics detection (30+ providers), redirect chain detection, lazy loading, hreflang validation |
218
+ | **Structured Data** | JSON-LD presence, schema validation against Google's required fields (14 schema types), dateModified freshness |
219
+ | **Cross-Page** | Duplicate titles, duplicate descriptions, duplicate content (Jaccard similarity >80%), canonical conflicts, orphan pages |
220
+ | **Keyword Relevance** | Title-content keyword alignment, meta description-content alignment |
217
221
 
218
- ### GEO Scanner — 34 Rules
222
+ ### GEO Scanner — 40 Rules
219
223
 
220
224
  Generative Engine Optimization. For AI search engines: ChatGPT, Perplexity, Gemini, Google AI Overviews.
221
225
 
222
226
  | Category | What it checks |
223
227
  |---|---|
224
- | **AI Crawlers** | robots.txt rules for 9 bots (GPTBot, PerplexityBot, ClaudeBot, Claude-Web, Google-Extended, CCBot, anthropic-ai, Googlebot, Bingbot) |
228
+ | **AI Crawlers** | robots.txt rules for 11 bots (GPTBot, PerplexityBot, ClaudeBot, Claude-Web, Google-Extended, CCBot, AppleBot, Bytespider, Meta-ExternalAgent, Amazonbot, anthropic-ai) |
225
229
  | **AI Discoverability** | llms.txt presence, sitemap.xml, structured data quality |
226
- | **Content Structure** | Question-format H2s, definition patterns, statistics, data tables, lists |
227
- | **Citation Readiness** | Passage length (134-167 word sweet spot), direct answers in first 40-60 words |
228
- | **Authority Signals** | Author attribution, organization schema, source citations |
230
+ | **Content Structure** | Question-format H2s (with marketing header filtering), definition patterns, statistics, data tables, lists |
231
+ | **Citation Readiness** | Passage length (134-167 word sweet spot), direct answers in first 40-60 words, source citations to .edu/.gov/.org |
232
+ | **Authority Signals** | Author attribution, organization schema, dateModified freshness, content freshness |
229
233
 
230
234
  ### AEO Scanner — 12 Rules
231
235
 
@@ -238,6 +242,67 @@ Answer Engine Optimization. Featured snippets, People Also Ask, voice search.
238
242
  | **Voice Search** | Concise answers under 29 words (Google voice search average), conversational phrasing |
239
243
  | **Rich Results** | Featured image, breadcrumb markup, review schema |
240
244
 
245
+ ### AI Citability Score — 7 Dimensions (NEW)
246
+
247
+ Proprietary scoring algorithm based on GEO research. Scores how likely AI engines are to cite each page (0-100).
248
+
249
+ | Dimension | Weight | What it measures |
250
+ |---|---|---|
251
+ | **Statistic Density** | 0-15 | Data points per 200 words (+33.9% visibility boost) |
252
+ | **Front-loading** | 0-15 | Key answer in first 30% of content (44.2% of citations come from there) |
253
+ | **Source Citations** | 0-15 | Links to .edu/.gov/research domains (+30.3% visibility) |
254
+ | **Expert Attribution** | 0-15 | Person schema, author bios, expert quotes (+32% boost) |
255
+ | **Definition Clarity** | 0-10 | "X is..." / "X refers to..." extraction patterns |
256
+ | **Schema Completeness** | 0-15 | Organization + Author + Article + FAQ + Breadcrumb coverage |
257
+ | **Content Structure** | 0-15 | Heading hierarchy, lists, paragraph segmentation |
258
+
259
+ ### Content Intelligence (NEW)
260
+
261
+ Deep content quality analysis across all pages.
262
+
263
+ | Category | What it analyzes |
264
+ |---|---|
265
+ | **Readability** | Flesch-Kincaid score, Gunning Fog index, per-page scoring |
266
+ | **Passive Voice** | Percentage of passive sentences per page |
267
+ | **Duplicate Detection** | Jaccard similarity fingerprinting across all page pairs |
268
+ | **Thin Content** | Pages under 300 words flagged |
269
+ | **Wall of Text** | Paragraphs over 150 words identified |
270
+ | **Internal Linking** | Suggestions for pages sharing H2 topics that should cross-link |
271
+
272
+ ### Performance Risk Assessment — 13 Rules (NEW)
273
+
274
+ Performance risk detection from static HTML — no Chrome or Lighthouse needed.
275
+
276
+ | Category | What it checks |
277
+ |---|---|
278
+ | **CLS Risk** | Images without width/height dimensions |
279
+ | **Render Blocking** | Scripts without async/defer, excessive blocking scripts |
280
+ | **Payload** | Large inline CSS (>50KB), large inline JS (>50KB), too many external domains |
281
+ | **Loading** | Missing lazy loading, missing fetchpriority for LCP image |
282
+ | **Fonts** | Web fonts without font-display: swap (FOIT/FOUT risk) |
283
+ | **Resource Hints** | Missing preload/prefetch, missing preconnect |
284
+ | **Security** | Mixed content (HTTP resources on HTTPS pages) |
285
+
286
+ ### Vertical SEO — 20 Rules (NEW)
287
+
288
+ Auto-detects e-commerce and local business sites, then runs specialized checks.
289
+
290
+ | Type | Rules | What it checks |
291
+ |---|---|---|
292
+ | **E-Commerce** | 10 | Product schema, Offer schema, AggregateRating, reviews, product images, descriptions, breadcrumbs, pricing, availability, duplicate descriptions |
293
+ | **Local Business** | 10 | LocalBusiness schema, NAP data, geo coordinates, opening hours, Google Maps, clickable phone, local keywords, address element, service area pages, review schema |
294
+
295
+ ### Security & Headers — 15 Rules (NEW)
296
+
297
+ Security compliance that directly affects SEO rankings (Google confirmed HTTPS as a ranking signal).
298
+
299
+ | Category | What it checks |
300
+ |---|---|
301
+ | **HTTPS** | HTTP-only canonical/og:url, mixed content (scripts vs resources), upgrade-insecure-requests |
302
+ | **Headers** | CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy (via meta tags) |
303
+ | **Integrity** | Subresource Integrity (SRI) on external scripts |
304
+ | **Safety** | Inline event handlers, form actions over HTTP, password autocomplete, target="_blank" noopener, iframe sandbox |
305
+
241
306
  ### Competitive X-Ray — NEW in v1.7
242
307
 
243
308
  Point at any competitor URL. claude-rank fetches their page and compares everything side-by-side:
@@ -380,10 +445,15 @@ Each audit produces separate SEO, GEO, and AEO scores plus a composite. Same rul
380
445
 
381
446
  | Command | Description |
382
447
  |---------|-------------|
383
- | `claude-rank scan ./project` | Full SEO scan (39 rules) |
448
+ | `claude-rank scan ./project` | Full SEO scan (49 rules) |
384
449
  | `claude-rank scan https://example.com` | Crawl and scan a live site (up to 50 pages) |
385
- | `claude-rank geo ./project` | GEO scan — AI search optimization (34 rules) |
450
+ | `claude-rank geo ./project` | GEO scan — AI search optimization (40 rules) |
386
451
  | `claude-rank aeo ./project` | AEO scan — answer engine optimization (12 rules) |
452
+ | `claude-rank citability ./project` | AI Citability Score — 7-dimension analysis |
453
+ | `claude-rank content ./project` | Content intelligence — readability, duplicates, linking |
454
+ | `claude-rank perf ./project` | Performance risk assessment (13 rules, no Chrome needed) |
455
+ | `claude-rank vertical ./project` | Vertical SEO — e-commerce + local business (20 rules) |
456
+ | `claude-rank security ./project` | Security headers audit (15 rules) |
387
457
  | `claude-rank compete https://competitor.com .` | Competitive X-Ray — side-by-side comparison |
388
458
  | `claude-rank cwv https://example.com` | Core Web Vitals via Lighthouse (optional) |
389
459
  | `claude-rank schema ./project` | Detect and validate structured data |
@@ -403,6 +473,11 @@ Each audit produces separate SEO, GEO, and AEO scores plus a composite. Same rul
403
473
  | `/claude-rank:rank-fix` | Auto-fix all findings in one command |
404
474
  | `/claude-rank:rank-schema` | Detect, validate, generate, inject JSON-LD |
405
475
  | `/claude-rank:rank-compete` | Competitive X-Ray — compare vs any competitor URL |
476
+ | `/claude-rank:rank-citability` | AI Citability Score — 7-dimension analysis |
477
+ | `/claude-rank:rank-content` | Content intelligence analysis |
478
+ | `/claude-rank:rank-perf` | Performance risk assessment |
479
+ | `/claude-rank:rank-vertical` | E-Commerce / Local Business SEO |
480
+ | `/claude-rank:rank-security` | Security headers audit |
406
481
 
407
482
  ---
408
483
 
@@ -410,8 +485,8 @@ Each audit produces separate SEO, GEO, and AEO scores plus a composite. Same rul
410
485
 
411
486
  | Feature | claude-rank | claude-seo |
412
487
  |---------|:-----------:|:----------:|
413
- | SEO rules | 39 | ~20 |
414
- | GEO — AI search (Perplexity, ChatGPT, Gemini) | 34 rules | Basic |
488
+ | SEO rules | 49 | ~20 |
489
+ | GEO — AI search (Perplexity, ChatGPT, Gemini) | 40 rules | Basic |
415
490
  | AEO — featured snippets, voice search | 12 rules | None |
416
491
  | Core Web Vitals / Lighthouse | Yes (optional) | No |
417
492
  | Redirect chain detection | Yes | No |
@@ -424,9 +499,14 @@ Each audit produces separate SEO, GEO, and AEO scores plus a composite. Same rul
424
499
  | Multi-page URL crawling (up to 50 pages) | Yes | No |
425
500
  | HTML report export (agency-ready) | Yes | No |
426
501
  | CI/CD threshold mode | Yes | No |
502
+ | AI Citability Score (7-dimension) | Yes | No |
503
+ | Content Intelligence (readability, duplicates) | Yes | No |
504
+ | Performance Risk Assessment | Yes (no Chrome needed) | No |
505
+ | Vertical SEO (e-commerce + local) | Yes — auto-detection | No |
506
+ | Security Headers Audit | Yes | No |
427
507
  | Competitive analysis (X-Ray) | Yes — side-by-side comparison | No |
428
508
  | Tech stack detection (50+ patterns) | Yes | No |
429
- | AI bot detection | 9 bots | Basic |
509
+ | AI bot detection | 11 bots | Basic |
430
510
  | llms.txt generation | Yes | No |
431
511
  | robots.txt generation | Yes | No |
432
512
  | sitemap.xml generation | Yes | No |
@@ -452,7 +532,7 @@ Two terms that matter and are often confused:
452
532
  | **SSRF protection** | All HTTP tools block private IPs, cloud metadata, non-HTTP schemes |
453
533
  | **No telemetry** | Zero data collection. No phone-home. Ever. |
454
534
  | **1 dependency** | `htmlparser2` only (30KB). No native bindings. No `node-gyp`. |
455
- | **265 tests** | Security module, all scanners, competitive X-Ray, CLI, integration tests |
535
+ | **332 tests** | Security module, all scanners, competitive X-Ray, CLI, integration tests |
456
536
  | **File safety** | 10MB read cap. 5MB response cap. Restrictive write permissions. |
457
537
 
458
538
  See [SECURITY.md](SECURITY.md) for the full vulnerability disclosure policy.
@@ -463,10 +543,10 @@ See [SECURITY.md](SECURITY.md) for the full vulnerability disclosure policy.
463
543
 
464
544
  | Category | Count | Highlights |
465
545
  |---|---|---|
466
- | **Tools** | 10 | SEO scanner (39 rules), GEO scanner (34 rules), AEO scanner (12 rules), Competitive X-Ray (50+ tech patterns), Lighthouse/CWV scanner, schema engine, robots analyzer, sitemap analyzer, llms.txt generator, audit history |
546
+ | **Tools** | 15 | SEO scanner (49 rules), GEO scanner (40 rules), AEO scanner (12 rules), AI Citability scorer (7 dimensions), Content analyzer, Performance scanner (13 rules), Vertical scanner (20 rules), Security scanner (15 rules), Competitive X-Ray (50+ tech patterns), Lighthouse/CWV scanner, schema engine, robots analyzer, sitemap analyzer, llms.txt generator, audit history |
467
547
  | **Skills** | 7 | /claude-rank:rank, /claude-rank:rank-audit, /claude-rank:rank-geo, /claude-rank:rank-aeo, /claude-rank:rank-fix, /claude-rank:rank-schema, /claude-rank:rank-compete |
468
548
  | **Agents** | 4 | SEO auditor (project-type-aware), GEO auditor (AI readiness levels), AEO auditor (snippet opportunities), Schema auditor (Google validation) |
469
- | **Commands** | 7 | All slash commands above |
549
+ | **Commands** | 12 | All slash commands above |
470
550
  | **Research** | 3 | SEO benchmarks, GEO research, schema catalog |
471
551
 
472
552
  ---
@@ -509,7 +589,7 @@ Found a bug? Want a new scanner rule? [Open an issue](https://github.com/Houseof
509
589
  git clone https://github.com/Houseofmvps/claude-rank.git
510
590
  cd claude-rank
511
591
  npm install
512
- npm test # 265 tests, node:test
592
+ npm test # 332 tests, node:test
513
593
  node tools/<tool>.mjs # No build step
514
594
  ```
515
595
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  // Standalone CLI: npx claude-rank <command> <directory>
3
- // Commands: scan, geo, aeo, compete, cwv, schema
3
+ // Commands: scan, geo, aeo, compete, cwv, schema, citability, content, perf, vertical, security
4
4
 
5
5
  const args = process.argv.slice(2);
6
6
  const jsonFlag = args.includes('--json');
@@ -40,6 +40,11 @@ const commands = {
40
40
  geo: '../tools/geo-scanner.mjs',
41
41
  aeo: '../tools/aeo-scanner.mjs',
42
42
  schema: '../tools/schema-engine.mjs',
43
+ citability: '../tools/citability-scorer.mjs',
44
+ content: '../tools/content-analyzer.mjs',
45
+ perf: '../tools/perf-scanner.mjs',
46
+ vertical: '../tools/vertical-scanner.mjs',
47
+ security: '../tools/security-scanner.mjs',
43
48
  };
44
49
 
45
50
  if (command === 'help' || command === '--help') {
@@ -48,13 +53,18 @@ if (command === 'help' || command === '--help') {
48
53
  Usage: claude-rank <command> [directory|url] [flags]
49
54
 
50
55
  Commands:
51
- scan Run core SEO scanner (default)
52
- geo Run GEO (AI search) scanner
53
- aeo Run AEO (answer engine) scanner
54
- compete Competitive X-Ray compare your site vs any competitor URL
55
- cwv Run Core Web Vitals / Lighthouse audit (needs Chrome installed)
56
- schema Detect and validate structured data
57
- help Show this help message
56
+ scan Run core SEO scanner (default)
57
+ geo Run GEO (AI search) scanner
58
+ aeo Run AEO (answer engine) scanner
59
+ citability Score AI citability (7-dimension analysis)
60
+ content Content quality analysis (readability, duplicates, linking)
61
+ perf Performance scanner (images, CSS, JS, blocking resources)
62
+ vertical Vertical-specific checks (e-commerce, local business)
63
+ security Security header and vulnerability scanner
64
+ compete Competitive X-Ray — compare your site vs any competitor URL
65
+ cwv Run Core Web Vitals / Lighthouse audit (needs Chrome installed)
66
+ schema Detect and validate structured data
67
+ help Show this help message
58
68
 
59
69
  Flags:
60
70
  --json Output raw JSON (for programmatic use)
@@ -168,6 +178,11 @@ const {
168
178
  formatGeoReport,
169
179
  formatAeoReport,
170
180
  formatSchemaReport,
181
+ formatCitabilityReport,
182
+ formatContentReport,
183
+ formatPerfReport,
184
+ formatVerticalReport,
185
+ formatSecurityReport,
171
186
  } = await import(new URL('../tools/lib/formatter.mjs', import.meta.url));
172
187
 
173
188
  const formatters = {
@@ -175,6 +190,11 @@ const formatters = {
175
190
  geo: formatGeoReport,
176
191
  aeo: formatAeoReport,
177
192
  schema: formatSchemaReport,
193
+ citability: formatCitabilityReport,
194
+ content: formatContentReport,
195
+ perf: formatPerfReport,
196
+ vertical: formatVerticalReport,
197
+ security: formatSecurityReport,
178
198
  };
179
199
 
180
200
  // URL-based scanning (scan command only)
@@ -279,7 +299,7 @@ if (isUrl) {
279
299
  }
280
300
  } else {
281
301
  const mod = await import(new URL(toolPath, import.meta.url));
282
- const result = mod.scanDirectory(targetDir);
302
+ const result = command === 'content' ? mod.analyzeDirectory(targetDir) : mod.scanDirectory(targetDir);
283
303
  if (jsonFlag) {
284
304
  console.log(JSON.stringify(result, null, 2));
285
305
  } else {
@@ -288,11 +308,15 @@ if (isUrl) {
288
308
 
289
309
  // Check threshold
290
310
  if (thresholdFlag != null) {
291
- const scoreKey = command === 'scan' ? 'seo' : command;
292
- const score = result.scores?.[scoreKey] ?? 0;
293
- if (score < thresholdFlag) {
294
- console.error(`Score ${score} is below threshold ${thresholdFlag}`);
295
- process.exit(1);
311
+ const scoreKey = command === 'scan' ? 'seo' : command === 'citability' ? 'citability' : command === 'perf' ? 'performance' : command === 'content' ? null : command;
312
+ if (scoreKey === null) {
313
+ // content scanner has no single score skip threshold check
314
+ } else {
315
+ const score = result.scores?.[scoreKey] ?? 0;
316
+ if (score < thresholdFlag) {
317
+ console.error(`Score ${score} is below threshold ${thresholdFlag}`);
318
+ process.exit(1);
319
+ }
296
320
  }
297
321
  }
298
322
  }
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: rank-citability
3
+ description: Score how likely AI search engines are to cite your content.
4
+ ---
5
+
6
+ # AI Citability Score
7
+
8
+ Run the 7-dimension citability analysis to score how likely AI engines are to cite your pages.
9
+
10
+ ```bash
11
+ node ${CLAUDE_PLUGIN_ROOT}/tools/citability-scorer.mjs <directory>
12
+ ```
13
+
14
+ Dimensions scored:
15
+ 1. **Statistic Density** (0-15) — data points per 200 words
16
+ 2. **Front-loading** (0-15) — key answer in first 30% of content
17
+ 3. **Source Citations** (0-15) — links to .edu/.gov/research domains
18
+ 4. **Expert Attribution** (0-15) — Person schema, author bios, quotes
19
+ 5. **Definition Clarity** (0-10) — "X is..." patterns
20
+ 6. **Schema Completeness** (0-15) — Organization + Author + Article + FAQ + Breadcrumb
21
+ 7. **Content Structure** (0-15) — headings, lists, paragraphs
22
+
23
+ Present per-page scores ranked best to worst, plus actionable recommendations.
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: rank-content
3
+ description: Analyze content quality — readability, duplicates, internal linking.
4
+ ---
5
+
6
+ # Content Analysis
7
+
8
+ Run content intelligence analysis on all HTML pages.
9
+
10
+ ```bash
11
+ node ${CLAUDE_PLUGIN_ROOT}/tools/content-analyzer.mjs <directory>
12
+ ```
13
+
14
+ Analysis includes:
15
+ - **Readability** — Flesch-Kincaid and Gunning Fog scores per page
16
+ - **Passive Voice** — percentage of passive sentences
17
+ - **Duplicate Detection** — Jaccard similarity across pages (>70% flagged)
18
+ - **Thin Content** — pages under 300 words
19
+ - **Wall of Text** — paragraphs over 150 words
20
+ - **Internal Linking** — suggestions for pages with shared topics
21
+
22
+ Present per-page analysis table and actionable recommendations.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: rank-perf
3
+ description: Performance risk assessment from HTML structure — no Chrome needed.
4
+ ---
5
+
6
+ # Performance Scanner
7
+
8
+ Assess performance risks from static HTML analysis. No Chrome or Lighthouse needed.
9
+
10
+ ```bash
11
+ node ${CLAUDE_PLUGIN_ROOT}/tools/perf-scanner.mjs <directory>
12
+ ```
13
+
14
+ Checks include:
15
+ - Images without width/height (CLS risk)
16
+ - Render-blocking scripts (no async/defer)
17
+ - Large inline CSS/JS (>50KB)
18
+ - Missing lazy loading on images
19
+ - Missing fetchpriority on LCP image
20
+ - No font-display: swap on web fonts
21
+ - Missing resource hints (preload/prefetch)
22
+ - Mixed content (HTTP resources on HTTPS page)
23
+ - Too many external script domains
24
+ - Missing preconnect hints
25
+
26
+ Present findings with severity and fix suggestions.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: rank-security
3
+ description: Security headers and HTTPS compliance audit for SEO.
4
+ ---
5
+
6
+ # Security Scanner
7
+
8
+ Scan HTML files for security headers and HTTPS compliance that affect SEO rankings.
9
+
10
+ ```bash
11
+ node ${CLAUDE_PLUGIN_ROOT}/tools/security-scanner.mjs <directory>
12
+ ```
13
+
14
+ Checks include (15 rules):
15
+ - HTTP-only canonical/og:url (ranking signal loss)
16
+ - Mixed content (scripts and resources)
17
+ - CSP, X-Content-Type-Options, X-Frame-Options meta tags
18
+ - Referrer policy and Permissions-Policy
19
+ - Subresource Integrity (SRI) on external scripts
20
+ - Inline event handlers (CSP violations)
21
+ - Form actions over HTTP
22
+ - Password input autocomplete
23
+ - target="_blank" without rel="noopener"
24
+ - Iframes without sandbox
25
+
26
+ Note: This is a static HTML scanner. Server response headers must be checked separately.
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: rank-vertical
3
+ description: E-Commerce and Local Business SEO checks with auto-detection.
4
+ ---
5
+
6
+ # Vertical SEO Scanner
7
+
8
+ Auto-detects site type (e-commerce, local business) and runs specialized checks.
9
+
10
+ ```bash
11
+ node ${CLAUDE_PLUGIN_ROOT}/tools/vertical-scanner.mjs <directory>
12
+ ```
13
+
14
+ **E-Commerce** (10 rules): Product schema, Offer schema, AggregateRating, reviews, product images, descriptions, breadcrumbs, pricing, availability, duplicate descriptions.
15
+
16
+ **Local Business** (10 rules): LocalBusiness schema, NAP data, geo coordinates, opening hours, Google Maps, clickable phone, local keywords, address element, service area pages, review schema.
17
+
18
+ Present detected site type, applicable findings, and recommendations.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@houseofmvps/claude-rank",
3
- "version": "1.7.2",
3
+ "version": "1.8.0",
4
4
  "description": "The most comprehensive SEO/GEO/AEO plugin for Claude Code. Audit, fix, and dominate search — traditional and AI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,8 +16,11 @@ description: "Main orchestrator for claude-rank SEO/GEO/AEO toolkit. Routes to s
16
16
  | `/rank fix [dir]` | rank-fix | Auto-fix all findings |
17
17
  | `/rank schema [dir]` | rank-schema | Schema detect/validate/generate |
18
18
  | `/rank compete <url> [dir]` | rank-compete | Competitive X-Ray vs any URL |
19
-
20
- *Future phases (not yet implemented): technical, content, speed, local, images, keywords, report, plan*
19
+ | `/rank citability [dir]` | rank-citability | AI Citability Score (7-dimension) |
20
+ | `/rank content [dir]` | rank-content | Content quality analysis |
21
+ | `/rank perf [dir]` | rank-perf | Performance risk assessment |
22
+ | `/rank vertical [dir]` | rank-vertical | E-Commerce / Local Business checks |
23
+ | `/rank security [dir]` | rank-security | Security headers audit |
21
24
 
22
25
  ## Quick Health Check (bare /rank)
23
26