auto-geo

resmi

Mesin penerbitan konten yang dioptimalkan GEO untuk visibilitas AI

Apa yang bisa Anda lakukan dengan Auto Geo MCP?

  • Audit kesiapan sitasi — Jalankan doctor pada URL mana pun untuk menilai postur GEO-nya melalui 8 pemeriksaan seperti JSON-LD, kepadatan entitas, dan H2 berformat pertanyaan.
  • Buat halaman yang dioptimalkan — Gunakan write dengan kueri target untuk menghasilkan halaman JSON yang tervalidasi dan siap terbit, mengikuti arsitektur GEO lengkap.
  • Tulis ulang konten yang ada — Terapkan fix pada halaman mana pun untuk mendapatkan penulisan ulang yang dioptimalkan GEO dan lolos semua 8 pemeriksaan audit.
  • Lacak cakupan sitasi — Jalankan check terhadap mesin AI nyata (Perplexity, OpenAI, Gemini, dll.) untuk melihat apakah domain Anda benar-benar disitasi untuk prompt yang dilacak.
  • Pantau tren dari waktu ke waktu — Gunakan history untuk melihat perubahan cakupan per proses, termasuk prompt yang baru disitasi atau hilang per mesin.
  • Kelola prompt yang dilacak — Tambah, daftar, atau hapus prompt dengan prompts, atau gunakan prompts discover agar LLM mengusulkan kueri berniat tinggi untuk diperebutkan.

Dokumentasi

auto-geo

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

Mesin GEO open-source yang membuat merek Anda disebut di ChatGPT, Claude, Gemini, Perplexity, dan Grok.

Audit, buat, perbaiki, dan lacak halaman yang dikutip model bahasa besar — satu CLI, berbasis file, MIT.

Ketika seseorang bertanya kepada ChatGPT, Perplexity, Claude, Gemini, atau Google AI Overviews sebuah pertanyaan yang seharusnya dijawab oleh bisnis Anda, apakah mesin-mesin tersebut mengutip domain Anda? auto-geo adalah putaran lengkap untuk mewujudkannya dan membuktikan bahwa itu terjadi:

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

Semuanya berbasis file dan dapat di-commit — prompt yang dilacak, riwayat pemeriksaan, konfigurasi. Tanpa server, tanpa akun, tanpa database. Satu langkah instalasi:

npm i -g auto-geo

Dibangun oleh Shadow — laboratorium riset media yang membangun generasi berikutnya dari intelijen media dan teknologi komunikasi bertenaga AI, bermitra dengan tim yang menempatkan OpenAI, TikTok, Meta, Amazon, dan Lovable di peta. Shadow menggunakan auto-geo untuk memublikasikan ke shadow.inc/resources.


Daftar Isi


Mulai Cepat

# 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 diperlukan. Peningkatan di kemudian hari bersifat npm i -g auto-geo@latest. Cara lain untuk masuk:

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

Eksekusi mandiri (tanpa Node) untuk macOS, Linux, dan Windows disertakan dalam setiap rilis.


Apa itu GEO?

Generative Engine Optimization adalah disiplin untuk membuat halaman Anda menjadi halaman yang dikutip mesin pencari AI saat menjawab pertanyaan. Ini adalah penerus SEO: alih-alih bersaing dalam daftar tautan, Anda bersaing untuk dikutip di dalam jawaban.

Halaman yang menang bukanlah posting blog. Riset empiris menghubungkan probabilitas kutipan dengan bentuk tertentu:

  1. Arsitektur, bukan prosa. Blok bernama dan tervalidasi — TL;DR, intro, bagian H2 format pertanyaan, panduan terkait, poin-poin utama, FAQ, pengungkapan. Mesin AI mengekstrak potongan terstruktur; struktur yang kaku meningkatkan ekstraksi.
  2. Jawaban lebih dulu. Setiap bagian dibuka dengan "kapsul jawaban" 40–60 kata yang sepenuhnya menjawab pertanyaan bagian tersebut sebelum paragraf pendukung apa pun.
  3. Judul format pertanyaan. H2 ditulis sebagai pertanyaan yang benar-benar diajukan pengguna ke mesin AI.
  4. Padat entitas. Entitas bernama (perusahaan, orang, produk) dengan kepadatan tinggi — terkait dengan probabilitas kutipan ~4,8x lebih tinggi.
  5. Berasal dari skema. JSON-LD Article + FAQPage yang dihasilkan dari struktur, bukan ditulis tangan.

auto-geo mengodekan bentuk ini dalam skema ketat (lihat docs/sop.md — prosedur operasi standar lengkap), mengaudit URL apa pun terhadapnya, membuat halaman baru yang sesuai dengannya, lalu menutup putaran dengan mengukur apakah mesin benar-benar mengutip Anda.


Alur kerja

┌──────────────────────────────────────────────────────┐
       │                    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 mengukur kesiapan (apakah halaman ini berbentuk untuk kutipan?). check mengukur hasil (apakah benar-benar dikutip?). history mengubah hasil menjadi garis tren.


auto-geo init — siapkan sistem

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

Satu perintah menyiapkan semuanya:

FileApa itu
auto-geo.config.jsonDefault Anda — domain, penyedia, model, penulis. Dapat di-commit; tidak pernah menyimpan rahasia.
.env.localSlot kunci API. Dimuat otomatis oleh setiap perintah. Gitignore.
.auto-geo/prompts.txtPrompt yang Anda lacak — satu per baris, komentar # diizinkan.
.auto-geo/checks/Setiap proses check, disimpan sebagai JSON. Data di balik history.

Alur interaktif diakhiri dengan meminta prompt yang ingin Anda lacak, sehingga proyek baru berjalan dari nol ke garis dasar kutipan yang terukur dalam satu sesi. init tidak pernah menimpa .env.local yang ada dan menolak menimpa konfigurasi yang ada tanpa --force.


auto-geo doctor — audit halaman apa pun untuk kesiapan kutipan

Jalankan pada URL apa pun — milik Anda, milik pesaing, setiap halaman di sitemap Anda — dan dapatkan laporan terstruktur tentang sinyal kutipan yang dicari mesin AI.

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

Kode keluar 0 jika skor ≥ 75%, 1 jika tidak — gunakan sebagai gerbang deploy. Lihat docs/doctor.md untuk referensi pemeriksaan lengkap.


auto-geo write — buat halaman dari kueri

Beri domain Anda dan kueri yang ingin Anda dikutip; dapatkan file JSON tervalidasi yang siap publikasi — satu halaman terstruktur per kueri, sesuai dengan arsitektur GEO lengkap.

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

Prompt sistem mengodekan SOP GEO — panjang TL;DR, jendela kapsul jawaban, superlatif yang dilarang, struktur FAQ — dan output dibatasi ke skema di tingkat sistem tipe melalui generateObject dari Vercel AI SDK, dengan putaran koreksi diri terbatas saat validasi gagal. Default: gpt-5.4 (OpenAI) atau claude-sonnet-4-6 (Anthropic), terdeteksi otomatis dari kunci API mana pun yang Anda atur.

# 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

Dengan file konfigurasi (auto-geo init), --domain, kolom penulis, dan penyedia berasal dari konfigurasi — --query polos saja sudah cukup. Lihat docs/write.md.


auto-geo fix — tulis ulang halaman untuk kesiapan kutipan

Jika doctor memberi tahu Anda apa yang salah, fix menghasilkan penulisan ulang yang dioptimalkan GEO yang lulus semua 8 pemeriksaan — diambil, diaudit, dibuat ulang, dan divalidasi terhadap skema yang sama yang digunakan write.

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

Lihat docs/fix.md.


auto-geo prompts — kelola prompt yang Anda lacak

Prompt yang Anda lacak adalah pertanyaan yang Anda ingin mesin AI jawab dengan mengutip domain Anda. Prompt tersebut berada di .auto-geo/prompts.txt (teks biasa, dapat di-commit) dan itulah yang dijalankan check secara default.

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

Tidak tahu apa yang harus dilacak? Biarkan mesin mengusulkan kumpulan prompt Andadiscover mengambil beranda Anda, melihat apa yang sudah Anda lacak, dan meminta LLM membuat kueri berniat tinggi yang harus Anda perebutkan:

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

prompts add (dan discover) mem-bootstrap ruang kerja pada penggunaan pertama, jadi Anda bahkan tidak perlu init untuk mulai melacak.


auto-geo check — ukur cakupan kutipan aktual

Untuk setiap prompt, tanyakan mesin pencari AI sungguhan dan laporkan apakah domain Anda termasuk di antara kutipan. Ini adalah kebenaran dasar yang diprediksi doctor.

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)

Mesin: perplexity (default), openai, anthropic, gemini, xai (alias grok), atau --engine all — yang menjalankan setiap mesin yang kunci API-nya diatur dan melaporkan cakupan per mesin plus ringkasan gabungan.

# 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

Setiap proses disimpan ke .auto-geo/checks/ secara otomatis (nonaktifkan dengan --no-save). Kode keluar 0 jika cakupan > 0%, 1 jika 0%. Lihat docs/check.md untuk bentuk output, penangkapan kueri fan-out, aturan pencocokan domain, dan mode interoperasi --format geo-audit.


auto-geo history — cakupan kutipan dari waktu ke waktu

Hasil dari menyimpan setiap proses: garis tren. Cakupan per proses dengan delta per mesin, plus persis prompt mana yang mulai atau berhenti Anda dikutip.

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

Tren membandingkan hal yang serupa — setiap proses diukur terhadap proses sebelumnya dari pemilih mesin yang sama. --engine all memfilter ke proses multi-mesin; --limit N mengontrol kedalaman; --json mengeluarkan baris + delta yang dapat dibaca mesin. Lihat docs/history.md.


Konfigurasi

Atur sekali dengan auto-geo init, timpa di mana saja. Prioritas, tertinggi lebih dulu:

  1. Bendera CLI
  2. Variabel lingkungan (penyedia terdeteksi otomatis dari kunci API mana yang diatur)
  3. auto-geo.config.json (berjalan naik dari cwd — ramah monorepo)
  4. Default bawaan
// 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…",
  },
}

Kunci API berada di .env.local (atau .env), dimuat otomatis oleh setiap perintah — variabel lingkungan yang sudah diatur selalu menang:

Mesin / penyediaVariabel env
OpenAI (tulis, perbaiki, periksa)OPENAI_API_KEY
Anthropic (tulis, perbaiki, periksa)ANTHROPIC_API_KEY
Perplexity (periksa)PERPLEXITY_API_KEY
Gemini (periksa)GOOGLE_API_KEY atau GEMINI_API_KEY
xAI / Grok (periksa)XAI_API_KEY

Arsitektur halaman

Semua yang dihasilkan write dan fix — dan semua yang diaudit doctor — mengikuti arsitektur tujuh blok yang ketat:

  1. TL;DR — kapsul jawaban 40–60 kata
  2. Intro — blok pengaturan konteks
  3. Bagian — H2 format pertanyaan, masing-masing dibuka dengan kapsul jawaban 40–60 kata
  4. Panduan Terkait — 4–8 entri
  5. Poin-Poin Utama — 4–6 poin deklaratif
  6. FAQ — 3–10 tanya jawab dengan jawaban 40–60 kata
  7. Pengungkapan — catatan sumber, stempel waktu, baris penerbit

Pelanggaran struktural adalah kesalahan keras (payload yang dihasilkan ditolak dan dibuat ulang); heuristik kepadatan dan irama adalah peringatan lunak. Spesifikasi lengkap: docs/architecture.md, docs/validation.md, dan SOP di balik setiap batasan: docs/sop.md.

JSON output tidak bergantung pada renderer — POST ke CMS Anda, hidrasi template, atau render dengan komponen Anda sendiri. Struktur adalah kontraknya.


Output yang ramah agen

Setiap perintah dibangun untuk dijalankan oleh agen sama baiknya dengan oleh manusia:

  • --json — satu objek stabil yang dapat dibaca mesin di stdout.
  • --ndjson (periksa) — satu baris JSON per kueri saat hasil mengalir masuk, plus baris _summary.
  • Kemajuan masuk ke stderr, hasil ke stdout — pipa tetap bersih.
  • Kode keluar stabil — doctor dan check adalah gerbang CI langsung.
  • --no-color / NO_COLOR / deteksi non-TTY untuk output yang ramah log.
auto-geo check --ndjson | jq 'select(.cited) | .query'

Ramah LLM

auto-geo adalah alat yang keluarannya berupa konten yang dimaksudkan untuk dikutip oleh LLM — jadi repositori ini menggunakan produknya sendiri:

  • llms.txt — indeks terkurasi yang mengikuti konvensi llmstxt.org.
  • llms-full.txt — README + setiap dokumen substantif digabungkan ke satu file untuk pengambilan satu kali.
  • Situs GitHub Pages di shadowresearch.github.io/auto-geo — mengiklankan keduanya melalui <link rel="alternate">, mengeluarkan Article JSON-LD.
  • AGENT.md — spesifikasi operasi ringkas untuk agen pengode yang menjalankan CLI.

Berkontribusi

Lihat CONTRIBUTING.md. Laporan bug, peningkatan pemeriksaan, mesin baru, dan penyempurnaan dokumentasi semuanya diterima.


Lisensi

MIT.


Tentang Shadow

Shadow adalah laboratorium riset media yang membangun generasi berikutnya dari teknologi intelijen media dan komunikasi bertenaga AI, bermitra dengan tim-tim yang menempatkan OpenAI, TikTok, Meta, Amazon, dan Lovable di peta. Shadow menjalankan auto-geo secara end-to-end sesuai jadwal untuk tim riset media, PR, dan komunikasi.

Pelajari lebih lanjut di shadow.inc.