aivisible-fix
Audits a website for the specific things that make it invisible to AI crawlers and AI answer engines (ChatGPT, Claude, Perplexity, Gemini/AI Overviews, and others) — and, unlike the free "checker" tools already on the market, generates the fix, not just a score.
$ aivisible-fix audit https://example.com
AI-visibility audit for https://example.com
Score: 40/100
[FAIL] robots_reachable: robots.txt missing or unreachable ...
[PASS] no_ai_crawlers_blocked: No known AI crawler is explicitly blocked.
[FAIL] llms_txt_present: No /llms.txt ...
...
$ aivisible-fix fix https://example.com --name "Example Co" --description "..."
Wrote robots.fixed.txt
Wrote llms.txt
Review both files, then deploy them at your site root. Nothing was auto-published.
What it checks
- robots.txt reachable — the baseline signal every crawler reads first.
- No AI crawler is explicitly blocked — checked per-agent (GPTBot,
ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-Web, anthropic-ai,
PerplexityBot, Perplexity-User, Google-Extended, CCBot, Bytespider,
Amazonbot, Applebot-Extended, cohere-ai, Meta-ExternalAgent, Diffbot,
YouBot — see
aivisible_fix/crawlers.py), not just a blanketDisallow: /. - llms.txt present — the emerging convention (llmstxt.org) for a short, LLM-readable summary of what a site is and which pages matter.
- sitemap.xml present and valid, and referenced from robots.txt.
- JSON-LD structured data on the homepage — what answer engines lean on to extract facts (org, product, FAQ, etc.) without guessing from prose.
Score is out of 100, weighted toward the two things that, per current published research, cause the overwhelming majority of AI-search invisibility: blocked crawlers (40 pts) and missing discovery trail — sitemap + llms.txt (40 pts combined).
Why this instead of the free checkers
Search "AI visibility checker" and you'll find eight-plus free tools (isvisible.ai, llmpulse.ai, siftly.ai, and others) that already do the scoring for free — that part of the market is a commodity and not worth competing on head to head.
None of them write the fix. This tool's differentiator is that
aivisible-fix fix outputs a ready-to-deploy patched robots.txt (every
existing line preserved, blocked AI agents explicitly re-allowed) and a
starter llms.txt — output, not just diagnosis. The natural extension
(not built yet — see ROADMAP below) is a GitHub App that opens this as a
pull request automatically, the way Dependabot does for dependency bumps,
plus scheduled re-audits so a clean report doesn't silently rot as new
crawlers ship.
Badge
$ aivisible-fix badge https://example.com
Wrote aivisible-badge.svg (score 40/100). Host it yourself and embed:
<a href="https://example.com"><img src="/aivisible-badge.svg" alt="AI-visible: 40/100"></a>
Static SVG, generated locally — no server or account required. Color tracks score (red under 50, amber under 80, green at 80+).
Install
pip install -e .
No dependencies beyond the Python 3.10+ standard library — deliberately, so it's trivial to also ship as a single-file GitHub Action.
Status
v0.1 — functional CLI, tested against live sites (see commit history / this was built and smoke-tested against example.com and nytimes.com, correctly detecting NYT's well-documented blanket block of AI crawlers). Not yet published to PyPI or packaged as a GitHub Action — see BUSINESS_PLAN.md for what's next and what needs a human to do it (PyPI account, GitHub App registration, a payment processor for the paid tier).
Metadata
Release files for aivisible-fix 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aivisible_fix-0.2.0.tar.gz | 11.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aivisible_fix-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.5 kB
Release files / aivisible_fix-0.2.0.tar.gz
| Download URL | aivisible_fix-0.2.0.tar.gz |
|---|---|
| Size | 11.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ceb8bd08ee8f35e38437b0da0cfbbf1aaa357b2fb86c19de8b93f47506bda87c
|
|
BLAKE2b-256 checksum How to use checksums |
69fc42a5ae900e6efe61a3181cf8870a72f515e2d386f608c9b7dd19f849e046
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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 Jul 20, 2026.
Transparency logRelease files / aivisible_fix-0.2.0-py3-none-any.whl
| Download URL | aivisible_fix-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a4b337289589fe613dea11617241ab979956a79c0ebd68bbdefcf398af0972e
|
|
BLAKE2b-256 checksum How to use checksums |
3b9bfb03e9a87a76d5a818a4eeb0319fb63d82f865b3c37128ecfdcfc7283d1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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 Jul 20, 2026.
Transparency log