Skip to content

GEO Optimizer — Install & First Audit

Get the toolkit installed and run your first GEO audit in under 5 minutes.


Requirement Version Notes
Python 3.9+ python.org
git any git-scm.com
Website — Must be publicly accessible via HTTPS

Check your Python version:

Terminal window
python3 --version

One-liner (recommended):

Terminal window
curl -sSL https://raw.githubusercontent.com/auriti-labs/geo-optimizer-skill/main/install.sh | bash

This script:

  1. Clones the repo to ~/geo-optimizer-skill
  2. Creates a Python virtual environment at ~/geo-optimizer-skill/.venv
  3. Installs dependencies (requests, beautifulsoup4, lxml) into the venv
  4. Creates a ./geo wrapper script that activates the venv automatically before running any script

You never need to activate the venv manually — ./geo handles it.

Custom install path? The --dir flag cannot be used with curl | bash (the flag is intercepted by bash, not the script). Download first, then pass the flag:

Terminal window
curl -sSL https://raw.githubusercontent.com/auriti-labs/geo-optimizer-skill/main/install.sh -o install.sh
bash install.sh --dir /custom/path

Manual alternative (if you prefer to inspect first):

Terminal window
git clone https://github.com/auriti-labs/geo-optimizer-skill.git ~/geo-optimizer-skill
cd ~/geo-optimizer-skill
bash install.sh

Update anytime:

Terminal window
bash ~/geo-optimizer-skill/update.sh

Terminal window
cd ~/geo-optimizer-skill
geo audit --url https://yoursite.com

That’s it. The script fetches your homepage, robots.txt, and checks for /llms.txt, JSON-LD schema, meta tags, and content signals.


The audit output is divided into 9 scored categories plus bonus checks and a final score out of 100. The per-category maximum is printed next to each score (5 / 14). The weights belong to the scoring rubric, which is the single source of truth: see Scoring Rubric. Rubric v2 is the default; --score-version 1 selects the legacy v1 weights.

Each section shows what passed and what’s missing. This is an illustrative run, not output from a specific site:

▸ GOOGLE AI READINESS ────────────────── 0 / 20
❌ Google AI readiness checks need attention
▸ ROBOTS.TXT ─────────────────────────── 5 / 14
✅ robots.txt found
❌ OAI-SearchBot MISSING ← critical
❌ ClaudeBot MISSING ← critical
▸ LLMS.TXT ───────────────────────────── 0 / 6
❌ Not found at https://yoursite.com/llms.txt
▸ SCHEMA JSON-LD ─────────────────────── 4 / 14
✅ WebSite schema
❌ FAQPage schema missing
❌ Organization schema missing
▸ META TAGS ──────────────────────────── 11 / 11
✅ Title · Meta description · Canonical · OG tags
▸ CONTENT QUALITY ────────────────────── 5 / 14
✅ 12 headings · H2+H3 hierarchy
❌ 1 statistic (target: 5+) · 0 external citations
▸ BRAND & ENTITY ─────────────────────── 3 / 12
✅ Brand name coherent
❌ No sameAs Knowledge Graph links
▸ SIGNALS ────────────────────────────── 3 / 6
✅ <html lang="en">
❌ No RSS/Atom feed
▸ AI DISCOVERY ───────────────────────── 0 / 3
❌ No AI discovery endpoints
──────────────────────────────────────────────────────────
GEO SCORE [██████░░░░░░░░░░░░░░] 31 / 100 ❌ CRITICAL
──────────────────────────────────────────────────────────

Score bands: 0–35 Critical · 36–67 Foundation · 68–85 Good · 86–100 Excellent


Follow this priority order — each step has the highest ROI before moving to the next:

  1. robots.txt — Add all 27 AI bots. Takes 5 minutes. Affects whether bots can crawl you at all. → AI Bots Reference
  2. llms.txt — Generate it from your sitemap. Takes 2 minutes. → Generating llms.txt
  3. Schema — Add WebSite, Organization, FAQPage, Article. → Schema Injector
  4. Brand & Entity — Add Knowledge Graph links, about/contact pages, and consistent entity signals. → Scoring Rubric
  5. AI Discovery — Generate ai.txt and /ai/*.json endpoints. Use geo fix to auto-generate.
  6. Content — Add statistics, external citations, expert quotes. → 47 GEO Methods

Terminal window
bash ~/geo-optimizer-skill/update.sh

Pulls the latest commits, updates dependencies, and keeps your ./geo wrapper intact.