auto-geo

offiziell

auto-geo GEO-optimierte Content-Publishing-Engine für KI-Sichtbarkeit

Was kann man mit Auto Geo MCP machen?

  • Zitierbereitschaft prüfen — Führen Sie doctor für eine beliebige URL aus, um deren GEO-Position anhand von 8 Checks wie JSON-LD, Entity-Dichte und Frageformat-H2s zu bewerten.
  • Optimierte Seiten generieren — Verwenden Sie write mit Ziel-Queries, um validierte, veröffentlichungsbereite JSON-Seiten zu erstellen, die der vollständigen GEO-Architektur folgen.
  • Bestehende Inhalte umschreiben — Wenden Sie fix auf eine beliebige Seite an, um eine GEO-optimierte Neufassung zu erhalten, die alle 8 Audit-Checks besteht.
  • Zitierabdeckung verfolgen — Führen Sie check gegen echte KI-Engines (Perplexity, OpenAI, Gemini usw.) aus, um zu sehen, ob Ihre Domain für verfolgte Prompts tatsächlich zitiert wird.
  • Trends im Zeitverlauf überwachen — Verwenden Sie history, um laufspezifische Änderungen der Abdeckung anzuzeigen, einschließlich neu zitierter oder verlorener Prompts pro Engine.
  • Verfolgte Prompts verwalten — Fügen Sie Prompts mit prompts hinzu, listen Sie sie auf oder entfernen Sie sie, oder verwenden Sie prompts discover, damit das LLM hochwertige Suchanfragen vorschlägt, um die Sie konkurrieren können.

Dokumentation

auto-geo

CI npm version License: MIT Built by Shadow Downloads TypeScript Node Docs llms.txt

Die Open-Source-GEO-Engine, die dafür sorgt, dass Ihre Marke in ChatGPT, Claude, Gemini, Perplexity und Grok erwähnt wird.

Prüfen, generieren, korrigieren und verfolgen Sie die Seiten, die große Sprachmodelle zitieren – eine CLI, dateibasiert, MIT.

Wenn jemand ChatGPT, Perplexity, Claude, Gemini oder Google AI Overviews eine Frage stellt, die Ihr Unternehmen beantworten sollte, zitieren diese Engines dann Ihre Domain? auto-geo ist die vollständige Schleife, um das zu erreichen und zu beweisen, dass es passiert:

auto-geo init      # set up the system once
auto-geo doctor    # audit any page for citation readiness
auto-geo write     # generate publish-ready pages from target queries
auto-geo fix       # rewrite an existing page so it passes the audit
auto-geo check     # measure: do AI engines actually cite you?
auto-geo history   # track citation coverage over time

auto-geo demo — tracked prompts, live citation check across AI engines, and coverage history

Alles ist dateibasiert und committbar – verfolgte Prompts, Prüfverlauf, Konfiguration. Kein Server, kein Konto, keine Datenbank. Nur eine Installation entfernt:

npm i -g auto-geo

Erstellt von Shadow – einem Medienforschungsunternehmen, das die nächste Generation von KI-gestützter Medienintelligenz und Kommunikationstechnologie entwickelt, in Partnerschaft mit den Teams, die OpenAI, TikTok, Meta, Amazon und Lovable auf die Landkarte gebracht haben. Shadow verwendet auto-geo, um auf shadow.inc/resources zu veröffentlichen.


Inhaltsverzeichnis


Schnellstart

# 0. Install once (or run any command one-shot via \`npx auto-geo@latest\`)
npm i -g auto-geo

# 1. Set up — config, .env.local key slots, and the .auto-geo workspace
auto-geo init

# 2. Add an API key to .env.local (auto-loaded by every command)

# 3. Audit any page — yours or a competitor's
auto-geo doctor https://example.com/some-page

# 4. Track the prompts you want AI engines to cite you for
auto-geo prompts add "best media monitoring tools" "what is GEO"

# 5. Measure — every run is saved to history automatically
auto-geo check

# 6. Watch coverage move over time
auto-geo history

Node >=18.17 erforderlich. Ein späteres Upgrade ist npm i -g auto-geo@latest. Weitere Möglichkeiten:

brew install shadowresearch/tap/auto-geo   # Homebrew (macOS / Linux)
mise use -g npm:auto-geo                   # mise

Standalone-Executables (ohne Node erforderlich) für macOS, Linux und Windows werden mit jeder Version geliefert.


Was ist GEO?

Generative Engine Optimization ist die Disziplin, Ihre Seiten zu denjenigen zu machen, die KI-Suchmaschinen zitieren, wenn sie eine Frage beantworten. Es ist der Nachfolger von SEO: Statt in einer Liste von Links zu ranken, konkurrieren Sie darum, innerhalb der Antwort zitiert zu werden.

Die Seiten, die gewinnen, sind keine Blogbeiträge. Empirische Forschung verbindet die Zitierwahrscheinlichkeit mit einer bestimmten Form:

  1. Architektur, nicht Prosa. Benannte, validierte Blöcke – TL;DR, Einleitung, H2-Abschnitte im Frageformat, verwandte Anleitungen, wichtige Erkenntnisse, FAQ, Offenlegung. KI-Engines extrahieren strukturierte Blöcke; eine starre Struktur verbessert die Extraktion.
  2. Antwort zuerst. Jeder Abschnitt beginnt mit einer 40–60 Wörter umfassenden „Antwortkapsel", die die Frage des Abschnitts vollständig beantwortet, bevor ein unterstützender Absatz folgt.
  3. Überschriften im Frageformat. H2s werden als die Fragen geschrieben, die Benutzer tatsächlich KI-Engines stellen.
  4. Entitätsdicht. Benannte Entitäten (Unternehmen, Personen, Produkte) in hoher Dichte – verbunden mit ~4,8-facher höherer Zitierwahrscheinlichkeit.
  5. Schema-abgeleitet. Article + FAQPage JSON-LD, aus der Struktur abgeleitet, nicht handgeschrieben.

auto-geo kodiert diese Form in einem strengen Schema (siehe docs/sop.md – das vollständige Standardverfahren), prüft jede URL dagegen, generiert neue Seiten, die dem entsprechen, und schließt dann den Kreislauf, indem es misst, ob die Engines Sie tatsächlich zitieren.


Der Arbeitsablauf

┌──────────────────────────────────────────────────────┐
       │                    auto-geo init                     │
       │   config · .env.local · .auto-geo/ workspace         │
       └──────────────────────────────────────────────────────┘
             │
  ┌──────────┼──────────────┬─────────────────┐
  ▼          ▼              ▼                 ▼
doctor     write           fix             prompts
audit a    generate        rewrite an      track the queries
page       new pages       existing page   that matter to you
  │          │              │                 │
  └──────────┴──────────────┴────────┬────────┘
                                     ▼
                                   check ──── saves every run ────┐
                               measure actual                     ▼
                               citations                       history
                                                           coverage over time,
                                                           newly cited / lost

doctor misst die Bereitschaft (ist diese Seite für die Zitierung geformt?). check misst das Ergebnis (wird sie tatsächlich zitiert?). history verwandelt die Ergebnisse in eine Trendlinie.


auto-geo init — System einrichten

auto-geo init        # interactive (a handful of questions)
auto-geo init --yes  # non-interactive template

Ein Befehl richtet alles ein:

DateiBeschreibung
auto-geo.config.jsonIhre Standardwerte – Domain, Anbieter, Modell, Autor. Committbar; enthält niemals Geheimnisse.
.env.localAPI-Schlüssel-Plätze. Werden von jedem Befehl automatisch geladen. In Gitignore aufnehmen.
.auto-geo/prompts.txtIhre verfolgten Prompts – eine pro Zeile, # Kommentare erlaubt.
.auto-geo/checks/Jeder check-Lauf, als JSON gespeichert. Die Daten hinter history.

Der interaktive Ablauf endet damit, dass Sie nach den Prompts gefragt werden, die Sie verfolgen möchten, sodass ein neues Projekt in einer Sitzung von null zu einer messbaren Zitier-Baseline gelangt. init überschreibt niemals eine vorhandene .env.local und weigert sich, eine vorhandene Konfiguration ohne --force zu überschreiben.


auto-geo doctor — jede Seite auf Zitierfähigkeit prüfen

Führen Sie es auf jeder URL aus – Ihrer, der eines Konkurrenten, jeder Seite in Ihrer Sitemap – und erhalten Sie einen strukturierten Bericht über die Zitiersignale, nach denen KI-Engines suchen.

auto-geo doctor https://example.com/some-page
✓ TL;DR present (52 words, in range)
✗ Question-format H2 headings (2 of 6 are question-format; SOP §3 targets all)
✓ Article JSON-LD present
✗ FAQPage JSON-LD present (No FAQPage JSON-LD block detected)
✓ Entity density (12.3/1k words)
✗ Image cadence (0 images for 1247 words)
✓ Answer-first first paragraph
✓ No self-link in related guides

Score: 5 / 8 checks pass — moderate GEO posture

Top 3 fixes (ranked by citation lift):
  1. Add a FAQPage JSON-LD block. Each Q is a citable extraction target.
  2. Convert 4 statement-form H2 headings to question form.
  3. Add 2 images with descriptive alt text (entity + context).
# Whole sitemap — mean score, lowest-scoring pages, most common failures
auto-geo doctor --site https://example.com/sitemap.xml --max-pages 50

# JSON for CI / dashboards
auto-geo doctor https://example.com/page --json

Exit-Code 0, wenn die Punktzahl ≥ 75 % beträgt, sonst 1 – machen Sie Ihre Deployments davon abhängig. Siehe docs/doctor.md für die vollständige Prüfreferenz.


auto-geo write — Seiten aus Abfragen generieren

Geben Sie ihm Ihre Domain und die Abfragen, für die Sie zitiert werden möchten; Sie erhalten validierte, veröffentlichungsbereite JSON-Dateien – eine strukturierte Seite pro Abfrage, die der vollständigen GEO-Architektur entspricht.

auto-geo write \
  --query "what is GEO" \
  --query "GEO vs SEO" \
  --out ./resources
✓ "what is GEO"        → ./resources/geo.json (validated, ~$0.06)
✓ "GEO vs SEO"         → ./resources/geo-vs-seo.json (validated, ~$0.06)

Total: 2 pages · 2 ok · ~$0.12 spent · 31s elapsed

Der System-Prompt kodiert die GEO-SOP – TL;DR-Länge, Antwortkapsel-Fenster, verbotene Superlative, FAQ-Struktur – und die Ausgabe wird auf Schemaebene über die generateObject des Vercel AI SDK eingeschränkt, mit einer begrenzten Selbstkorrekturschleife bei Validierungsfehlern. Standard: gpt-5.4 (OpenAI) oder claude-sonnet-4-6 (Anthropic), automatisch erkannt anhand des API-Schlüssels, den Sie festgelegt haben.

# Dry-run — plan + cost estimate, no LLM calls
auto-geo write --query "what is X" --dry-run

# Batch from a file, anthropic, 4 pages at a time
auto-geo write --queries-file queries.txt --provider anthropic --concurrency 4

Mit einer Konfigurationsdatei (auto-geo init) kommen --domain, Autorenfelder und Anbieter aus der Konfiguration – ein bloßes --query genügt. Siehe docs/write.md.


auto-geo fix — eine Seite für Zitierfähigkeit umschreiben

Wo doctor Ihnen sagt, was falsch ist, erzeugt fix eine GEO-optimierte Neufassung, die alle 8 Prüfungen besteht – abgerufen, geprüft, neu generiert und gegen dasselbe Schema validiert, das write verwendet.

auto-geo fix https://www.example.com/some-blog-post --out ./fixed.json
Score (before):    3 / 8
Generating rewrite via openai gpt-5.4...
Score (projected): 8 / 8 — strong GEO posture
→ ./fixed.json (validated)
auto-geo fix https://example.com/page --provider anthropic   # Claude instead
auto-geo fix https://example.com/page --dry-run              # audit + cost estimate only

Siehe docs/fix.md.


auto-geo prompts — Ihre verfolgten Prompts verwalten

Ihre verfolgten Prompts sind die Fragen, die KI-Engines beantworten sollen, indem sie Ihre Domain zitieren. Sie leben in .auto-geo/prompts.txt (Klartext, committbar) und sind das, was check standardmäßig ausführt.

auto-geo prompts add "best media monitoring tools" "what is GEO"
auto-geo prompts            # numbered list
auto-geo prompts rm 2       # by index — or by exact text

Sie wissen nicht, was Sie verfolgen sollen? Lassen Sie die Engine Ihren Prompt-Satz vorschlagendiscover ruft Ihre Startseite ab, schaut sich an, was Sie bereits verfolgen, und lässt das LLM die High-Intent-Abfragen generieren, um die Sie konkurrieren sollten:

auto-geo prompts discover --dry-run    # preview the proposals
auto-geo prompts discover --count 15   # append 15 (never overwrites, never duplicates)

prompts add (und discover) richten den Arbeitsbereich bei der ersten Verwendung ein, sodass Sie nicht einmal init benötigen, um mit der Verfolgung zu beginnen.


auto-geo check — tatsächliche Zitierabdeckung messen

Stellen Sie für jeden Prompt eine echte KI-Suchmaschine eine Frage und melden Sie, ob Ihre Domain unter den Zitaten ist. Dies ist die Grundwahrheit, die doctor vorhersagt.

auto-geo check        # tracked prompts, domain from config
using 3 tracked prompts from .auto-geo/prompts.txt
  [1/3] ✗ "what is GEO" — not cited (5 sources)
  [2/3] ✓ "how do I get cited by ChatGPT" — cited (2 sources)
  [3/3] ✓ "open source GEO tools" — cited (1 source)

Coverage: 2/3 queries (67%) · 3 page citations total · ~$0.012 spent
  saved → .auto-geo/checks/2026-06-10T13-22-05--perplexity.json (auto-geo history)

Engines: perplexity (Standard), openai, anthropic, gemini, xai (Alias grok) oder --engine all – das jede Engine ausführt, deren API-Schlüssel festgelegt ist, und die Abdeckung pro Engine sowie eine Union-Zusammenfassung meldet.

# Explicit queries instead of the tracked set
auto-geo check --domain shadow.inc --query "what is GEO"

# Every engine you have keys for, union coverage
auto-geo check --engine all

# CI: fail the deploy when critical queries don't cite you
auto-geo check --queries-file geo/critical-queries.txt && deploy

# Streaming JSON for agents / dashboards
auto-geo check --ndjson

Jeder Lauf wird automatisch in .auto-geo/checks/ gespeichert (Opt-out mit --no-save). Exit-Code 0, wenn die Abdeckung > 0 % beträgt, 1 bei 0 %. Siehe docs/check.md für Ausgabeformen, Fan-out-Query-Erfassung, Domain-Matching-Regeln und den --format geo-audit-Interop-Modus.


auto-geo history — Zitierabdeckung im Zeitverlauf

Die Belohnung für das Speichern jedes Laufs: eine Trendlinie. Lauf-für-Lauf-Abdeckung mit Delta pro Engine, plus genau die Prompts, für die Sie zitiert wurden oder nicht mehr zitiert werden.

auto-geo history
2026-06-01 08:30  perplexity   33% ·   1/3 cited  $0.01
2026-06-08 09:15  perplexity   67% ↑34  2/3 cited  $0.01

Since last run (perplexity · 2026-06-01 08:30 ▸ 2026-06-08 09:15)
  ✓ newly cited  open source GEO tools
  ✗ lost         (none)

2 runs · .auto-geo/checks

Trends vergleichen Gleiches mit Gleichem – jeder Lauf wird mit dem vorherigen Lauf desselben Engine-Selektors gemessen. --engine all filtert auf Multi-Engine-Läufe; --limit N steuert die Tiefe; --json gibt Zeilen + Delta maschinenlesbar aus. Siehe docs/history.md.


Konfiguration

Einmal mit auto-geo init festlegen, überall überschreiben. Priorität, höchste zuerst:

  1. CLI-Flag
  2. Umgebungsvariable (Anbieter automatisch erkannt anhand des festgelegten API-Schlüssels)
  3. auto-geo.config.json (geht vom aktuellen Verzeichnis nach oben – monorepo-freundlich)
  4. Eingebauter Standard
// auto-geo.config.json — committable, no secrets
{
  "domain": "https://www.example.com",
  "basePath": "/resources",
  "provider": "openai",
  "model": "gpt-5.4",
  "engine": "perplexity",
  "concurrency": 4,
  "author": {
    "name": "Jane Doe",
    "jobTitle": "Head of Content",
    "bio": "Jane writes about generative engine optimization…",
  },
}

API-Schlüssel befinden sich in .env.local (oder .env), werden von jedem Befehl automatisch geladen – bereits festgelegte Umgebungsvariablen gewinnen immer:

Engine / AnbieterUmgebungsvariable
OpenAI (write, fix, check)OPENAI_API_KEY
Anthropic (write, fix, check)ANTHROPIC_API_KEY
Perplexity (check)PERPLEXITY_API_KEY
Gemini (check)GOOGLE_API_KEY oder GEMINI_API_KEY
xAI / Grok (check)XAI_API_KEY

Die Seitenarchitektur

Alles, was write und fix erzeugen – und alles, was doctor prüft – folgt einer strengen Sieben-Block-Architektur:

  1. TL;DR – 40–60 Wörter umfassende Antwortkapsel
  2. Intro – Kontext setzende Blöcke
  3. Abschnitte – H2s im Frageformat, jeweils beginnend mit einer 40–60 Wörter umfassenden Antwortkapsel
  4. Verwandte Anleitungen – 4–8 Einträge
  5. Wichtige Erkenntnisse – 4–6 deklarative Aufzählungspunkte
  6. FAQ – 3–10 Fragen und Antworten mit 40–60 Wörter umfassenden Antworten
  7. Offenlegung – Quellenhinweis, Zeitstempel, Herausgeberzeile

Strukturverstöße sind harte Fehler (die generierte Nutzlast wird abgelehnt und neu generiert); Dichte- und Kadenz-Heuristiken sind weiche Warnungen. Die vollständige Spezifikation: docs/architecture.md, docs/validation.md und die SOP hinter jeder Einschränkung: docs/sop.md.

Das Ausgabe-JSON ist renderer-agnostisch – senden Sie es per POST an Ihr CMS, hydratisieren Sie eine Vorlage oder rendern Sie es mit Ihren eigenen Komponenten. Die Struktur ist der Vertrag.


Agentenfreundliche Ausgabe

Jeder Befehl ist so gebaut, dass er sowohl von einem Agenten als auch von einem Menschen gesteuert werden kann:

  • --json – ein stabiles, maschinenlesbares Objekt auf stdout.
  • --ndjson (check) – eine JSON-Zeile pro Abfrage, während Ergebnisse eintreffen, plus eine _summary-Zeile.
  • Fortschritt geht an stderr, Ergebnisse an stdout – Pipes bleiben sauber.
  • Stabile Exit-Codes – doctor und check sind sofort CI-Gates.
  • --no-color / NO_COLOR / Nicht-TTY-Erkennung für logfreundliche Ausgabe.
auto-geo check --ndjson | jq 'select(.cited) | .query'

LLM-freundlich

auto-geo ist ein Werkzeug, dessen Ausgabe Inhalte sind, die von LLMs zitiert werden sollen – dieses Repository praktiziert also das, was es predigt:

  • llms.txt – ein kuratierter Index, der der llmstxt.org-Konvention folgt.
  • llms-full.txt – README + jedes wesentliche Dokument in einer einzigen Datei für den Abruf mit einem einzigen Fetch.
  • GitHub-Pages-Site unter shadowresearch.github.io/auto-geo – bewirbt beide über <link rel="alternate">, gibt Article JSON-LD aus.
  • AGENT.md – eine kompakte Betriebsspezifikation für Codierungsagenten, die die CLI steuern.

Mitwirken

Siehe CONTRIBUTING.md. Fehlerberichte, Prüfverbesserungen, neue Engines und Dokumentationsverfeinerungen sind alle willkommen.


Lizenz

MIT.


Über Shadow

Shadow ist ein Medienforschungslabor, das die nächste Generation von KI-gestützter Medienintelligenz und Kommunikationstechnologie entwickelt – in Partnerschaft mit den Teams, die OpenAI, TikTok, Meta, Amazon und Lovable auf die Landkarte gebracht haben. Shadow betreibt auto-geo durchgängig nach einem Zeitplan für Medienforschung, PR- und Kommunikationsteams.

Erfahren Sie mehr unter shadow.inc.