AgriciDaniel/jev-seo
Live SEO audit for any website from one homepage URL, judged by Jev. PDF, XLSX and Markdown reports.
What is jev‑seo?
jev‑seo is a Python tool that performs a live SEO audit of any website from just its homepage URL. It crawls the site, checks it against a set of 52 Google‑recommended rules, measures Core Web Vitals via PageSpeed Insights, and then asks Jev – TypeSafe’s “System One” LLM – a series of typed questions about each page (e.g., page type, search intent, helpfulness). The answers are scored, prioritized, and turned into three ready‑to‑share reports:
- PDF – a client‑friendly document with a cover, executive summary, scorecard, charts, and actionable recommendations.
- XLSX – an editable action tracker where each fix has an ID, priority, impact, effort, and source.
- Markdown – a GitHub/Obsidian‑friendly version with embedded charts.
The tool can run as a Claude Code skill (/jev‑seo https://example.com) or from the command line.
How it works (high‑level pipeline)
- Crawl – polite, respects
robots.txt, follows sitemaps, records redirects, broken links, canonical tags, structured data, and can render JavaScript‑only pages with Playwright (optional). - Rule check – applies 52 SEO rules covering crawlability, indexing, on‑page factors, structured data, performance, security, and AI‑crawler access.
- Core Web Vitals – pulls Lighthouse scores from Google PageSpeed Insights (free API).
- Jev judgments – sends typed prompts to the TypeSafe Jev model (≈ $0.00015 USD per page) to get probabilistic answers for 13 page‑level and 5 site‑level questions.
- (Optional) Full mode – enriches the audit with keyword rankings, traffic estimates, competitors, backlinks, and live SERP data from DataForSEO (≈ $0.30 USD per site).
- Scoring & ranking – combines rule results, Jev probabilities, and optional SEO data into a numeric score and a prioritized list of fixes.
- Report generation – a single
audit.jsonpowers the PDF (via WeasyPrint), Excel workbook, and Markdown output.
Key features
| Feature | Why it matters |
|---|---|
| Live crawl (not a static template) | Guarantees the audit reflects the current state of the site, including JavaScript‑rendered content. |
| Jev‑driven judgments | Adds a LLM‑based assessment of page intent, usefulness, trust, etc., with probabilities that are stored for transparency. |
| Ranked, explainable fixes | Each recommendation includes an ID, priority, impact, effort, evidence, and a source link, making it easy to hand off to developers or content teams. |
| Three output formats from one source | PDF for clients, XLSX for project tracking, Markdown for version‑controlled documentation. |
| Cost‑controlled API usage | Built‑in caps (--jev-budget, --dfs-budget) and a cost ledger in the report keep spending predictable. |
| Optional DataForSEO enrichment | Adds keyword opportunities, competitor analysis, and backlink data for a deeper SEO picture (paid). |
| Offline test suite | Unit tests run without network calls, ensuring the core logic works without spending API credits. |
Who might use it
- SEO consultants who need a quick, reproducible audit to share with clients.
- Web developers / product teams looking for a concrete, prioritized list of technical SEO fixes.
- Content strategists interested in keyword and SERP insights (via the
--fullmode). - AI‑savvy marketers who want to see how an LLM (Jev) evaluates site quality and can incorporate those judgments into their workflow.
Getting started (quick steps)
# Clone & set up a virtual environment
git clone https://github.com/AgriciDaniel/jev-seo.git
cd jev-seo
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
# Add your TypeSafe API key (optional for Jev, required for full mode)
cp .env.example .env # edit .env and set TYPESAFE_API_KEY
# Run a basic audit
bin/jevseo run https://example.com
Optional: install Playwright for JavaScript rendering and DataForSEO credentials for the enriched mode.
Limitations & caveats
- Sampling – Large sites are limited to a default page cap of 60; the report notes when sampling occurs.
- Jev calibration – The LLM’s thresholds are not yet benchmarked against human SEO experts.
- PageSpeed variance – Lighthouse scores can fluctuate between runs.
- No traffic or ranking tracking – The tool is an evidence snapshot, not a rank‑tracker or analytics platform.
License
MIT‑licensed. Fonts bundled with the PDF are under the SIL Open Font License.
All information above is taken directly from the repository’s README; no external assumptions have been added.
Related
- Project
- Project
- Project
- Project