Getting Started

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


1. What You Need

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

Check your Python version:

python3 --version

2. Install

One-liner (recommended):

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:

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):

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

Update anytime:

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

3. Your First Audit

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.


4. Reading the Output

The audit output is divided into 5 sections plus a final score.

Section 1 β€” ROBOTS.TXT

Shows which AI bots are explicitly configured in your robots.txt. Each bot is shown as allowed or missing.

β–Έ ROBOTS.TXT ─────────────────────────────────────────────
  βœ… GPTBot          allowed  (OpenAI β€” ChatGPT training)
  βœ… OAI-SearchBot   allowed  (OpenAI β€” ChatGPT citations)  ← critical
  ❌ ClaudeBot        MISSING                               ← critical
  ❌ PerplexityBot    MISSING                               ← critical

Section 2 β€” LLMS.TXT

Checks whether /llms.txt exists at the root of your site and whether it has content.

β–Έ LLMS.TXT ───────────────────────────────────────────────
  ❌ Not found at https://yoursite.com/llms.txt

Section 3 β€” SCHEMA JSON-LD

Lists which schema types were found in the page’s <head>.

β–Έ SCHEMA JSON-LD ─────────────────────────────────────────
  βœ… WebSite schema
  ❌ FAQPage schema missing
  ❌ WebApplication schema missing

Section 4 β€” META TAGS

Checks for title, meta description, canonical URL, and Open Graph tags.

β–Έ META TAGS ──────────────────────────────────────────────
  βœ… Title Β· Meta description Β· Canonical Β· OG tags

Section 5 β€” CONTENT QUALITY

Counts headings, statistics (numbers/percentages), and external citation links.

β–Έ CONTENT QUALITY ────────────────────────────────────────
  βœ… 12 headings  Β·  3 statistics  Β·  0 external citations

GEO Score:

──────────────────────────────────────────────────────────
  GEO SCORE   [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘]   55 / 100   ⚠️  NEEDS WORK
──────────────────────────────────────────────────────────

Score ranges: 0–40 Critical Β· 41–70 Fair Β· 71–90 Good Β· 91–100 Excellent


5. What to Fix First

Follow this priority order β€” each step has the highest ROI before moving to the next:

  1. robots.txt β€” Add all 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, FAQPage, WebApplication. β†’ Schema Injector
  4. Content β€” Add statistics, external citations, expert quotes. β†’ The 9 Princeton GEO Methods

6. Update

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

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