DarkzSEO - Zero-Config 2026 Search Standard Auditor (CLI + HTML)
Project description
DarkzSEO
┌─────────────────────────────────────────────────────────────────┐
│██████╗ █████╗ ██████╗ ██╗ ██╗███████╗███████╗███████╗ ██████╗ │
│██╔══██╗██╔══██╗██╔══██╗██║ ██╔╝╚══███╔╝██╔════╝██╔════╝██╔═══██╗│
│██║ ██║███████║██████╔╝█████╔╝ ███╔╝ ███████╗█████╗ ██║ ██║│
│██║ ██║██╔══██║██╔══██╗██╔═██╗ ███╔╝ ╚════██║██╔══╝ ██║ ██║│
│██████╔╝██║ ██║██║ ██║██║ ██╗███████╗███████║███████╗╚██████╔╝│
│╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ ╚═════╝ │
├─────────────────────────────────────────────────────────────────┤
│ Static Codebase Auditor for 2026 Search Standards │
│ SEO · GEO · AIO · AEO — 16 Checks, Zero APIs, Pure Analysis │
└─────────────────────────────────────────────────────────────────┘
A lightweight, local-only Python CLI for auditing HTML/JSX/Template files against 2026 Search Standards. No external APIs required.
Features
- 16 Automated Checks across 4 categories
- Zero API Dependencies - runs entirely offline
- Color-Coded Console Output for quick severity identification
- JSON Report Export for CI/CD integration
- Template Agnostic - works with HTML, JSX, Vue, Svelte, Astro, PHP, EJS, and more
Installation
pip install -r requirements.txt
Usage
# Basic scan
python darkzseo.py --path ./src
# With brand name (for entity salience check)
python darkzseo.py --path ./public --brand "MyCompany"
# Custom output file
python darkzseo.py --path ./templates --output results.json
# Quiet mode (summary only)
python darkzseo.py --path ./src --quiet
Audit Categories
🟢 SEO (Technical Health)
| Check | What it Detects |
|---|---|
| Orphan Pages | Files that exist but are never linked to |
| Resource Hints | External scripts missing preconnect/dns-prefetch |
| CLS Risk | Images/videos/iframes missing width/height |
| Render Budget | @import rules and expensive * selectors |
🟣 GEO (Generative Engine Optimization)
| Check | What it Detects |
|---|---|
| Trust Network | Long content lacking authority links (.gov, .edu, etc.) |
| Entity Salience | Brand not in H1 or first 200 words |
| Data Density | Low table/list ratio on content pages |
| Freshness | Missing or stale dateModified |
🔵 AIO (AI Overviews)
| Check | What it Detects |
|---|---|
| Comparison Gap | "vs"/"best" in title without comparison table |
| Direct Answer | Question headers not followed by concise paragraphs |
| Video Schema | Video content missing VideoObject JSON-LD |
| Skimmability | Paragraphs exceeding 150 words |
🔷 AEO (Answer Engine Optimization)
| Check | What it Detects |
|---|---|
| Simplicity Score | Complex vocabulary (Flesch-Kincaid proxy) |
| QA Proximity | Elements interrupting question-answer flow |
| Speakable Schema | Missing Speakable markup on Q&A content |
| Unit Clarity | Bare units without <abbr> tags |
Output
Console
Color-coded findings grouped by category and severity:
- 🔴 CRITICAL/HIGH - Must fix for search visibility
- 🟡 MEDIUM - Recommended improvements
- 🔵 LOW/INFO - Nice to have optimizations
JSON Report
{
"generated_at": "2026-01-20T20:00:00",
"files_scanned": 42,
"total_findings": 15,
"summary": {
"CRITICAL": 0,
"HIGH": 5,
"MEDIUM": 7,
"LOW": 3
},
"findings": [
{
"category": "SEO",
"severity": "HIGH",
"file": "index.html",
"message": "CLS Risk: <img> missing width/height"
}
]
}
CI/CD Integration
DarkzSEO returns exit code 1 if any HIGH or CRITICAL findings are detected, making it perfect for CI pipelines:
# GitHub Actions example
- name: SEO Audit
run: python darkzseo.py --path ./public --quiet
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file darkzseo-1.3.3.tar.gz.
File metadata
- Download URL: darkzseo-1.3.3.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b77011cd21e511c009af0d38887993e4377385988c18b5ba1c5d9d42823276f
|
|
| MD5 |
646fa5434ccef22c714ac27cb365ee12
|
|
| BLAKE2b-256 |
a00e9691f7ee59d5e9e21ce05c4d5e99781ecf24a0ff4ad5782da96db62d92f2
|
Provenance
The following attestation bundles were made for darkzseo-1.3.3.tar.gz:
Publisher:
workflow.yml on darkzOGx/darkzseo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
darkzseo-1.3.3.tar.gz -
Subject digest:
0b77011cd21e511c009af0d38887993e4377385988c18b5ba1c5d9d42823276f - Sigstore transparency entry: 840473133
- Sigstore integration time:
-
Permalink:
darkzOGx/darkzseo@6e3060c2ecebf1e50d937374f0c6b5e3bfc1e097 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/darkzOGx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@6e3060c2ecebf1e50d937374f0c6b5e3bfc1e097 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file darkzseo-1.3.3-py3-none-any.whl.
File metadata
- Download URL: darkzseo-1.3.3-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c89811c7d5911ca10cb965d4416497ee6e33afb6e802034eced11f98c87c652
|
|
| MD5 |
042763c729e9213dc4f9d97e4e0efb08
|
|
| BLAKE2b-256 |
5b99102af9d1ce7931eb4aa0eb11ba4e7593f2426f041bd6f54dc985d548ee86
|
Provenance
The following attestation bundles were made for darkzseo-1.3.3-py3-none-any.whl:
Publisher:
workflow.yml on darkzOGx/darkzseo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
darkzseo-1.3.3-py3-none-any.whl -
Subject digest:
8c89811c7d5911ca10cb965d4416497ee6e33afb6e802034eced11f98c87c652 - Sigstore transparency entry: 840473150
- Sigstore integration time:
-
Permalink:
darkzOGx/darkzseo@6e3060c2ecebf1e50d937374f0c6b5e3bfc1e097 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/darkzOGx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@6e3060c2ecebf1e50d937374f0c6b5e3bfc1e097 -
Trigger Event:
workflow_dispatch
-
Statement type: