Skip to main content

CLI tool that grades how accessible a website is to AI clients

Project description

botaudit

PyPI Python License

CLI tool that grades how accessible a website is to AI clients.

botaudit fetches a webpage, analyzes its HTML structure, and scores it across six categories that affect how well AI crawlers and language models can discover and consume its content. The output is a letter-graded report with per-category scores and actionable recommendations.

Installation

Requires Python 3.11+.

pip install botaudit

Usage

botaudit https://example.com

Options

Flag Description
--timeout SECONDS HTTP request timeout (default: 10)
--format {text,json,csv} Output format (default: text)
--no-recommendations Suppress improvement recommendations
--skip-llm-discovery Skip LLM discoverability analysis (no robots.txt/llms.txt fetches)

Example output

==================================================
  BotAudit Report
  https://example.com
==================================================

  Overall Grade: B (82/100)

--------------------------------------------------
  Content Availability (27%)              90/100
--------------------------------------------------
    - 342 words of visible text.
    - <noscript> fallback present.

  Semantic HTML (23%)                     68/100
--------------------------------------------------
    - 15 semantic vs 7 generic elements (ratio: 68%)
    - Semantic tags: nav (3), article (2), section (4), header (2), ...

    Recommendations:
    [MEDIUM] Wrap supplementary content (sidebars, promos) with <aside>.
    ...

Categories

Each category is scored 0-100 and weighted toward the overall grade:

Category Weight What it measures
Content Availability 27% Visible text in initial HTML, <noscript> fallback
Semantic HTML 23% Ratio of semantic elements (<article>, <nav>, ...) to generic containers (<div>, <span>)
Link Discoverability 18% Navigable <a href> links vs javascript:, #, or empty hrefs
Structured Data 13% JSON-LD, Open Graph tags, meta description
Metadata & Discoverability 9% <title>, canonical URL, robots meta, sitemap reference
LLM Discoverability 10% robots.txt AI crawler policies, llms.txt, llms-full.txt

Grades map to the overall weighted score: A (90+), B (80-89), C (70-79), D (60-69), F (<60).

Categories scoring below 90 receive actionable recommendations at HIGH, MEDIUM, or LOW severity.

Development

python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
pip install -e .

Running tests

python -m unittest discover tests

Project structure

src/botaudit/
  cli.py                 CLI entry point and argument parsing
  fetcher.py             HTTP fetching with error handling
  analysis.py            HTML analysis (5 categories)
  robots_analysis.py     robots.txt parsing for AI crawler access
  llm_discoverability.py LLM discovery file fetching and analysis
  grading.py             Per-category scoring and overall grading
  recommendations.py     Per-category recommendation generation
  report.py              Report formatting (text, JSON, CSV)
  models.py              Shared data structures and constants

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

botaudit-1.1.0.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

botaudit-1.1.0-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file botaudit-1.1.0.tar.gz.

File metadata

  • Download URL: botaudit-1.1.0.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for botaudit-1.1.0.tar.gz
Algorithm Hash digest
SHA256 b1bcb11c5571815c12cf7f621e0a8ae95b605638dbe9488305da851e83d5d967
MD5 e23600aa8c79820edf342bea6fb48157
BLAKE2b-256 270fbbff92b8b83c4997bec9ef9ff4c9b3e6503fa54205f5ce48d5e436a5039e

See more details on using hashes here.

File details

Details for the file botaudit-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: botaudit-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for botaudit-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4b6dddb34b4ed5b19a89eb7125e77daa3ae3db8832bd1bff0fcfd0eccd1ec1f
MD5 07e8ff0f45dd67b9094a6aba0d5bf07b
BLAKE2b-256 400d5e6479107efa524338a3917d72580d8899628358b76fb08af33c94f01757

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page