← Torna al blog
AEOScanaris Team · 5 min di lettura · October 04, 2026

Perché le app create con l'IA sono invisibili all'IA (e come rimediare)

Sempre più persone chiedono a ChatGPT, Claude o Perplexity "qual è lo strumento migliore per X?" invece di cercare su Google. Se il tuo prodotto non compare in quelle risposte, per quel pubblico non esisti. Questo si chiama AEO (Answer Engine Optimization), e le app create con l'IA partono con un handicap: per come le generano gli strumenti, la maggior parte mostra ai bot di IA una pagina vuota. Questa guida spiega perché succede proprio a queste app, come verificarlo in due minuti e cosa sistemare a seconda dello strumento con cui hai costruito.

Perché succede proprio alle app create con l'IA

Lovable, Bolt, v0 e la maggior parte dei template che usa Cursor generano di default una SPA: un'applicazione a pagina singola con Vite e React in cui l'HTML che arriva al browser è quasi vuoto e JavaScript disegna tutto dopo. È l'architettura giusta per una dashboard dietro login, ma questi strumenti la usano anche per la landing, la pagina dei prezzi e il blog. Tre conseguenze:

  • Il contenuto non è nell'HTML. Il server invia un <div id="root"></div> e poco altro. Quello che vedi lo costruisce il browser.
  • Nemmeno i metadati. Titolo, descrizione e tag di condivisione vengono impostati da JavaScript, quindi un bot che non lo esegue vede il titolo generico del template.
  • Un solo dominio per tutto. Parte pubblica e parte privata condividono il codice, e nessuno si ferma a pensare a cosa dovrebbe essere leggibile dall'esterno.

La trappola è che molti crawler di IA non eseguono JavaScript, o lo fanno con dei limiti. Googlebot renderizza, anche se in ritardo e con un budget limitato; i bot di OpenAI, Anthropic o Perplexity leggono soprattutto l'HTML così com'è. Per loro la tua app è un foglio bianco: non possono capire cosa fai né citarti.

Cosa vede un bot del tuo sito

Questo è, quasi alla lettera, ciò che riceve un crawler da un'app generata con uno di questi strumenti:

<!doctype html>
<html>
  <head>
    <title>Vite + React</title>
    <script type="module" src="/assets/index-a1b2c3.js"></script>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

Nemmeno una frase sul tuo prodotto. Se poi il template porta con sé un robots.txt che blocca i crawler, o la tua CDN ha una modalità anti-bot attiva, la porta è chiusa due volte.

Come sapere se ti riguarda (due minuti)

  • Visualizza sorgente. Apri il tuo sito, tasto destro, "Visualizza sorgente pagina" (non "Ispeziona", che mostra il risultato già renderizzato). Cerca il tuo titolo principale e un paragrafo. Se non ci sono, nemmeno i bot li vedono.
  • Senza JavaScript. Disattivalo nel browser e ricarica. Quello che resta è ciò che vede un bot di base.
  • Come il bot di ChatGPT. Dal terminale, richiedi la pagina con il suo user agent e conta le parole che arrivano:
curl -s -A "GPTBot" https://tuodominio.com/ | sed 's/<[^>]*>//g' | wc -w

Se escono poche decine, il contenuto vive nel JavaScript. Se escono diverse centinaia, arriva nell'HTML. Il dettaglio di quale bot fa cosa è in come sapere se ChatGPT può vedere il tuo sito.

Le cinque cose che risolvono il problema

1. Contenuto pubblico che arriva nell'HTML

Non serve renderizzare lato server tutta l'app; bastano le pagine che vuoi che l'IA capisca: home, prodotto, prezzi, blog, domande frequenti. Tre strade, dalla meno alla più impegnativa:

  • Prerenderizzare in fase di build. Un plugin di prerender per Vite genera un HTML completo per ogni rotta pubblica al momento della build. Funziona bene per pagine che non cambiano a ogni visita.
  • Separare il sito dal prodotto. Landing, prezzi e blog su un sito statico (Astro, Webflow, Framer, anche Nuxt o Next in modalità statica) su tuodominio.com, e l'app come SPA su app.tuodominio.com. È l'architettura più sana e quella più simile a ciò che fanno i prodotti maturi.
  • Migrare la parte pubblica a un framework con SSR (Next.js, Nuxt, SvelteKit). Più lavoro, ma il problema sparisce per sempre.

2. Metadati nell'HTML, non in JavaScript

Titolo, descrizione e tag Open Graph devono stare nell'HTML iniziale. Se prerenderizzi o separi il sito, questo viene gratis. Altrimenti, metti almeno nell'index.html un titolo e una descrizione reali al posto di quelli del template.

3. Dati strutturati che dicano cosa sei

Un blocco JSON-LD con Organization e SoftwareApplication dà al modello fatti senza ambiguità: nome, cosa fa, prezzo, dove si trova. Se hai domande frequenti, marcale come FAQPage. Il come è in dati strutturati: perché l'IA cita alcuni siti e altri no.

4. Un llms.txt

Un file di testo nella root del dominio che riassume in una frase cosa sei ed elenca le tue pagine importanti. Non è obbligatorio né magico, ma è un punto d'ingresso pulito e ti obbliga a scrivere la frase che definisce il tuo prodotto. Hai un generatore gratuito di llms.txt.

5. Non bloccare i bot senza volerlo

Controlla il robots.txt: un template copiato o un Disallow: / rimasto dalla fase di test chiudono la porta a GPTBot, ClaudeBot e compagnia. E verifica la modalità anti-bot della tua CDN. Puoi vedere quali crawler di IA permetti con il verificatore di bot di IA.

Cosa non serve

Non serve che l'IA veda la tua dashboard privata: ciò che sta dietro un login non lo legge nessuno, ed è giusto così. Non serve nemmeno riscrivere l'app. L'obiettivo è che le quattro o cinque pagine che spiegano cosa fai siano leggibili senza JavaScript, niente di più.

Come misurarlo nel tempo

Due segnali. Nei log del tuo server o della CDN, filtra per gli user agent dei bot di IA e guarda quali pagine richiedono; se non ne compare nessuno, controlla prima il robots.txt. E una volta al mese chiedi a ChatGPT, Claude e Perplexity della tua categoria e del tuo brand, e annota se ti menzionano e se ti descrivono bene. Quel giro è la tua linea di base; il resto sono supposizioni.

Scanaris lo verifica in 30 secondi

Il pilastro di visibilità per l'IA di Scanaris controlla se il tuo contenuto è leggibile senza JavaScript, se i tuoi metadati arrivano nell'HTML, se hai dati strutturati e llms.txt, e se blocchi bot di IA nel robots.txt. Per ogni errore ti dà un fix prompt da incollare in Lovable, Bolt o Cursor con la correzione esatta. E il tracker di visibilità controlla ogni giorno se compari quando qualcuno chiede un consiglio nella tua categoria. Per capire il contesto completo, parti da cos'è l'AEO.

Domande frequenti

Anche Google vede la mia app vuota?

Google renderizza JavaScript, ma in un secondo passaggio che può richiedere giorni e con un budget limitato per sito. Un'app che arriva vuota viene indicizzata peggio e più tardi. Sistemarlo per l'IA migliora anche la tua SEO.

Lovable, Bolt o v0 possono renderizzare lato server?

Generano SPA di default. La soluzione pratica è prerenderizzare le pagine pubbliche o spostare il sito marketing su un sito statico separato e lasciare l'app su un sottodominio.

Basta pubblicare un llms.txt?

No. È un complemento utile, ma se l'HTML arriva vuoto il bot continua a non poter leggere le tue pagine. Prima il contenuto nell'HTML, poi il resto.

Come se la cava il tuo sito?

Lascia che Scanaris lo analizzi e verifica in 30 secondi, gratis.

Scansiona il mio sito

Controlli correlati