searvex-seo 1.0.0 → 1.1.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/CHANGELOG.md +49 -0
- package/README.md +166 -179
- package/dist/analyze/audit.d.ts +8 -0
- package/dist/analyze/audit.js +12 -0
- package/dist/analyze/audit.js.map +1 -1
- package/dist/cli.d.ts +6 -1
- package/dist/cli.js +63 -11
- package/dist/cli.js.map +1 -1
- package/dist/commands/gsc.js +11 -2
- package/dist/commands/gsc.js.map +1 -1
- package/dist/commands/repo.js +9 -6
- package/dist/commands/repo.js.map +1 -1
- package/dist/commands/review.d.ts +11 -0
- package/dist/commands/review.js +72 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.js +33 -5
- package/dist/commands/run.js.map +1 -1
- package/dist/net/fetcher.d.ts +2 -2
- package/dist/net/fetcher.js +1 -1
- package/dist/optimize/fixes.js +68 -2
- package/dist/optimize/fixes.js.map +1 -1
- package/dist/repo/audit.js +2 -1
- package/dist/repo/audit.js.map +1 -1
- package/dist/report/brand.d.ts +4 -0
- package/dist/report/brand.js +7 -0
- package/dist/report/brand.js.map +1 -0
- package/dist/report/client.d.ts +15 -0
- package/dist/report/client.js +196 -0
- package/dist/report/client.js.map +1 -0
- package/dist/report/extras.d.ts +19 -0
- package/dist/report/extras.js +57 -0
- package/dist/report/extras.js.map +1 -0
- package/dist/report/html.d.ts +29 -3
- package/dist/report/html.js +144 -140
- package/dist/report/html.js.map +1 -1
- package/dist/report/i18n.d.ts +13 -0
- package/dist/report/i18n.js +202 -0
- package/dist/report/i18n.js.map +1 -0
- package/dist/report/prompt.d.ts +52 -0
- package/dist/report/prompt.js +120 -0
- package/dist/report/prompt.js.map +1 -0
- package/dist/report/remediation.d.ts +39 -0
- package/dist/report/remediation.js +83 -0
- package/dist/report/remediation.js.map +1 -0
- package/dist/searvex.mjs +4018 -2823
- package/knowledge/rules/international.json +3 -2
- package/knowledge/rules/metadata.json +5 -3
- package/package.json +9 -3
- package/skills/audit/SKILL.md +12 -9
- package/skills/geo/SKILL.md +2 -1
- package/skills/monitor/SKILL.md +3 -2
- package/skills/optimize/SKILL.md +11 -2
- package/skills/research/SKILL.md +1 -1
- package/skills/searvex/SKILL.md +33 -13
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
{
|
|
7
7
|
"name": "searvex",
|
|
8
8
|
"source": "./",
|
|
9
|
-
"description": "
|
|
9
|
+
"description": "Technical SEO + GEO audits with a bilingual action-center report, repair prompts for coding agents and safe code fixes with rollback."
|
|
10
10
|
}
|
|
11
11
|
]
|
|
12
12
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "searvex",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Understand search, fix what matters: deterministic technical SEO + GEO audits with a sourced rule base, a bilingual (EN/TR) action-center report with root-cause groups and repair prompts, competitor research, and safe, verified code fixes with rollback.",
|
|
5
5
|
"author": { "name": "Cihan Topaç", "url": "https://github.com/cihantopac" },
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"homepage": "https://github.com/cihantopac/searvex#readme",
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,55 @@ All notable changes to this project are documented here. The format follows
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [1.1.0] - 2026-11-01
|
|
9
|
+
|
|
10
|
+
A product-experience release: the analysis engine and its evidence are unchanged; how results are presented,
|
|
11
|
+
selected and fixed is new. Release notes: [docs/release-notes-1.1.0.md](docs/release-notes-1.1.0.md).
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- **Brand identity**: the approved Searvex logo (outlined SVG, theme-aware) in every HTML report header, an SVG
|
|
15
|
+
favicon in the reports, and the logo in the README. Source files in `docs/assets/brand/`.
|
|
16
|
+
- **SEO action center** (`report.html`): Overview (health score, issue groups, affected URLs, condition by area,
|
|
17
|
+
top three priorities, limits of the run), Priorities, Issues, GEO, Search performance (only with connected
|
|
18
|
+
data), Changes (only with a previous run) and Evidence. One shell for website, repository, monitor and
|
|
19
|
+
ecosystem reports.
|
|
20
|
+
- **English / Türkçe** interface with browser-language detection, and Turkish titles and fixes for all 90
|
|
21
|
+
rules. Evidence, URLs, code, file paths and rule ids are never translated.
|
|
22
|
+
- **Light / Dark / System** theme next to the language switch; both are remembered in `localStorage` (safe
|
|
23
|
+
fallback when storage is blocked) and applied before first paint.
|
|
24
|
+
- **Root-cause groups**: findings are split by URL template, source file or — when a rule hits most page types —
|
|
25
|
+
one shared layout, with page counts covering every affected URL. Every occurrence keeps a stable reference
|
|
26
|
+
(`ruleId#hash`).
|
|
27
|
+
- **Remediation labels**: automatic (only when a dry-run plan produced a concrete patch), agent-assisted or
|
|
28
|
+
manual/operational.
|
|
29
|
+
- **Issue selection and repair prompts**: select occurrences, groups or all visible issues, then generate an
|
|
30
|
+
editable prompt (Copy / Download Markdown, English or Turkish) for a coding agent. It contains the run id,
|
|
31
|
+
references, root-cause groups, evidence, fixes, verification steps and `optimize --only …` commands for the
|
|
32
|
+
automatic part. Secrets are redacted; crawled text is fenced as untrusted data. Website-only audits get a
|
|
33
|
+
remediation brief instead.
|
|
34
|
+
- `searvex review <runId|latest> <ref|ruleId> <confirmed|rejected|fixed> [--note]`: records agent/human
|
|
35
|
+
verdicts in `reviews.json`, shown next to (never instead of) the scanner evidence.
|
|
36
|
+
- `searvex open [runId|latest]` and `--open`: open the HTML report.
|
|
37
|
+
- Automatic fixes for three more rules (12 in total): identical duplicate `<title>` and meta description in
|
|
38
|
+
static HTML (conflicting duplicates become a task), relative hreflang URLs in static HTML (with `--site-url`).
|
|
39
|
+
- `run` writes `repository-report.html`; a website report produced with a repository knows that repository
|
|
40
|
+
(prompts target it; real patches count as automatic). `gsc report --audit` refreshes the audit's HTML with
|
|
41
|
+
the verified search data.
|
|
42
|
+
- `scripts/screenshots.mjs` captures README screenshots from a real report.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
- Terminal summary: score, issue types and affected pages, three priorities, automatic fixes, limits and the
|
|
46
|
+
`file://` link of the report — instead of twelve finding lines.
|
|
47
|
+
- Claude Code skills answer in 80–150 words with the report link and one next action; no phase-by-phase
|
|
48
|
+
narration, long tables or raw JSON in the chat.
|
|
49
|
+
- README rewritten as a visual product page with real report screenshots.
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
- Optimizer, monorepos: `robots.no-sitemap` generated a second sitemap for an app that already had one, and
|
|
53
|
+
used the single `--site-url` for an app served on another host (found on a real monorepo copy, where the
|
|
54
|
+
patch passed verification but would have published login routes under the wrong host). It now plans only
|
|
55
|
+
for the app the finding is about and turns ambiguous multi-app cases into a reviewed task.
|
|
56
|
+
|
|
8
57
|
## [1.0.0] - 2026-11-01
|
|
9
58
|
|
|
10
59
|
First stable release. Every capability advertised as supported has been verified end to end; Bing Webmaster
|
package/README.md
CHANGED
|
@@ -1,222 +1,209 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
>
|
|
9
|
-
|
|
10
|
-
>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
| | Searvex | Typical crawlers (Screaming Frog, Sitebulb) | Prompt-only SEO skills |
|
|
16
|
-
|---|---|---|---|
|
|
17
|
-
| Deterministic, reproducible checks | ✅ code, not prompts | ✅ | ❌ |
|
|
18
|
-
| Every finding cites an official source + check date | ✅ `searvex rules show <id>` | ❌ | ❌ |
|
|
19
|
-
| Myth firewall (no keyword density, fixed title lengths, llms.txt-as-ranking-factor…) | ✅ | partly | ❌ |
|
|
20
|
-
| Repository mode: findings with `file:line` for Next.js, Astro, Nuxt, Laravel, WordPress, static sites | ✅ | ❌ | partial |
|
|
21
|
-
| Safe fixes: dry-run diff → apply → re-verify → rollback | ✅ | ❌ | ❌ |
|
|
22
|
-
| GEO: AI crawler access by *purpose* (training vs search vs user fetch) | ✅ | partial | partial |
|
|
23
|
-
| Honest measurement: each finding is `verified`, `heuristic` or `unmeasurable` | ✅ | ❌ | ❌ |
|
|
24
|
-
| Local-first, no paid API required | ✅ | desktop app | ✅ |
|
|
25
|
-
|
|
26
|
-
Competitor research and differentiation notes: [docs/research/competitors-2026-10.md](docs/research/competitors-2026-10.md).
|
|
27
|
-
|
|
28
|
-
## What it does — and what it does not
|
|
29
|
-
|
|
30
|
-
**Searvex does:**
|
|
31
|
-
|
|
32
|
-
- Crawl public pages (robots.txt-compliant, rate-limited) or read a repository's source, and check them against
|
|
33
|
-
90 rules. 71 rules are `verified` against official documentation, 17 are `heuristic` and 2 are `unmeasurable`
|
|
34
|
-
signals that are reported as such.
|
|
35
|
-
- Explain every finding with its official source, the date the source was checked, how to fix it and how to
|
|
36
|
-
verify the fix.
|
|
37
|
-
- Compare runs over time (`monitor`), across related sites (`ecosystem`) and against competitors you name
|
|
38
|
-
(`research`).
|
|
39
|
-
- Fix a small set of problems in code automatically (9 rule types: e.g. missing `lang`, viewport, robots.txt
|
|
40
|
-
sitemap line, invalid hreflang codes), always as a dry-run diff first, then apply → re-verify → rollback.
|
|
41
|
-
- Read Search Console data from a CSV export you download (no account needed), or from the Search Console
|
|
42
|
-
API (your own OAuth client) and the Bing API (experimental) when you connect them yourself, and keep measured data separate from inference.
|
|
43
|
-
|
|
44
|
-
**Searvex does not:**
|
|
45
|
-
|
|
46
|
-
- Estimate traffic, rankings, search volume, keyword difficulty, backlinks or AI citations. Without a connected
|
|
47
|
-
data source these are reported as **not measured**.
|
|
48
|
-
- Promise rankings or "SEO scores" that search engines use. The health score is a Searvex summary, not a search
|
|
49
|
-
engine metric.
|
|
50
|
-
- Publish content, submit URLs, change live sites or send data to a Searvex server (there is none).
|
|
51
|
-
- Offer a one-click Google login. Search Console access uses your own Google Cloud OAuth client, or a CSV
|
|
52
|
-
export you download yourself.
|
|
53
|
-
- See login-protected pages, run Lighthouse lab tests, or execute JavaScript unless you opt into `--render`.
|
|
54
|
-
- Rewrite your content. Judgement-based changes (titles, descriptions, alt text) are drafted by the agent for your
|
|
55
|
-
review, never applied silently.
|
|
56
|
-
|
|
57
|
-
## Install
|
|
58
|
-
|
|
59
|
-
Requires **Node.js ≥ 20.10** (Windows, macOS, Linux). The npm package is `searvex-seo`; the command it installs is `searvex`.
|
|
1
|
+
<h1 align="center">
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/brand/primary-reversed.svg">
|
|
4
|
+
<img alt="Searvex" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/brand/primary-color.svg" width="320">
|
|
5
|
+
</picture>
|
|
6
|
+
</h1>
|
|
7
|
+
|
|
8
|
+
<p align="center"><strong>Understand Search. Fix What Matters.</strong></p>
|
|
9
|
+
|
|
10
|
+
<p align="center">
|
|
11
|
+
Open-source SEO and AI-search auditor for websites and code repositories. It finds what is actually wrong,
|
|
12
|
+
groups it by root cause, explains it with official sources and fixes the safe parts in your code — with
|
|
13
|
+
verification and one-command rollback. CLI and Claude Code plugin.
|
|
14
|
+
</p>
|
|
60
15
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="https://www.npmjs.com/package/searvex-seo"><img alt="npm" src="https://img.shields.io/npm/v/searvex-seo?color=0e4f55&label=npm"></a>
|
|
18
|
+
<a href="https://github.com/cihantopac/searvex/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/cihantopac/searvex/actions/workflows/ci.yml/badge.svg"></a>
|
|
19
|
+
<a href="LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-0e4f55"></a>
|
|
20
|
+
<img alt="Node ≥ 20.10" src="https://img.shields.io/badge/node-%E2%89%A5%2020.10-0e4f55">
|
|
21
|
+
</p>
|
|
64
22
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
23
|
+
<p align="center">
|
|
24
|
+
<picture>
|
|
25
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/dashboard-dark.webp">
|
|
26
|
+
<img alt="Searvex HTML report: health score, issue groups, affected URLs, condition by area and the three issues to fix first" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/dashboard-light.webp" width="900">
|
|
27
|
+
</picture>
|
|
28
|
+
<br><sub>Real report of a live site (ovokodo.com, 52 pages, 2026-11-01). English / Türkçe · light / dark / system.</sub>
|
|
29
|
+
</p>
|
|
68
30
|
|
|
69
|
-
|
|
31
|
+
## What Searvex does
|
|
70
32
|
|
|
71
|
-
|
|
33
|
+
<picture>
|
|
34
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/workflow-dark.svg">
|
|
35
|
+
<img alt="Workflow: Audit, Understand, Prioritize, Fix, Verify, Monitor" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/workflow-light.svg" width="900">
|
|
36
|
+
</picture>
|
|
72
37
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
38
|
+
- **Audit** a live site (robots.txt-compliant crawl) or a repository (Next.js, Astro, Nuxt, Laravel, WordPress, static HTML).
|
|
39
|
+
- **Understand** every finding: evidence, the official source it is based on and the date that source was checked.
|
|
40
|
+
- **Prioritize** by root cause: one broken layout on 50 pages is one task, not 50.
|
|
41
|
+
- **Fix** what can be fixed safely, in your code, after you approve a diff — or hand the rest to your coding agent with a ready-made repair prompt.
|
|
42
|
+
- **Verify** by re-auditing; failed verification rolls back automatically.
|
|
43
|
+
- **Monitor** what improved or regressed since the last run.
|
|
77
44
|
|
|
78
|
-
|
|
79
|
-
audit → GEO → change since last run → research → repository audit → fix plan → approved fixes → content
|
|
80
|
-
plan → monitoring) with approval checkpoints. Single steps are available as the namespaced skills `/searvex:audit`, `/searvex:research`,
|
|
81
|
-
`/searvex:optimize`, `/searvex:geo`, `/searvex:monitor`. The plugin bundles the CLI
|
|
82
|
-
(`dist/searvex.mjs`), so no `npm install` is needed.
|
|
45
|
+
## From findings to fixes
|
|
83
46
|
|
|
84
|
-
|
|
47
|
+
<table>
|
|
48
|
+
<tr>
|
|
49
|
+
<td width="50%" valign="top">
|
|
85
50
|
|
|
86
|
-
|
|
87
|
-
# Everything in order with one crawl: audit → GEO → change since last run → research → repo audit → fix plan (dry run)
|
|
88
|
-
searvex run https://example.com ./my-site --competitor https://rival-a.com
|
|
51
|
+
**Select what to fix.** Issues are grouped by root cause — a URL template, a source file or a shared layout — and labelled by how they get fixed:
|
|
89
52
|
|
|
90
|
-
|
|
91
|
-
|
|
53
|
+
- **Automatic** — a deterministic Searvex optimizer produced a verified patch.
|
|
54
|
+
- **Agent-assisted** — needs source or content judgement.
|
|
55
|
+
- **Manual** — deployment, server, Search Console or business decisions.
|
|
92
56
|
|
|
93
|
-
|
|
94
|
-
|
|
57
|
+
</td>
|
|
58
|
+
<td width="50%" valign="top">
|
|
95
59
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
60
|
+
<picture>
|
|
61
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/issues-dark.webp">
|
|
62
|
+
<img alt="Issues grouped by root cause with selection checkboxes" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/issues-light.webp">
|
|
63
|
+
</picture>
|
|
100
64
|
|
|
101
|
-
|
|
102
|
-
|
|
65
|
+
</td>
|
|
66
|
+
</tr>
|
|
67
|
+
<tr>
|
|
68
|
+
<td width="50%" valign="top">
|
|
103
69
|
|
|
104
|
-
|
|
105
|
-
|
|
70
|
+
<picture>
|
|
71
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/prompt-dark.webp">
|
|
72
|
+
<img alt="Editable repair prompt with copy and Markdown download" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/prompt-light.webp">
|
|
73
|
+
</picture>
|
|
106
74
|
|
|
107
|
-
|
|
108
|
-
|
|
75
|
+
</td>
|
|
76
|
+
<td width="50%" valign="top">
|
|
109
77
|
|
|
110
|
-
|
|
111
|
-
searvex monitor https://example.com --fail-on high
|
|
78
|
+
**Generate a repair prompt** for Claude Code, Codex or any coding agent: target and run id, stable finding references, exact URLs or `file:line`, root-cause groups, evidence, the fix and how to verify it. The receiving agent is told to re-check the source, reject false positives, fix root causes once, get approval and re-audit.
|
|
112
79
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
80
|
+
Secrets are redacted and crawled text is fenced as untrusted data. Without a repository the prompt becomes a remediation brief — the report never pretends it can edit your site.
|
|
81
|
+
|
|
82
|
+
</td>
|
|
83
|
+
</tr>
|
|
84
|
+
</table>
|
|
85
|
+
|
|
86
|
+
## Capabilities
|
|
87
|
+
|
|
88
|
+
| | |
|
|
89
|
+
|---|---|
|
|
90
|
+
| **Technical SEO** | Crawlability, indexability, canonicals, redirects, hreflang, metadata, structured data (Google rich-result requirements), links, performance signals, security. |
|
|
91
|
+
| **GEO / AI search** | AI crawler access by purpose (search vs. training vs. user fetch), snippet controls, entity consistency, content clarity. AI citations are reported as *not measured*. |
|
|
92
|
+
| **Repository checks** | Findings with `file:line` for framework source code, not only rendered HTML. |
|
|
93
|
+
| **Search Console & CrUX** | Optional, read-only: Search Console API (your own OAuth client) or CSV export, Chrome UX Report field data. Measured data is kept apart from inference. |
|
|
94
|
+
| **Competitor research** | Topic and page-type coverage gaps against competitors you name — labelled as hypotheses, not demand. |
|
|
95
|
+
| **Optimization** | 12 rule types fixed automatically (e.g. missing `lang`/viewport, canonicals, sitemap + robots.txt, identical duplicate `<title>`/description, hreflang codes and relative URLs): dry run → approval → apply → verify → rollback. |
|
|
96
|
+
| **Monitoring** | Changes since the previous run in every report; `monitor` and `--fail-on high` for CI. |
|
|
97
|
+
|
|
98
|
+
## Evidence, not claims
|
|
126
99
|
|
|
127
|
-
|
|
128
|
-
(`--format md,html,json,sarif`). Use `--fail-on high` in CI to fail builds on serious issues.
|
|
129
|
-
Full reference: [docs/cli.md](docs/cli.md).
|
|
100
|
+
Status: **v1.1.0** ([release notes](docs/release-notes-1.1.0.md), [changelog](CHANGELOG.md)).
|
|
130
101
|
|
|
131
|
-
|
|
102
|
+
- **90 rules**, each with an official source and check date: **71 verified**, **17 heuristic**, **2 unmeasurable** (reported, never scored). `searvex rules show <id>`.
|
|
103
|
+
- **Automated tests** across unit, integration, Playwright and end-to-end runs of the bundled CLI; CI on Linux, macOS and Windows with Node 20, 22 and 24 ([quality report](docs/quality.md)).
|
|
104
|
+
- **Real-world validation** on 13 public sites and 9 repositories; **live** Search Console and CrUX checks returned values identical to the official exports and raw API.
|
|
105
|
+
- **Real issues it found**, confirmed against live HTML: a 404 page listed in MDN's sitemap; two `<title>` elements on every page of an Inertia.js site; Turkish URLs that switch to English (and to "page not found") for an en-US browser.
|
|
106
|
+
- **Safety:** read-only by default, SSRF protection, robots.txt always honoured, secret files never read, changes journaled with byte-for-byte rollback, reports rendered without `innerHTML` under a strict CSP.
|
|
132
107
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
108
|
+
Searvex never promises rankings, indexing, traffic or AI citations. The health score is Searvex's own summary of its findings, not a search-engine metric.
|
|
109
|
+
|
|
110
|
+
## Quick start
|
|
111
|
+
|
|
112
|
+
Requires **Node.js ≥ 20.10**. The npm package is `searvex-seo`; the command is `searvex`.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm install -g searvex-seo
|
|
116
|
+
```
|
|
141
117
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
118
|
+
```bash
|
|
119
|
+
searvex audit https://example.com --open
|
|
120
|
+
```
|
|
145
121
|
|
|
146
|
-
|
|
147
|
-
|
|
122
|
+
```bash
|
|
123
|
+
searvex audit ./my-site --site-url https://example.com
|
|
124
|
+
```
|
|
148
125
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
126
|
+
```bash
|
|
127
|
+
searvex optimize ./my-site --site-url https://example.com --lang en
|
|
128
|
+
```
|
|
152
129
|
|
|
153
|
-
|
|
154
|
-
|
|
130
|
+
Reports land in `.searvex/runs/<runId>/` (`report.html`, `.md`, `.json`, optional `.sarif`). `searvex open latest`
|
|
131
|
+
opens the newest one. Full reference: [docs/cli.md](docs/cli.md).
|
|
155
132
|
|
|
156
|
-
|
|
133
|
+
**Claude Code plugin** — no npm install needed:
|
|
157
134
|
|
|
158
|
-
|
|
135
|
+
```
|
|
136
|
+
/plugin marketplace add cihantopac/searvex
|
|
137
|
+
/plugin install searvex@searvex
|
|
138
|
+
```
|
|
159
139
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
conflicts, canonical conflicts (including canonicals pushed into `<body>` by invalid head markup),
|
|
164
|
-
hreflang reciprocity and codes, soft 404s, client-side-only rendering, duplicate and near-duplicate
|
|
165
|
-
content (template-aware), retired rich-result types (FAQ, HowTo), entity consistency, declared vs actual
|
|
166
|
-
content language, untranslated headings on localized pages.
|
|
140
|
+
Then `/searvex <url> [path]` runs the whole workflow with approval checkpoints and answers with a short
|
|
141
|
+
summary plus the report link. Single steps: `/searvex:audit`, `/searvex:geo`, `/searvex:research`,
|
|
142
|
+
`/searvex:optimize`, `/searvex:monitor`.
|
|
167
143
|
|
|
168
|
-
|
|
169
|
-
URLs with check dates, how to fix and how to verify — see [docs/knowledge-base.md](docs/knowledge-base.md).
|
|
144
|
+
**Optional search data** (read-only, asked once per site):
|
|
170
145
|
|
|
171
|
-
|
|
146
|
+
```bash
|
|
147
|
+
searvex connect https://example.com
|
|
148
|
+
```
|
|
172
149
|
|
|
150
|
+
```bash
|
|
151
|
+
searvex gsc import performance-export.zip --audit latest
|
|
173
152
|
```
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
├── Repository mode: safe file walker → framework detection → source checks / static-site analysis
|
|
178
|
-
│
|
|
179
|
-
├── Analyzers: technical · structured data · GEO · content · inventory ← rule knowledge base
|
|
180
|
-
├── Reports: Markdown · HTML · JSON · SARIF
|
|
181
|
-
└── Optimizer: deterministic fix planners → transaction (backup, verify, rollback)
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
searvex crux auth
|
|
182
156
|
```
|
|
183
157
|
|
|
184
|
-
|
|
185
|
-
and drafts judgement-based changes (titles, descriptions, alt text) for the user's approval.
|
|
186
|
-
Details: [docs/architecture.md](docs/architecture.md).
|
|
158
|
+
Without them, clicks, impressions, positions and Core Web Vitals are shown as **not measured** — never estimated.
|
|
187
159
|
|
|
188
|
-
|
|
160
|
+
<details>
|
|
161
|
+
<summary><b>More commands</b></summary>
|
|
189
162
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
163
|
+
```bash
|
|
164
|
+
searvex run https://example.com ./my-site --competitor https://rival.example # whole workflow, one crawl
|
|
165
|
+
searvex geo https://example.com # AI crawler access
|
|
166
|
+
searvex research https://example.com --competitor https://rival.example # coverage gaps
|
|
167
|
+
searvex monitor https://example.com --fail-on high # regressions in CI
|
|
168
|
+
searvex ecosystem https://company.example https://product.example # related sites
|
|
169
|
+
searvex review latest <ref> rejected --note "behind login" # record a verdict
|
|
170
|
+
searvex rollback <changeId> ./my-site
|
|
171
|
+
searvex gsc auth --client client_secret.json && searvex gsc report --audit latest
|
|
172
|
+
searvex bing auth && searvex bing report https://example.com/ # experimental
|
|
173
|
+
```
|
|
198
174
|
|
|
199
|
-
|
|
175
|
+
| Integration | Status |
|
|
176
|
+
|---|---|
|
|
177
|
+
| Search Console CSV/ZIP import | supported (verified with real TR + EN exports) |
|
|
178
|
+
| Search Console API (`gsc auth`) | supported (verified live) |
|
|
179
|
+
| CrUX API (`crux auth`) | supported (verified live) |
|
|
180
|
+
| JavaScript rendering (`--render`, Playwright) | supported |
|
|
181
|
+
| Bing Webmaster API (`bing auth`) | experimental |
|
|
182
|
+
|
|
183
|
+
</details>
|
|
200
184
|
|
|
201
185
|
## Limitations
|
|
202
186
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
conservatively. Use website mode against a deployment for rendered output.
|
|
210
|
-
- Analysis is in-memory: tested to 20,000 pages (~25 KB/page); very large sites need `--max-pages` or sections (`--include`).
|
|
187
|
+
Website mode sees public pages only. Market data (search volumes, backlinks, SERP features) and AI citations are
|
|
188
|
+
not fetched or estimated. Repository mode is static analysis: runtime-computed metadata is resolved
|
|
189
|
+
conservatively. In repositories with several apps, sitemaps are left to a reviewed task because one site URL
|
|
190
|
+
cannot tell which host serves which app. Full list: [docs/limitations.md](docs/limitations.md).
|
|
191
|
+
|
|
192
|
+
## Related tools
|
|
211
193
|
|
|
212
|
-
|
|
194
|
+
Complementary open-source tools by the same author — independent, not required:
|
|
213
195
|
|
|
214
|
-
|
|
196
|
+
| | |
|
|
197
|
+
|---|---|
|
|
198
|
+
| [**Relivaro**](https://github.com/cihantopac/relivaro) | Software reliability, security and release readiness. |
|
|
199
|
+
| [**Jourilo**](https://github.com/cihantopac/jourilo) | UX and conversion engineering in real browser journeys. |
|
|
200
|
+
| [**Markilo**](https://github.com/cihantopac/markilo) | Brand identity and vector design for Claude Code. |
|
|
215
201
|
|
|
216
|
-
|
|
217
|
-
official source and a test fixture. See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
202
|
+
## Contributing, security, license
|
|
218
203
|
|
|
219
|
-
|
|
204
|
+
Rules, framework adapters and fixtures are the most valuable contributions — every rule needs an official source
|
|
205
|
+
and a test fixture ([CONTRIBUTING.md](CONTRIBUTING.md)). Security: [SECURITY.md](SECURITY.md),
|
|
206
|
+
[docs/security.md](docs/security.md), [docs/privacy.md](docs/privacy.md). Architecture:
|
|
207
|
+
[docs/architecture.md](docs/architecture.md).
|
|
220
208
|
|
|
221
|
-
[Apache-2.0](LICENSE).
|
|
222
|
-
(not legal trademark clearance).
|
|
209
|
+
[Apache-2.0](LICENSE). Name availability notes: [docs/research/name-availability-2026-10.md](docs/research/name-availability-2026-10.md) (not legal trademark clearance).
|
package/dist/analyze/audit.d.ts
CHANGED
|
@@ -49,7 +49,15 @@ export interface AuditReport {
|
|
|
49
49
|
fieldData?: CruxResult;
|
|
50
50
|
externalLinks?: ExternalLinkResult;
|
|
51
51
|
limitations: string[];
|
|
52
|
+
/** Distinct URLs (website) or locations (repository) with at least one non-informational finding. */
|
|
53
|
+
affectedUrls?: number;
|
|
54
|
+
/** Whether JavaScript was executed for at least one page (`--render`). */
|
|
55
|
+
rendered?: boolean;
|
|
52
56
|
}
|
|
57
|
+
/** Distinct affected URLs/files across all non-informational findings. */
|
|
58
|
+
export declare function countAffected(findings: Array<Finding & {
|
|
59
|
+
count: number;
|
|
60
|
+
}>, affected: (ruleId: string) => string[]): number;
|
|
53
61
|
export interface Scores {
|
|
54
62
|
/** 0–100. Searvex health score: a summary of Searvex findings, NOT a search engine metric. */
|
|
55
63
|
overall: number;
|
package/dist/analyze/audit.js
CHANGED
|
@@ -12,6 +12,16 @@ import { runTechnicalChecks } from './technical.js';
|
|
|
12
12
|
import { prioritise } from './priority.js';
|
|
13
13
|
import { checkExternalLinks } from './external-links.js';
|
|
14
14
|
import { failingMetrics, queryCrux } from '../integrations/crux.js';
|
|
15
|
+
/** Distinct affected URLs/files across all non-informational findings. */
|
|
16
|
+
export function countAffected(findings, affected) {
|
|
17
|
+
const all = new Set();
|
|
18
|
+
for (const f of findings)
|
|
19
|
+
if (f.severity !== 'info' && f.confidence !== 'unmeasurable')
|
|
20
|
+
for (const u of affected(f.ruleId))
|
|
21
|
+
if (!/\/robots\.txt$/.test(u))
|
|
22
|
+
all.add(u);
|
|
23
|
+
return all.size;
|
|
24
|
+
}
|
|
15
25
|
/** "87/100", or "n/a" when nothing could be audited. */
|
|
16
26
|
export function scoreLabel(s) {
|
|
17
27
|
return s.notApplicable ? 'n/a (nothing to audit)' : `${s.overall}/100`;
|
|
@@ -162,6 +172,8 @@ export async function analyzeCrawl(result, kb, opts = {}) {
|
|
|
162
172
|
fieldData,
|
|
163
173
|
externalLinks,
|
|
164
174
|
limitations,
|
|
175
|
+
affectedUrls: countAffected(findings, (id) => sink.affected(id)),
|
|
176
|
+
rendered: result.pages.some((p) => p.rendered),
|
|
165
177
|
};
|
|
166
178
|
}
|
|
167
179
|
//# sourceMappingURL=audit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/analyze/audit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/analyze/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -29,5 +29,10 @@ export declare function crawlOptionsFrom(v: GlobalFlags['values']): {
|
|
|
29
29
|
export declare function log(v: GlobalFlags['values'], ...args: unknown[]): void;
|
|
30
30
|
export declare function writeReports(store: RunStore, report: AuditReport, kb: KnowledgeBase, formats: string[]): string[];
|
|
31
31
|
export declare function failOnExit(report: AuditReport, failOn: unknown): number;
|
|
32
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Short, decision-oriented terminal summary: score, issue groups, top three priorities, automatic fixes,
|
|
34
|
+
* important limits and the path of the interactive report. Details live in the HTML report.
|
|
35
|
+
*/
|
|
36
|
+
export declare function printSummary(report: AuditReport, files: string[], v: GlobalFlags['values'], autoRules?: string[]): void;
|
|
37
|
+
export declare function summaryText(report: AuditReport, files: string[], autoRules?: string[]): string;
|
|
33
38
|
export declare function main(argv?: string[]): Promise<number>;
|