Il Problema: Sei Invisibile per l’AI (e Non Lo Sai)
Il tuo sito è primo su Google. Traffico organico solido, backlink di qualità, Core Web Vitals tutti verdi. Poi un utente chiede a ChatGPT “qual è il miglior tool per X?” e nella risposta appare il tuo competitor. Non tu.
Perché? Perché i motori AI non usano il ranking di Google per decidere chi citare. Usano segnali diversi: struttura del contenuto, dati verificabili, schema markup, file di indicizzazione dedicati come llms.txt. Se il tuo sito non è configurato per questi segnali, l’AI ti ignora.
Il problema è che fino a poco tempo fa non esisteva un modo rapido per capire cosa mancava. Dovevi controllare manualmente robots.txt, cercare lo schema nel codice, verificare se llms.txt esisteva, analizzare la qualità del contenuto. Su ogni sito. Ogni volta.
GEO Optimizer risolve questo. Un comando, 5 minuti, score da 0 a 100 con indicazioni precise su cosa sistemare.
Cos’è GEO Optimizer
GEO Optimizer è un toolkit open source (licenza MIT) per la Generative Engine Optimization. Audit, fix e monitoraggio della visibilità AI per qualsiasi sito web.
Il progetto è basato sulla ricerca della Princeton University (paper KDD 2024) che ha testato 10.000 query reali su Perplexity.ai e ha identificato 9 metodi per aumentare la visibilità AI fino al +115%.
Cosa fa in pratica:
- Audit completo con score 0-100 su 5 aree (robots.txt, llms.txt, Schema JSON-LD, meta tag, qualità contenuto)
- Fix automatici per generare i file mancanti con un singolo comando
- Citability Score separato, basato sui 9 metodi Princeton, che misura quanto il contenuto è estraibile dall’AI
- 16 AI bot classificati in 3 livelli (training, search, user)
- 7 formati di output inclusi SARIF e JUnit per integrazione CI/CD
- Server MCP per usare l’audit direttamente da Claude, Cursor o qualsiasi client MCP-compatibile
- Sistema plugin per aggiungere check personalizzati
Installazione: una riga.
pip install geo-optimizer-skill
I 4 Comandi che Ti Servono
Il tool ha quattro comandi CLI. Niente configurazione, niente API key, niente account. Funziona su qualsiasi URL pubblico.
geo audit: il check completo
Questo è il comando che usi più spesso. Punta a un URL e ottieni il report completo.
# Output testuale (default)
geo audit --url https://tuosito.com
# Output colorato per il terminale
geo audit --url https://tuosito.com --format rich
# JSON per automazione e CI/CD
geo audit --url https://tuosito.com --format json --output report.json
# HTML (report condivisibile)
geo audit --url https://tuosito.com --format html --output report.html
L’audit controlla 5 aree con punteggio dedicato:
| Area | Punti Max | Cosa verifica |
|---|---|---|
| robots.txt | 20 | Permessi per 16 AI bot su 3 livelli. GPTBot, ClaudeBot, PerplexityBot e altri 13 |
| llms.txt | 20 | Presenza del file, struttura (H1, blockquote, sezioni H2), numero di link |
| Schema JSON-LD | 25 | WebSite, WebApplication, FAQPage, Article. Il peso più alto perché è il segnale più forte per l’AI |
| Meta Tags | 20 | Title, description, canonical, Open Graph completo |
| Content Quality | 15 | Struttura heading, presenza di statistiche/numeri, link esterni, word count |
Le bande di score:
- 0-40: Critico. Il tuo sito è praticamente invisibile per l’AI
- 41-70: Fondamenta. Ci sono le basi ma mancano elementi chiave
- 71-90: Buono. Core optimization in place, serve il fine-tuning
- 91-100: Eccellente. Il tuo sito è pronto per essere citato
geo fix: correggi tutto con un comando
Questo è il comando che risparmia ore di lavoro. Fai l’audit, poi fix genera automaticamente tutti i file mancanti.
# Preview delle fix (dry-run, non scrive nulla)
geo fix --url https://tuosito.com
# Applica le fix e scrivi i file su disco
geo fix --url https://tuosito.com --apply
# Fix solo categorie specifiche
geo fix --url https://tuosito.com --only robots,llms
Cosa genera geo fix:
- Patch per robots.txt con tutti i bot AI configurati correttamente
- File llms.txt generato dalla sitemap del sito
- Schema JSON-LD mancanti (WebSite, FAQPage, WebApplication)
- Raccomandazioni per meta tag da aggiungere
Una nota pratica: il dry-run (senza --apply) mostra esattamente cosa verrà generato prima di toccare qualsiasi file. Usalo sempre la prima volta.
geo llms: genera llms.txt dalla sitemap
Il file llms.txt è l’indice del tuo sito per i modelli AI. GEO Optimizer lo genera automaticamente leggendo la sitemap.
geo llms --base-url https://tuosito.com --output ./public/llms.txt
Il risultato è un file Markdown strutturato con H1 (nome sito), blockquote (descrizione), sezioni H2 (categorie) e link a tutte le pagine importanti. Il formato segue la specifica proposta da Jeremy Howard (fast.ai).
geo schema: genera JSON-LD
# Schema WebSite
geo schema --type website --name "NomeSito" --url https://tuosito.com
# Schema WebApplication (per SaaS e tool)
geo schema --type webapp --name "NomeTool" --url https://tuosito.com/tool
I template sono 8 in totale: WebSite, WebApplication, FAQPage, Article, Organization, Person, SoftwareApplication e HowTo. Coprono la quasi totalità dei casi d’uso per blog e SaaS.
Il Citability Score: Oltre l’Audit Tecnico
Lo score dell’audit (0-100) misura la configurazione tecnica. Ma un sito tecnicamente perfetto può avere contenuti che l’AI non citerebbe mai.
Per questo GEO Optimizer include un Citability Score separato, basato sui 9 metodi del paper Princeton KDD 2024. Misura la qualità del contenuto dal punto di vista dell’AI: quanto è estraibile, citabile, autorevole.
I 9 metodi analizzati:
| # | Metodo | Impatto misurato | Cosa significa |
|---|---|---|---|
| 1 | Cite Sources | +115% visibilità | Citare fonti autorevoli nel tuo contenuto |
| 2 | Statistics | +40% media | Includere numeri e dati verificabili |
| 3 | Fluency | +15-30% | Scrittura chiara, diretta, senza ambiguità |
| 4 | Quotation | +20-25% | Citazioni dirette da esperti o documentazione |
| 5 | Technical Terms | +10-15% | Uso di terminologia specifica del settore |
| 6 | Authoritative Tone | +10-20% | Scrivere con autorità, non con incertezza |
| 7 | Easy to Understand | +5-15% | Struttura chiara, frasi parsabili |
| 8 | Unique Data | +30-50% | Dati originali non disponibili altrove |
| 9 | Structured Format | +20-35% | Tabelle, liste, heading gerarchici |
Il citability score è disponibile nella risposta JSON dell’API Python come result.citability.total_score. In una versione futura sarà integrato anche nel CLI.
I 16 AI Bot e la Classificazione a 3 Livelli
Non tutti i bot AI sono uguali. Alcuni usano il tuo contenuto per il training dei modelli. Altri lo usano per citarti nelle risposte. La differenza è enorme dal punto di vista strategico.
GEO Optimizer classifica 16 bot in 3 livelli:
| Livello | Bot | Cosa fanno | Vuoi permetterli? |
|---|---|---|---|
| Citation (Search) | OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot, Bingbot | Citano il tuo sito nelle risposte agli utenti | ✅ Quasi sempre sì |
| Training | GPTBot, Google-Extended, anthropic-ai, CCBot | Usano il contenuto per addestrare i modelli | ⚖️ Dipende dalla strategia |
| User | ChatGPT-User, meta-externalagent, Applebot-Extended | Accedono al sito su richiesta diretta dell’utente | ✅ Generalmente sì |
La nostra raccomandazione: permetti sempre i bot di citation tier. Sono quelli che ti portano citazioni e traffico referral. Per i bot di training tier, la scelta è tua. Bloccarli protegge il contenuto dal training, ma non influisce sulle citazioni.
Il comando geo audit mostra esattamente lo stato di ogni bot: permesso, bloccato, o non configurato.
Case Study: CalcFast.online
Teoria a parte. Ecco i numeri reali di un audit su CalcFast, un hub di calcolatori online.
I risultati dell’audit
| Area | Score | Dettagli |
|---|---|---|
| robots.txt | 0/20 | ❌ File non trovato. Nessuna indicazione per i bot AI |
| llms.txt | 20/20 | ✅ Perfetto. ~559 parole, H1 presente, sezioni strutturate con link |
| Schema JSON-LD | 18/25 | ✅ FAQPage e Organization presenti. Manca solo WebApplication |
| Meta Tags | 20/20 | ✅ Title, description, canonical, Open Graph tutti presenti |
| Content Quality | 15/15 | ✅ H1 chiaro, ~550 parole, 15 dati numerici, 2 link esterni |
| TOTALE | 73/100 | GOOD |
L’analisi
CalcFast ha contenuti eccellenti (15/15) e meta tag perfetti (20/20). Il llms.txt è un 20/20 pieno: strutturato, con link, word count adeguato. Lo schema copre FAQPage e Organization, manca solo WebApplication (che per un sito di calcolatori online è rilevante).
Il buco? robots.txt. Zero punti su 20. Il file non esiste.
Senza robots.txt, i bot AI non hanno indicazioni esplicite su cosa possono e cosa non possono fare. Alcuni (come GPTBot) interpretano l’assenza come “permesso”, altri potrebbero essere più conservativi. In ogni caso, stai lasciando 20 punti sul tavolo per un file che richiede 5 minuti di lavoro.
Il fix
Un singolo comando:
geo fix --url https://calcfast.online --only robots --apply
Genera un robots.txt con tutti i 16 bot AI configurati correttamente. Score previsto dopo il fix: da 73 a 93/100. Aggiungi lo schema WebApplication e arrivi a 100.
Questa è la forza del GEO: quick win enormi con investimento minimo.
Integrazione CI/CD
Per chi gestisce più siti (agenzie, freelance con portfolio), il GEO score può diventare un check automatico nella pipeline.
# Nel tuo script CI (GitHub Actions, GitLab CI, Jenkins)
geo audit --url https://tuosito.com --format json --output report.json
SCORE=$(jq '.score' report.json)
if [ "$SCORE" -lt 70 ]; then
echo "⚠️ GEO score troppo basso: $SCORE/100"
exit 1
fi
Supporta anche i formati SARIF (per GitHub Code Scanning e SonarQube) e JUnit XML (per Jenkins e GitLab CI). Puoi integrarlo nello stesso workflow dove controlli Lighthouse per i Core Web Vitals.
Se gestisci 30 siti WordPress con un tool di gestione, puoi lanciare l’audit su tutti in un loop bash e generare un report aggregato. 30 siti, 10 minuti, score completo per ciascuno.
Server MCP: GEO Optimizer dentro il Tuo Editor
GEO Optimizer include un server MCP (Model Context Protocol) che espone tutte le funzionalità di audit direttamente in Claude, Cursor, o qualsiasi client MCP-compatibile.
5 tool e 2 risorse, zero API key richieste. Significa che puoi chiedere al tuo AI coding assistant “fai un audit GEO del mio sito” e ottenere il report senza uscire dall’editor.
Per attivarlo:
# Avvia il server MCP
geo-mcp
Poi configura il client MCP per connettersi. Su Claude Desktop, aggiungi l’entry nel file di configurazione MCP. Su Cursor, aggiungi il server nelle impostazioni MCP.
Come Contribuire
GEO Optimizer è open source (MIT license). Il repo è su GitHub (Auriti-Labs/geo-optimizer-skill).
Il sistema plugin permette di aggiungere check personalizzati via entry points Python. Se hai un controllo specifico per il tuo settore (es. schema per e-commerce, check specifici per siti PA), puoi scriverlo come plugin e condividerlo.
Issue, PR e stelle sono benvenute. Il progetto è attivamente mantenuto e segue semantic versioning.
FAQ
GEO Optimizer funziona con qualsiasi sito o solo WordPress?
Funziona con qualsiasi sito web pubblicamente accessibile. Non importa se è WordPress, Next.js, Shopify, HTML statico o un generatore come Hugo. L’audit analizza l’output finale (HTML, robots.txt, llms.txt) non il backend.
Serve Python per usarlo?
Sì, Python 3.9 o superiore. L’installazione via pip è standard. Se non hai Python, la web demo (geo-web) offre un’interfaccia browser per l’audit senza installare nulla in locale.
L’audit è gratuito?
Sì, completamente. Nessun limite di audit, nessuna API key, nessun account. Il tool è open source con licenza MIT: puoi usarlo, modificarlo e distribuirlo senza restrizioni.
Con quale frequenza dovrei fare l’audit?
Dopo ogni modifica significativa al sito (nuovo deploy, cambio tema, aggiornamento plugin che tocca gli header). Per i siti in produzione attiva, un audit settimanale o integrato nella CI/CD è l’ideale. Lo score non dovrebbe mai scendere sotto 70.
GEO Optimizer accede ai dati del mio sito?
No. L’audit funziona come un browser: accede solo a URL pubblici (homepage, robots.txt, llms.txt). Non richiede credenziali, non accede al backend, non modifica nulla sul server (a meno che tu non usi --apply in locale).