
Un sito può contenere tutte le informazioni corrette e funzionare perfettamente per gli utenti, ma questo non significa automaticamente che un sistema di Intelligenza Artificiale riesca a comprenderle e utilizzarle.
Infatti, è importante spechificare che:
È proprio in quest'ultimo passaggio che diventano importanti i dati strutturati.
Schema.org e JSON-LD permettono infatti di aggiungere al contenuto della pagina informazioni che aiutano i sistemi automatici a riconoscere entità, caratteristiche e relazioni.
Ma c'è un aspetto fondamentale:
Non basta avere i dati strutturati. È importante che siano già disponibili nell'HTML iniziale della pagina e non dipendano esclusivamente dall'esecuzione successiva di JavaScript.
I dati strutturati sono informazioni inserite nel codice di una pagina web per spiegare alle macchine che cosa rappresentano i contenuti presenti nella pagina.
Facciamo un esempio.
Immaginiamo una pagina dedicata a un ristorante:
Ristorante Verde
Via Roma 25, Roma
Cucina vegana
Aperto dalle 12:00 alle 23:00
Per una persona queste informazioni sono facilmente comprensibili.
Un sistema automatico, invece, deve interpretare il contenuto e capire che:
Con Schema.org possiamo fornire queste informazioni in una forma più esplicita e standardizzata.
Per esempio:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Ristorante Verde",
"address": {
"@type": "PostalAddress",
"streetAddress": "Via Roma 25",
"addressLocality": "Roma"
}
}
</script>
In questo modo non stiamo semplicemente fornendo delle parole, ma stiamo spiegando alle macchine che cosa rappresentano quelle parole.
I sistemi AI devono recuperare e interpretare enormi quantità di informazioni.
Quando trovano una pagina, devono riuscire a distinguere, per esempio, tra:
I dati strutturati possono aiutare a ridurre questa ambiguità.
Per questo possiamo considerare lo Structured Data come un livello semantico aggiuntivo della pagina.
Il contenuto dice:
"Questo è il Ristorante Verde."
Il dato strutturato può specificare:
"Questo è un'entità di tipo Restaurant e il suo nome è Ristorante Verde."
La differenza è importante perché permette ai sistemi automatici di interpretare più facilmente il significato dell'informazione.
A questo punto arriva il passaggio più importante per la GEO.
Potresti avere un markup Schema.org perfettamente corretto, ma se un crawler non riesce a recuperarlo, quel markup potrebbe non essere utile nel momento in cui il sistema analizza la pagina.
È quindi importante non chiedersi soltanto:
"Ho inserito Schema.org?"
ma anche:
"Il crawler riesce realmente a vedere il mio Schema.org?"
Ed è qui che entra in gioco il rapporto tra HTML e JavaScript.
Quando un crawler visita una pagina, il server gli restituisce una risposta HTML.
Se il JSON-LD è già presente in quella risposta, il crawler può trovarlo immediatamente.
Il percorso è semplice:
Server → HTML → Structured Data → Crawler
Per esempio:
<html>
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Ristorante Verde"
}
</script>
</head>
<body>
...
</body>
</html>
Il markup è già presente nell'HTML ricevuto.
Un sito può invece utilizzare JavaScript per inserire successivamente il JSON-LD nella pagina.
In questo caso il crawler potrebbe ricevere inizialmente:
<html>
<head>
...
</head>
<body>
...
</body>
<script src="schema.js"></script>
</html>
Il JavaScript viene eseguito successivamente e aggiunge il markup.
Il percorso diventa quindi:
Server → HTML → JavaScript → Structured Data
Il problema è semplice:
se il crawler non esegue quel JavaScript, potrebbe non arrivare mai al markup.
Per questo, quando si parla di GEO, è preferibile che le informazioni strutturate più importanti siano già disponibili nella risposta HTML iniziale.
Immaginiamo nuovamente il nostro Ristorante Verde.
La pagina contiene:
Ristorante Verde
Via Roma 25
Roma
Cucina vegana
Aperto dalle 12:00 alle 23:00
Il sito utilizza Schema.org per descrivere l'attività.
Crawler
↓
HTML
↓
Contenuto + Schema.org
↓
Informazioni disponibili
Il crawler trova immediatamente sia il contenuto sia le informazioni strutturate.
Crawler
↓
HTML
↓
JavaScript
↓
Schema.org
Qui il crawler deve riuscire a eseguire JavaScript per arrivare al markup.
Se non lo fa, potrebbe non vedere quella parte delle informazioni.
È importante chiarire un equivoco.
JavaScript non è incompatibile con la GEO.
I siti moderni utilizzano JavaScript per moltissime funzioni e non c'è motivo di evitarlo.
La domanda corretta non è quindi:
"Il mio sito utilizza JavaScript?"
ma:
"Le informazioni importanti sono già disponibili nell'HTML iniziale che il crawler può recuperare?"
Questa è una delle verifiche più importanti durante una verifica di AI Crawlability.
Questo principio non riguarda soltanto il markup.
È lo stesso concetto che abbiamo visto analizzando il rendering JavaScript.
Se il contenuto principale viene caricato soltanto dopo l'esecuzione di JavaScript, un crawler potrebbe avere difficoltà a recuperarlo.
Lo stesso vale per i dati strutturati.
Possiamo quindi sintetizzare così:
1. Contenuto: Deve essere recuperabile nell'HTML iniziale.
2. Structured Data: Deve essere recuperabile nell'HTML iniziale.
3. Informazioni importanti: Non dovrebbero dipendere esclusivamente dal rendering JavaScript.
Questo crea una regola GEO molto semplice:
Ciò che vuoi rendere facilmente recuperabile dall'AI dovrebbe essere disponibile il prima possibile, preferibilmente già nella risposta HTML del server.
Qui possiamo fare una distinzione importante tra ciò che vediamo nel browser e ciò che riceve realmente un crawler.
Quando apriamo una pagina con Chrome, il browser può eseguire JavaScript e modificare il contenuto della pagina.
Quello che vediamo quindi potrebbe essere il risultato finale di diversi processi.
Per un controllo GEO possiamo invece analizzare direttamente la risposta del server.
Per esempio, con PowerShell:
$response = Invoke-WebRequest "https://tuosito.it"
$html = $response.Content
In questo modo possiamo analizzare l'HTML ricevuto dal server.
Se all'interno troviamo il JSON-LD:
<script type="application/ld+json">
abbiamo una conferma che il markup è presente nella risposta HTML.
Questo tipo di controllo è particolarmente utile perché permette di verificare ciò che viene realmente restituito al crawler, non soltanto ciò che viene visualizzato dal browser dopo il caricamento della pagina.
In un'ottica GEO, particolare attenzione dovrebbe essere riservata alle informazioni che descrivono l'attività, i suoi prodotti, i servizi e le persone che producono i contenuti.
Per esempio:
Non significa che ogni elemento del sito debba essere statico.
Significa che le informazioni strategiche non dovrebbero essere rese disponibili esclusivamente attraverso processi che un crawler potrebbe non eseguire.
C'è poi un altro aspetto importante per la GEO.
Una pagina non deve soltanto essere comprensibile.
I sistemi AI devono anche riuscire a collegare le informazioni a entità coerenti.
Per esempio, un sito aziendale dovrebbe rendere facilmente riconoscibile:
Nome dell'azienda
↓
Azienda / Organization
↓
Sito ufficiale
↓
Servizi
↓
Autori
↓
Contenuti
↓
Profili e altre entità correlate
I dati strutturati possono contribuire a rendere più esplicite queste relazioni.
Questo è importante perché la visibilità nei sistemi AI non dipende soltanto dalla presenza di una singola informazione.
Conta anche la capacità del sistema di collegare quella informazione alla giusta entità.
Possiamo quindi vedere il processo in questo modo:
1. Il crawler deve poter accedere al sito
↓
2. Deve poter recuperare l'HTML
↓
3. Deve poter leggere il contenuto
↓
4. Deve poter interpretare i dati strutturati
↓
5. Deve poter riconoscere le entità
↓
6. Deve poter collegare le informazioni
↓
7. Può utilizzare queste informazioni nelle risposte AI
Questo è il motivo per cui la GEO non riguarda soltanto la scrittura dei contenuti.
Riguarda anche come le informazioni vengono rese recuperabili e comprensibili dalle macchine.
Il punto fondamentale è semplice:
Non basta inserire un dato strutturato. Devi fare in modo che il crawler possa recuperarlo e comprenderlo.
Per questo, quando implementi Schema.org e JSON-LD, verifica che il markup importante sia:
In altre parole:
Presenza → Recuperabilità → Comprensione → Utilizzo
È questo il percorso che trasforma un semplice markup in un elemento utile all'interno di una strategia GEO.
Prima di considerare ottimizzata una pagina, chiediti:
Se la risposta è sì, hai creato una base tecnica molto più solida per la recuperabilità e comprensione dei contenuti da parte dei sistemi AI.
Ed è proprio questo il passaggio successivo rispetto alla semplice indicizzazione tradizionale: