causabi-geo
CLI that checks and fixes how AI crawlers see your website
What this is. A local, open-source CLI that audits a single page for AI-crawler readiness (robots.txt rules, Schema.org, FAQ markup, content depth, NAP signals, freshness) and generates ready-to-deploy fix files. No account, no server, MIT.
Quickstart:
pip install causabi-geo
geo-optimizer analyze https://yourdomain.com
(causabi-geo analyze ... works as an alias since v0.2.1.)
Scope. One-off local checks are free here, forever. Continuous work — scheduled re-checks, score history, monitoring of how 4 AI engines (ChatGPT, Claude, Gemini, Grok) actually answer questions about your brand, and reports — runs on causabi.com.
Example output
AI Readiness Score: 52/100 Grade C
Category Score Max
robots.txt 11 20
Schema.org 15 25
FAQ Schema 0 20
Content 15 15
Brand / NAP 4 10
Freshness 7 10
Issues to fix:
GPTBot is blocked from crawling your site
No FAQPage schema — citation rate is 41% lower without it
Missing NAP signals: phone, address
What it fixes
Run geo-optimizer fix https://yourdomain.com --output ./geo-fixes and get:
| File | What it does |
|---|---|
robots.txt |
Your current robots.txt patched to allow 10 AI crawlers (GPTBot, ClaudeBot, PerplexityBot, CCBot, Google-Extended and more) |
schema.json |
Organization JSON-LD built from your page data |
llms.txt |
Site summary in the proposed llms.txt format (note: vendor adoption of llms.txt is not confirmed) |
faq-schema.json |
FAQPage JSON-LD — only generated with --api-key (Gemini) |
HOW-TO-APPLY.md |
Step-by-step guide to deploy each file |
Install & usage
pip install causabi-geo
# Analyze
geo-optimizer analyze https://yourdomain.com
geo-optimizer analyze https://yourdomain.com --json
geo-optimizer score https://yourdomain.com # alias for analyze
# Fix (generates ready-to-deploy files)
geo-optimizer fix https://yourdomain.com
geo-optimizer fix https://yourdomain.com --output ./out
# Fix with AI-generated FAQ (requires a Gemini API key)
geo-optimizer fix https://yourdomain.com --api-key YOUR_GEMINI_KEY
Get a free Gemini API key at aistudio.google.com.
Scoring
| Category | Max | Signal |
|---|---|---|
| robots.txt | 20 | Are AI crawlers blocked? (GPTBot, ClaudeBot, PerplexityBot, CCBot, Google-Extended, Bytespider, YouBot, cohere-ai, ia_archiver, anthropic-ai) |
| Schema.org | 25 | Organization / LocalBusiness / SoftwareApplication JSON-LD and how complete it is |
| FAQ Schema | 20 | FAQPage JSON-LD present, 3+ Q&A pairs |
| Content depth | 15 | Word count across crawled pages |
| Brand / NAP | 10 | Business name, phone, address, email, social links found on the page |
| Freshness | 10 | dateModified/datePublished in schema, or current-year mentions in content |
The score measures crawlability and machine-readability. It does not guarantee citations — no tool can.
Research behind the checks: Princeton GEO paper (2023) · Digital Bloom citation study (FAQ markup associated with +41% citation rate).
Full platform
The CLI analyzes a single page, once, locally. causabi.com adds the continuous part:
- Multi-page crawl
- Scheduled re-checks and score history
- Monitoring of answers from 4 AI engines: ChatGPT, Claude, Gemini, Grok
- AI-generated fixes and reports
- Free first audit, no credit card
License
MIT — see LICENSE
Metadata
Release files for causabi-geo 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| causabi_geo-0.2.1.tar.gz | 16.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| causabi_geo-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.2 kB
Release files / causabi_geo-0.2.1.tar.gz
| Download URL | causabi_geo-0.2.1.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
edbec0114573995e826b6856a3464b35a827780cf7c113580a4fb898a90e9624
|
|
BLAKE2b-256 checksum How to use checksums |
678e01daaa6209024851a5119443d4ebc0413781870e5ad8c98134ef58358db5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / causabi_geo-0.2.1-py3-none-any.whl
| Download URL | causabi_geo-0.2.1-py3-none-any.whl |
|---|---|
| Size | 17.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84475ae146632752e5d5ae863c76f06d8299012f6110ceaa12f40a635623c736
|
|
BLAKE2b-256 checksum How to use checksums |
57df2abaaf8ac1164683eeebd4eccdfe608f8e4a9d5eff4a297fa4b130d82f9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for causabi-geo 0.2.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.