searvex-seo 1.0.0 → 1.1.1
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 +64 -0
- package/README.md +89 -191
- 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 +145 -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 +4035 -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.1",
|
|
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,70 @@ All notable changes to this project are documented here. The format follows
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [1.1.1] - 2026-11-01
|
|
9
|
+
|
|
10
|
+
Visual polish; the analysis engine, rules, evidence and CLI are unchanged. Release notes:
|
|
11
|
+
[docs/release-notes-1.1.1.md](docs/release-notes-1.1.1.md).
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- HTML report themes follow the Searvex brand palette (warm paper / ink / teal; coral only in the logo caret),
|
|
15
|
+
with light and dark variants checked for WCAG AA contrast. Severity colours are unchanged in meaning.
|
|
16
|
+
- Overview: "Fix these first" moved directly below the key numbers; the limits of a run are a one-line summary
|
|
17
|
+
with expandable details instead of a large notice.
|
|
18
|
+
- Turkish: the limits summary is fully translated; clearer wording for shared layouts, automatic fixes and
|
|
19
|
+
informational findings.
|
|
20
|
+
- Mobile: two-column KPI grid with a full-width score card and a smaller gauge.
|
|
21
|
+
- README shortened and refocused; workflow diagrams and screenshots refreshed from the final report.
|
|
22
|
+
|
|
23
|
+
## [1.1.0] - 2026-11-01
|
|
24
|
+
|
|
25
|
+
A product-experience release: the analysis engine and its evidence are unchanged; how results are presented,
|
|
26
|
+
selected and fixed is new. Release notes: [docs/release-notes-1.1.0.md](docs/release-notes-1.1.0.md).
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
- **Brand identity**: the approved Searvex logo (outlined SVG, theme-aware) in every HTML report header, an SVG
|
|
30
|
+
favicon in the reports, and the logo in the README. Source files in `docs/assets/brand/`.
|
|
31
|
+
- **SEO action center** (`report.html`): Overview (health score, issue groups, affected URLs, condition by area,
|
|
32
|
+
top three priorities, limits of the run), Priorities, Issues, GEO, Search performance (only with connected
|
|
33
|
+
data), Changes (only with a previous run) and Evidence. One shell for website, repository, monitor and
|
|
34
|
+
ecosystem reports.
|
|
35
|
+
- **English / Türkçe** interface with browser-language detection, and Turkish titles and fixes for all 90
|
|
36
|
+
rules. Evidence, URLs, code, file paths and rule ids are never translated.
|
|
37
|
+
- **Light / Dark / System** theme next to the language switch; both are remembered in `localStorage` (safe
|
|
38
|
+
fallback when storage is blocked) and applied before first paint.
|
|
39
|
+
- **Root-cause groups**: findings are split by URL template, source file or — when a rule hits most page types —
|
|
40
|
+
one shared layout, with page counts covering every affected URL. Every occurrence keeps a stable reference
|
|
41
|
+
(`ruleId#hash`).
|
|
42
|
+
- **Remediation labels**: automatic (only when a dry-run plan produced a concrete patch), agent-assisted or
|
|
43
|
+
manual/operational.
|
|
44
|
+
- **Issue selection and repair prompts**: select occurrences, groups or all visible issues, then generate an
|
|
45
|
+
editable prompt (Copy / Download Markdown, English or Turkish) for a coding agent. It contains the run id,
|
|
46
|
+
references, root-cause groups, evidence, fixes, verification steps and `optimize --only …` commands for the
|
|
47
|
+
automatic part. Secrets are redacted; crawled text is fenced as untrusted data. Website-only audits get a
|
|
48
|
+
remediation brief instead.
|
|
49
|
+
- `searvex review <runId|latest> <ref|ruleId> <confirmed|rejected|fixed> [--note]`: records agent/human
|
|
50
|
+
verdicts in `reviews.json`, shown next to (never instead of) the scanner evidence.
|
|
51
|
+
- `searvex open [runId|latest]` and `--open`: open the HTML report.
|
|
52
|
+
- Automatic fixes for three more rules (12 in total): identical duplicate `<title>` and meta description in
|
|
53
|
+
static HTML (conflicting duplicates become a task), relative hreflang URLs in static HTML (with `--site-url`).
|
|
54
|
+
- `run` writes `repository-report.html`; a website report produced with a repository knows that repository
|
|
55
|
+
(prompts target it; real patches count as automatic). `gsc report --audit` refreshes the audit's HTML with
|
|
56
|
+
the verified search data.
|
|
57
|
+
- `scripts/screenshots.mjs` captures README screenshots from a real report.
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
- Terminal summary: score, issue types and affected pages, three priorities, automatic fixes, limits and the
|
|
61
|
+
`file://` link of the report — instead of twelve finding lines.
|
|
62
|
+
- Claude Code skills answer in 80–150 words with the report link and one next action; no phase-by-phase
|
|
63
|
+
narration, long tables or raw JSON in the chat.
|
|
64
|
+
- README rewritten as a visual product page with real report screenshots.
|
|
65
|
+
|
|
66
|
+
### Fixed
|
|
67
|
+
- Optimizer, monorepos: `robots.no-sitemap` generated a second sitemap for an app that already had one, and
|
|
68
|
+
used the single `--site-url` for an app served on another host (found on a real monorepo copy, where the
|
|
69
|
+
patch passed verification but would have published login routes under the wrong host). It now plans only
|
|
70
|
+
for the app the finding is about and turns ambiguous multi-app cases into a reviewed task.
|
|
71
|
+
|
|
8
72
|
## [1.0.0] - 2026-11-01
|
|
9
73
|
|
|
10
74
|
First stable release. Every capability advertised as supported has been verified end to end; Bing Webmaster
|
package/README.md
CHANGED
|
@@ -1,222 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
>
|
|
9
|
-
|
|
10
|
-
>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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.<br>
|
|
12
|
+
Finds what is wrong, groups it by root cause and fixes the safe parts in your code — with rollback.
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<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>
|
|
17
|
+
<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>
|
|
18
|
+
<a href="LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-0e4f55"></a>
|
|
19
|
+
<img alt="Node ≥ 20.10" src="https://img.shields.io/badge/node-%E2%89%A5%2020.10-0e4f55">
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<picture>
|
|
24
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/dashboard-dark.webp">
|
|
25
|
+
<img alt="Searvex report overview: health score, issue groups, what was not covered, and the three issues to fix first" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/dashboard-light.webp" width="900">
|
|
26
|
+
</picture>
|
|
27
|
+
<br><sub>Unedited capture of a real report (ovokodo.com, 52 pages). English / Türkçe · light / dark / system.</sub>
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
## Quick start
|
|
60
31
|
|
|
61
32
|
```bash
|
|
62
33
|
npm install -g searvex-seo
|
|
63
34
|
```
|
|
64
35
|
|
|
65
36
|
```bash
|
|
66
|
-
searvex --
|
|
37
|
+
searvex audit https://example.com --open
|
|
67
38
|
```
|
|
68
39
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
In Claude Code:
|
|
40
|
+
Or as a **Claude Code plugin**, no npm install needed:
|
|
72
41
|
|
|
73
42
|
```
|
|
74
43
|
/plugin marketplace add cihantopac/searvex
|
|
75
44
|
/plugin install searvex@searvex
|
|
76
45
|
```
|
|
77
46
|
|
|
78
|
-
Then
|
|
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.
|
|
83
|
-
|
|
84
|
-
## Usage
|
|
85
|
-
|
|
86
|
-
```bash
|
|
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
|
|
89
|
-
|
|
90
|
-
# Website mode: crawl (robots.txt-compliant, rate-limited) and audit
|
|
91
|
-
searvex audit https://example.com --max-pages 300
|
|
92
|
-
|
|
93
|
-
# Repository mode: detect the framework and analyse source files
|
|
94
|
-
searvex audit ./my-next-app
|
|
95
|
-
|
|
96
|
-
# Safe fixes for a repository: dry run first (default), then apply with verification
|
|
97
|
-
searvex optimize ./my-site --site-url https://example.com --lang en
|
|
98
|
-
searvex optimize ./my-site --site-url https://example.com --lang en --apply
|
|
99
|
-
searvex rollback <changeId> ./my-site
|
|
100
|
-
|
|
101
|
-
# GEO / AI-search readiness
|
|
102
|
-
searvex geo https://example.com
|
|
103
|
-
|
|
104
|
-
# Brand family / product ecosystem across related sites
|
|
105
|
-
searvex ecosystem https://company.example https://product-a.example https://product-b.example
|
|
106
|
-
|
|
107
|
-
# Competitor & content-gap research (competitors are passed explicitly)
|
|
108
|
-
searvex research https://example.com --competitor https://rival-a.com --competitor https://rival-b.com
|
|
109
|
-
|
|
110
|
-
# Regression monitoring against the previous run (optionally with Search Console data)
|
|
111
|
-
searvex monitor https://example.com --fail-on high
|
|
112
|
-
|
|
113
|
-
# Optional search performance data: Google / CSV / skip (asked once per site)
|
|
114
|
-
searvex connect https://example.com
|
|
115
|
-
searvex gsc import performance-export.zip --audit latest # Search Console CSV export, no account access
|
|
116
|
-
searvex gsc auth --client client_secret.json # your own Google OAuth "Desktop app" client
|
|
117
|
-
searvex gsc report sc-domain:example.com --audit latest
|
|
118
|
-
searvex bing auth && searvex bing report https://example.com/ # Bing API key, asked once (hidden input)
|
|
119
|
-
|
|
120
|
-
# Inspect the rule base and re-verify its official sources
|
|
121
|
-
searvex rules check-sources
|
|
122
|
-
searvex rules list
|
|
123
|
-
searvex rules show canonical.in-body
|
|
124
|
-
searvex rules validate
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Reports are written to `.searvex/runs/<runId>/` as Markdown, interactive HTML, JSON and SARIF
|
|
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).
|
|
130
|
-
|
|
131
|
-
### Optional integrations (read-only, opt-in)
|
|
132
|
-
|
|
133
|
-
| Variable | Enables | Status |
|
|
134
|
-
|---|---|---|
|
|
135
|
-
| `npm i -D playwright` | `--render`: JavaScript rendering and raw-vs-rendered comparison | supported |
|
|
136
|
-
| `searvex gsc import export.zip` | Search Console Performance CSV/ZIP exports (no account access; no query × page data) | supported² |
|
|
137
|
-
| `searvex gsc auth` (or `SEARVEX_GSC_TOKEN`) | Search Console query × page analysis, `monitor` performance | supported³ |
|
|
138
|
-
| `searvex bing auth` (or `SEARVEX_BING_API_KEY`) | Bing Webmaster Tools query × page analysis | experimental¹ |
|
|
139
|
-
| `searvex crux auth` (or `SEARVEX_CRUX_API_KEY`) | Real-user Core Web Vitals (Chrome UX Report API) | supported⁴ |
|
|
140
|
-
| `SEARVEX_CREDENTIAL_STORE=keychain` | Keep the Search Console refresh token in the OS keychain instead of a 0600 file | supported |
|
|
141
|
-
|
|
142
|
-
¹ Experimental: implemented and tested against recorded API behaviour and synthetic exports, but not yet
|
|
143
|
-
verified against the live service or real exports in every UI language. Interfaces may change; please report
|
|
144
|
-
problems. See [docs/release-checklist.md](docs/release-checklist.md).
|
|
145
|
-
|
|
146
|
-
² Verified with real exports downloaded in the Turkish and English Search Console UI (both give identical
|
|
147
|
-
results); other UI languages are recognised from published UI terms.
|
|
148
|
-
|
|
149
|
-
³ Verified against the live Search Console API (authorization, refresh, property discovery, pagination,
|
|
150
|
-
reports; totals identical to the CSV export of the same period). Revocation on `gsc logout` is tested against a
|
|
151
|
-
mock server only.
|
|
47
|
+
Then run `/searvex <url> [path]`. Requires Node.js ≥ 20.10. Full reference: [docs/cli.md](docs/cli.md).
|
|
152
48
|
|
|
153
|
-
|
|
154
|
-
real-user traffic are reported as not measured.
|
|
49
|
+
## How it works
|
|
155
50
|
|
|
156
|
-
|
|
51
|
+
<picture>
|
|
52
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/workflow-dark.svg">
|
|
53
|
+
<img alt="Workflow: Audit, Understand, Prioritize, Fix, Verify, Monitor" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/workflow-light.svg" width="900">
|
|
54
|
+
</picture>
|
|
55
|
+
|
|
56
|
+
| | |
|
|
57
|
+
|---|---|
|
|
58
|
+
| **Audit** | A live site (robots.txt-compliant crawl) or a repository: Next.js, Astro, Nuxt, Laravel, WordPress, static HTML. |
|
|
59
|
+
| **Understand** | Every finding comes with evidence, an official source and the date that source was checked. |
|
|
60
|
+
| **Prioritize** | One broken layout on 50 pages is one task, not 50. |
|
|
61
|
+
| **Fix** | Approve a diff for safe fixes, or hand the rest to your coding agent with a ready-made repair prompt. |
|
|
62
|
+
| **Verify & monitor** | Re-audit after a change; failed verification rolls back. Regressions show up in the next run and in CI. |
|
|
63
|
+
|
|
64
|
+
## From findings to fixes
|
|
65
|
+
|
|
66
|
+
<table>
|
|
67
|
+
<tr>
|
|
68
|
+
<td width="50%" valign="top">
|
|
69
|
+
<picture>
|
|
70
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/issues-dark.webp">
|
|
71
|
+
<img alt="Issues grouped by root cause, with selection checkboxes" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/issues-light.webp">
|
|
72
|
+
</picture>
|
|
73
|
+
<p><b>Select what to fix.</b> Issues are grouped by root cause and labelled <i>automatic</i>, <i>agent-assisted</i> or <i>manual</i>.</p>
|
|
74
|
+
</td>
|
|
75
|
+
<td width="50%" valign="top">
|
|
76
|
+
<picture>
|
|
77
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/prompt-dark.webp">
|
|
78
|
+
<img alt="Editable repair prompt with copy and Markdown download" src="https://raw.githubusercontent.com/cihantopac/searvex/main/docs/assets/prompt-light.webp">
|
|
79
|
+
</picture>
|
|
80
|
+
<p><b>Generate a repair prompt</b> for Claude Code, Codex or any agent: exact URLs or <code>file:line</code>, evidence, fix and verification. Secrets redacted.</p>
|
|
81
|
+
</td>
|
|
82
|
+
</tr>
|
|
83
|
+
</table>
|
|
157
84
|
|
|
158
85
|
## What it checks
|
|
159
86
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
content (template-aware), retired rich-result types (FAQ, HowTo), entity consistency, declared vs actual
|
|
166
|
-
content language, untranslated headings on localized pages.
|
|
167
|
-
|
|
168
|
-
Each rule records the engines it applies to (Google, Bing, Yandex, AI systems), the official source
|
|
169
|
-
URLs with check dates, how to fix and how to verify — see [docs/knowledge-base.md](docs/knowledge-base.md).
|
|
170
|
-
|
|
171
|
-
## How it works
|
|
87
|
+
- **Technical SEO** — crawlability, indexability, canonicals, redirects, hreflang, metadata, structured data, links, performance and security signals.
|
|
88
|
+
- **GEO / AI search** — AI crawler access by purpose, snippet controls, entity consistency, content clarity.
|
|
89
|
+
- **Repositories** — findings with `file:line` in framework source, plus 12 rule types fixed automatically (dry run → approval → apply → verify → rollback).
|
|
90
|
+
- **Search data, optional and read-only** — Search Console (API or CSV export) and Chrome UX Report. Without them, clicks and Core Web Vitals are shown as *not measured*, never estimated.
|
|
91
|
+
- **Competitors** — topic and page-type coverage gaps, labelled as hypotheses.
|
|
172
92
|
|
|
173
|
-
|
|
174
|
-
CLI / Claude Code skills
|
|
175
|
-
│
|
|
176
|
-
├── Website mode: safe fetcher → crawler (robots, sitemaps, queue, checkpoints) → HTML5 extraction
|
|
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)
|
|
182
|
-
```
|
|
93
|
+
## Evidence, not claims
|
|
183
94
|
|
|
184
|
-
|
|
185
|
-
and drafts judgement-based changes (titles, descriptions, alt text) for the user's approval.
|
|
186
|
-
Details: [docs/architecture.md](docs/architecture.md).
|
|
95
|
+
Status: **v1.1.1** ([release notes](docs/release-notes-1.1.1.md), [changelog](CHANGELOG.md)).
|
|
187
96
|
|
|
188
|
-
|
|
97
|
+
- **90 rules**, each tied to an official source: 71 verified, 17 heuristic, 2 reported as unmeasurable. `searvex rules show <id>`
|
|
98
|
+
- **Tested** with unit, integration, browser and end-to-end runs; CI on Linux, macOS and Windows with Node 20, 22 and 24 ([quality report](docs/quality.md)).
|
|
99
|
+
- **Validated** on 13 public sites and 9 repositories; live Search Console and CrUX values matched the official exports.
|
|
100
|
+
- **Safe by default** — read-only, SSRF protection, robots.txt honoured, secret files never read, every change journaled with byte-for-byte rollback.
|
|
189
101
|
|
|
190
|
-
|
|
191
|
-
- SSRF protection with connection-time DNS validation (anti-rebinding), per-redirect re-validation,
|
|
192
|
-
size and time limits; private networks require `--allow-private`.
|
|
193
|
-
- robots.txt (RFC 9309) is always honoured, including for outbound link checks; per-host rate limiting,
|
|
194
|
-
`Crawl-delay`, `429/Retry-After` backoff. User agent: `SearvexBot`.
|
|
195
|
-
- Repository access never follows symlinks, never reads secret files (`.env`, keys, credentials) and
|
|
196
|
-
refuses paths outside the repository.
|
|
197
|
-
- Crawled content is treated as untrusted; HTML reports are rendered without `innerHTML` and with a CSP.
|
|
102
|
+
Searvex never promises rankings, traffic or AI citations. The health score is Searvex's own summary, not a search-engine metric. See [limitations](docs/limitations.md).
|
|
198
103
|
|
|
199
|
-
|
|
104
|
+
## Documentation
|
|
200
105
|
|
|
201
|
-
|
|
106
|
+
[CLI reference](docs/cli.md) · [Architecture](docs/architecture.md) · [Knowledge base](docs/knowledge-base.md) · [Security](docs/security.md) · [Privacy](docs/privacy.md)
|
|
202
107
|
|
|
203
|
-
|
|
204
|
-
- Market data (search volumes, SERP features, backlinks) is not fetched — Searvex does not fabricate it.
|
|
205
|
-
The research skill discovers competitors via web search; volumes stay "unknown" unless you provide data.
|
|
206
|
-
- AI citations cannot be observed directly; Bing Webmaster Tools AI Performance and Search Console are
|
|
207
|
-
the official sources.
|
|
208
|
-
- Repository mode is static analysis: runtime-computed metadata (CMS, i18n, data fetching) is resolved
|
|
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`).
|
|
108
|
+
## Related tools
|
|
211
109
|
|
|
212
|
-
|
|
110
|
+
Independent open-source tools by the same author:
|
|
213
111
|
|
|
214
|
-
|
|
112
|
+
- [**Relivaro**](https://github.com/cihantopac/relivaro) — software reliability, security and release readiness.
|
|
113
|
+
- [**Jourilo**](https://github.com/cihantopac/jourilo) — UX and conversion engineering in real browser journeys.
|
|
114
|
+
- [**Markilo**](https://github.com/cihantopac/markilo) — brand identity and vector design for Claude Code (made the Searvex identity).
|
|
215
115
|
|
|
216
|
-
|
|
217
|
-
official source and a test fixture. See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
116
|
+
## Contributing & license
|
|
218
117
|
|
|
219
|
-
|
|
118
|
+
Rules, framework adapters and fixtures are the most valuable contributions; every rule needs an official source and a test fixture ([CONTRIBUTING.md](CONTRIBUTING.md)). Report vulnerabilities via [SECURITY.md](SECURITY.md).
|
|
220
119
|
|
|
221
|
-
[Apache-2.0](LICENSE)
|
|
222
|
-
(not legal trademark clearance).
|
|
120
|
+
[Apache-2.0](LICENSE)
|
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>;
|