Skip to main content

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

Metadata

Release files for darkzseo 1.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for darkzseo 1.3.3
File Size Uploaded
darkzseo-1.3.3.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for darkzseo 1.3.3
File Interpreter ABI Platform
darkzseo-1.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 28.4 kB

Release files / darkzseo-1.3.3.tar.gz

Download URL darkzseo-1.3.3.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0b77011cd21e511c009af0d38887993e4377385988c18b5ba1c5d9d42823276f
BLAKE2b-256 checksum
How to use checksums
a00e9691f7ee59d5e9e21ce05c4d5e99781ecf24a0ff4ad5782da96db62d92f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 21, 2026.

Transparency log

Release files / darkzseo-1.3.3-py3-none-any.whl

Download URL darkzseo-1.3.3-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c89811c7d5911ca10cb965d4416497ee6e33afb6e802034eced11f98c87c652
BLAKE2b-256 checksum
How to use checksums
5b99102af9d1ce7931eb4aa0eb11ba4e7593f2426f041bd6f54dc985d548ee86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page