Vai al contenuto

Il punteggio AI-Readiness: un secondo indicatore deterministico

La scansione Pro assegna a ogni pagina un punteggio AI-Readiness da 0 a 100 accanto al punteggio SEO. Valuta i segnali tecnici che possono aiutare crawler AI e motori di risposta a raggiungere, leggere e attribuire il contenuto. Non viene mai combinato con il punteggio SEO organico: ciascun indicatore ha criteri, versione e colonna propri.

Come interpretare il numero

AI-Readiness è una misura deterministica di compatibilità tecnica definita da Rankbeam: controlla la presenza e la forma dei segnali raccolti dalla scansione. Non prevede posizionamento, indicizzazione, inclusione o citazioni nei sistemi di ricerca o AI e non garantisce questi risultati. air_llms_txt assegna punti a un file di compatibilità llms.txt facoltativo, destinato ai sistemi che scelgono di leggerlo. Non è richiesto da Google Search né costituisce un segnale di posizionamento.

Come il punteggio SEO, è deterministico e riproducibile: ogni punto deriva da un controllo nominato, e gli stessi segnali, con gli stessi criteri, producono lo stesso numero. Il calcolo non effettua chiamate AI. Puoi risalire dal risultato ai controlli che lo compongono, senza dipendere da risposte campionate di un modello linguistico.

score = round( Σ credit(check) × weight(check) )   for every rubric check

Due indicatori separati

AI-readiness: 74/100 compare accanto a SEO: 82/100; nessuno modifica l'altro. AI-Readiness usa le colonne ai_readiness_* di seo_scan_results. Come per il punteggio SEO, il numero è una funzione Pro: il comando gratuito seo:audit non assegna punteggi.

Punti assegnati, non penalità

Il punteggio SEO parte da 100 e sottrae penalità. AI-Readiness parte da 0 e assegna in tutto o in parte il peso di ciascun controllo. Una pagina priva dei segnali valutati ottiene quindi un valore vicino a zero. I pesi sommano esattamente 100.

I criteri di valutazione

Il calcolo usa criteri pubblicati e versionati, definiti da Rankbeam\Seo\Pro\Scanning\AiReadiness\AiReadinessRubric: dieci controlli in quattro categorie.

A · Accesso e controllo dei bot: 30 punti

Le regole consentono l'accesso ai crawler di ricerca AI e agli assistenti? Il controllo legge il /robots.txt restituito dal sito e valuta il percorso della pagina scansionata. Un Disallow: /section indica un divieto per le pagine di quella sezione anche se la radice è consentita; è una direttiva per i crawler che la rispettano, non un blocco di rete. Le finalità, training, ricerca e assistente, provengono dal catalogo dei crawler AI.

ControlloPesoPunti assegnati
air_robots_reachable: robots.txt disponibile e leggibile6presente / assente
air_ai_search_access: accesso consentito ai crawler di ricerca AI, che possono portare visite10quota di crawler consentiti
air_ai_assistant_access: accesso consentito ai crawler assistente AI8quota di crawler consentiti
air_explicit_ai_policy: regola esplicita in robots.txt per un bot AI noto6presente / assente

Bloccare il training non riduce la valutazione

Vietare l'accesso ai bot di training, come GPTBot e CCBot, è una scelta legittima e non comporta penalità. La scelta sul training conta solo per air_explicit_ai_policy, che verifica una regola esplicita. Un sito che blocca i trainer e consente ricerca e assistenti può ottenere tutti i punti della categoria.

B · Individuazione dei contenuti: 20 punti

ControlloPesoPunti assegnati
air_sitemap_discoverable: sitemap XML raggiungibile e indicata da una direttiva Sitemap:12entrambe / una / nessuna condizione
air_llms_txt: /llms.txt valido, con titolo e link8valido / presente / assente

C · Contenuto leggibile automaticamente: 22 punti

ControlloPesoPunti assegnati
air_server_rendered_content: testo sufficiente nell'HTML generato dal server, senza eseguire JavaScript14in base al numero di parole
air_markdown_twin: versione Markdown della pagina disponibile tramite content negotiation8presente / assente

D · Dati strutturati e organizzazione delle risposte: 28 punti

ControlloPesoPunti assegnati
air_schema_completeness: JSON-LD presente, entità principale tipizzata, autore e data presenti quando previsti, in particolare per gli articoli18completo / parziale / assente
air_answer_structure: elementi che facilitano l'estrazione, come schema FAQ/QA/HowTo, gerarchia dei titoli, liste e apertura concisa10in base al numero di elementi

Ogni controllo assegna punti completi, parziali o zero, oppure viene saltato quando non è stato possibile raccogliere il segnale necessario, per esempio un controllo sulla pagina senza recupero della pagina. Un controllo saltato vale zero ma viene indicato come tale: un dato non verificato non viene presentato come assenza confermata.

Copertura dell'audit gratuito

La completezza dello schema, air_schema_completeness, può essere valutata dai dati strutturati del modello senza richieste HTTP, attraverso lo stesso percorso usato dall'audit gratuito per i controlli sulla struttura delle risposte. Gli altri nove controlli richiedono una scansione: il punteggio completo appartiene quindi alla scansione Pro.

Ambito della valutazione ed esclusioni

Questo indicatore valuta segnali deterministici rilevabili nei contenuti di un sito. Esclude i controlli sull'infrastruttura degli agenti, che riguardano l'applicazione in esecuzione o il DNS:

EsclusioneMotivo
DNS-AID, record DNS per individuare agentiRiguarda DNS e DNSSEC, non il contenuto di una pagina.
Web Bot Auth, firma delle richiesteRichiede uno scambio crittografico interattivo.
Protocol Discovery, come API Catalog, OAuth/OIDC, MCP Server Card, Agent Skills e WebMCPRichiede un'app, un'API o un server MCP in esecuzione.
Commerce, come x402, MPP, UCP e ACPRiguarda protocolli di pagamento per agenti, fuori dall'ambito di questa valutazione dei contenuti.

L'indicatore include invece la completezza delle entità schema e la struttura dei blocchi di risposta: segnali del contenuto utili a descriverne l'organizzazione e l'attribuzione, senza garantire che un motore li usi.

Versionamento: lo storico non cambia in lettura

Ogni punteggio salvato registra AiReadinessRubric::VERSION in ai_readiness_version. Modificare controlli, pesi o modalità di assegnazione richiede una nuova versione, così puoi ricostruire i criteri di ogni risultato. Il punteggio viene salvato, non ricalcolato in lettura. Le soglie che incidono sul numero, come parole ed elementi strutturali, sono costanti nel codice associate alla versione; non opzioni modificabili in configurazione.

Un input non fissato dalla versione

I controlli di accesso leggono il catalogo dei crawler AI corrente del pacchetto core. Un nuovo bot o una riclassificazione cambia gli input e può modificare i due sottopunteggi di accesso senza cambiare AiReadinessRubric::VERSION, che identifica i criteri, non il catalogo. Per confronti storici esatti, registra e fissa anche la versione del core.

Dove viene salvato

Ogni scansione aggiorna le colonne AI-Readiness sulla stessa riga di seo_scan_results che contiene il punteggio SEO:

ColonnaContenuto
ai_readiness_scoreNumero da 0 a 100; null finché il target non viene scansionato con l'indicatore attivo.
ai_readiness_versionVersione dei criteri usati.
ai_readiness_breakdown[{code, category, credit, weight, points, status, message, evidence}, …]: dettaglio completo.

Al termine della scansione, la media viene salvata in seo_scan_runs.avg_ai_readiness, come avg_score, per costruire l'andamento nel tempo.

Leggere il punteggio

Senza Filament: l'ultimo risultato di un modello contiene entrambi gli indicatori:

php
use Rankbeam\Seo\Pro\Facades\SeoPro;

$result = SeoPro::resultFor($post);

$result?->score;                    // organic SEO score, e.g. 82
$result?->ai_readiness_score;       // AI-Readiness, e.g. 74
$result?->aiReadinessGrade();       // 'A'..'F' (null if never scored)
$result?->aiReadinessByCategory();  // ['bot_access' => ['awarded' => 24.0, 'max' => 30], …]

Con Filament: aggiungi la colonna dedicata accanto al punteggio SEO in una tabella della risorsa:

php
use Rankbeam\Seo\Pro\Filament\Tables\Columns\AiReadinessScoreColumn;
use Rankbeam\Seo\Pro\Filament\Tables\Columns\SeoScoreColumn;

SeoScoreColumn::make(),
AiReadinessScoreColumn::make(),

Il valore compare anche come badge nella scheda del punteggio nella pagina, sopra il campo del titolo SEO, e in una sezione del report personalizzabile, PDF ed email, con numero, fascia, variazione dal report precedente e andamento per scansione. Rimane sempre separato dal punteggio organico.

Fasce

La lettera è una rappresentazione del numero, che resta il valore di riferimento. Le fasce sono le stesse del punteggio SEO:

PunteggioFascia
90-100A
75-89B
50-74C
25-49D
0-24F

Configurazione

php
// config/seo-pro.php → 'scan'
'ai_readiness' => [
    'enabled' => true,             // turn the AI-Readiness pass + its persistence on/off
    'fetch_site_signals' => true,  // fetch /robots.txt, /llms.txt, /sitemap.xml (per host)
    'probe_markdown_twin' => true, // probe Accept: text/markdown on the page
],

Controlli e pesi non sono configurabili. A parità di input e ai_readiness_version, il risultato deve essere deterministico tra installazioni: modificare il calcolo richiede una modifica versionata nel codice.

I segnali del sito passano dal kernel HTTP dell'app

Per un target sullo stesso host, la scansione risolve /robots.txt, /llms.txt e la pagina tramite il kernel HTTP di Laravel nel processo corrente. Un robots.txt o llms.txt servito come file statico, senza passare dalle route Laravel, non viene rilevato. Per includerli nella valutazione usa le route del pacchetto, che sono la configurazione consigliata.

rankbeam/laravel-seo è distribuito con licenza MIT.