Partiamo da un concetto basilare: il web è un universo di dati. Questi dati possono essere di tre tipi, in base al loro grado di organizzazione:
- Dati non strutturati
- Dati semi-strutturati
- Dati strutturati
L’algoritmo del motore di ricerca semantico estrapola informazioni da tutti e tre i livelli organizzativi di dati, a seconda di come questi gli vengano presentati. Di conseguenza prova a stabilire relazioni tra le entità presenti in rete. Citando un importante SEO di caratura internazionale, Bill Slawski, si tratta una vera e propria evoluzione nel modo di considerare il web, dove il valore viene distribuito non tanto tra i link, ma tra le associazioni delle diverse entità.
In web crawling, a node is a page, and an edge is a link between pages; in data crawling, a node is an entity, and an edge is a relationship between entities. It’s an evolution in thinking about the web.
— Bill Slawski ⚓ (@bill_slawski) February 10, 2019
Ciò che rende speciale i dati strutturati, e che dunque ne avvalora l’uso, è la loro formattazione, facilmente leggibile ed interpretabile da parte di un motore di ricerca. E qui ci si ricollega alla SEO: l’implicazione più importante è che l’uso sempre più frequente dei dati strutturati aiuta a comporre un web più sensato, ordinato e soprattutto pieno di significato. Il punto di rottura, l’evoluzione nel modo di pensare il web, sta nello smettere di concentrarsi su pagine e link, spostando il focus della ricerca sui significati delle entità e il loro contesto.
Che cosa è il web semantico
Lo ammetto: il web semantico è la declinazione della SEO che più mi affascina. In questo blog, il tema della ricerca semantica troverà grande spazio e sarà approfondito su più livelli, essendo il campo più in rapida espansione dell’ottimizzazione per i motori di ricerca.
La semantica è il ramo della linguistica che studia il significato delle parole. Applicata al mondo del web, la semantica definisce il contesto dato dalle associazioni tra le entità. Un’entità è infatti una cosa, un concetto, che assume significati in un determinato contesto. Un motore di ricerca semantico, che scansiona e indicizza informazioni strutturate secondo un vocabolario comprensibile (dunque, formattate) interpreta decisamente meglio di un motore che cerca semplicemente di associare le parole di una query alle medesime parole trovate in una pagina web.
La corretta interpretazione delle associazioni tra le entità è di nevralgica importanza nei processi di indicizzazione e posizionamento di un contenuto web tra i risultati di ricerca, e in tutto ciò i dati strutturati giocano un ruolo sempre più importante e non più trascurabile.
Che cosa sono i dati strutturati
I dati strutturati sono meta informazioni che riguardano il contenuto di una pagina di un sito, formattati secondo un vocabolario standard. I dati, una volta inseriti all’interno del codice HTML della pagina, hanno il compito di contestualizzare il significato del contenuto per facilitarne la classificazione da parte dei motori di ricerca semantici.
L’importanza dei dati strutturati è sempre più nevralgica per i motori di ricerca, perché il loro utilizzo all’interno del web è in costante crescita. La gran parte di essi è conservata in grossi database di dati collegati, come Wikidata o DBpedia. Questi database hanno il compito di estrapolare dalle pagine di Wikipedia le informazioni pertinenti alle interrogazioni semantiche. Google li sfrutta per i suoi famosi Knowledge Graph.
Per fare un esempio, cercando su Google “presidente australia“, il risultato in SERP sarà il seguente, estratto dalle tabelle di Wikipedia:
Ma lo storage dei dati strutturati non si limita a questi grandi database. Un numero sempre crescente di dati viene esposto ogni giorno tramite annotazioni semantiche aggiunte alle pagine web dei siti più disparati. Questo avviene grazie all’utilizzo di linguaggi standard di dati strutturati. L’implicazione “visiva” più evidente dell’uso di queste meta informazioni in una pagina web sono i risultati multimediali:
I risultati multimediali, o rich snippet, sono informazioni aggiuntive presenti negli snippet dei risultati di ricerca mostrati per query di ricerca pertinenti. Per esempio, ricercando su Google “ricetta calzoni fritti“, ci viene immediatamente in supporto lo snippet di un sito di ricette che ci fornisce le valutazioni, il tempo di preparazione e un’indicazione sui valori nutrizionali in termini di calorie.
Ricercando invece per un’entità persona, come Charles Leclerc, il sito della Formula 1, grazie ai dati strutturati, ci dice già nello snippet alcuni dati sulla carriera del pilota.
A cosa servono i dati strutturati
Inserendo i dati strutturati all’interno di un sito, aiutiamo il motore di ricerca a capire i concetti, i significati e soprattutto gli intenti di ricerca dietro una determinata query digitata dagli utenti.
Tutto questo grazie all’uso di un vocabolario semantico condiviso, che vedremo a breve. Utilizzando i dati strutturati favoriamo il motore di ricerca a collegare le entità presenti nel nostro contenuto. Si tratta, in breve, della comprensione del contesto.
Non è dunque vero che i dati strutturati in una pagina web servono soltanto a generare i risultati multimediali nella SERP. In realtà, svolgono un ruolo fondamentale nei processi di indicizzazione e aiutano il motore di ricerca a fornire la risposta più pertinente possibile ad una determinata query.
I dati strutturati sono un segnale di ranking?
A questo punto la domanda è scontata, e perfettamente lecita. I dati strutturati sono un segnale di ranking? La risposta ufficiale è no: i dati strutturati non sono un fattore di posizionamento. Google l’ha ribadito più volte, attraverso vari canali, come Twitter:
There’s no generic ranking boost for SD usage. That’s the same as far as I remember. However, SD can make it easier to understand what the page is about, which can make it easier to show where it’s relevant (improves targeting, maybe ranking for the right terms). (not new, imo)
— 🍌 John 🍌 (@JohnMu) April 2, 2018
Tuttavia, è opportuno fare una precisazione: i dati strutturati non sono un fattore di ranking diretto. Questo significa che, indirettamente, possono comunque influenzare la classificazione di una pagina web. Come? Favorendo Google nel processo di identificazione dei contenuti più pertinenti per le query di ricerca. Non è una cosa scontata, e il motivo è presto detto.
Bill Slawski, nella presentazione al SMXL Milan 2019, ha spiegato come le entità hanno un peso nel determinare il ranking di un contenuto. Naturalmente non ci è dato sapere il grado del peso (i valori inseriti nella slide sono a scopo d’esempio), ma è certo che fanno parte dell’algoritmo. In più, è possibile che l’algoritmo di ricerca dia un punteggio alle associazioni tra le entità:
Più il motore di ricerca comprende il contesto di un contenuto, maggiori probabilità ci sono che il livello di pertinenza di una pagina cresca rispetto al contesto di ricerca. È un circolo virtuoso.
Schema.org: il vocabolario semantico
Ma passiamo a una domanda nevralgica: come si scrivono i dati strutturati? Per lo meno, in questo i principali motori di ricerca ci sono venuti incontro. Nel 2011 infatti Google, Bing, Yahoo e Yandex hanno unito i loro sforzi nella creazione di Schema.org, un vocabolario semantico comune a tutti, una “lingua franca” che definisce uno standard di markup condiviso per i dati strutturati. Schema.org prevede una struttura gerarchizzata di entità, categorizzate in tipi, a loro volta classificati per proprietà.
Può suonare complesso, ma in realtà è più semplice di quello che sembra. Per esempio, Person è un’entità e birthDate è una proprietà. Se dovessimo creare un markup di dati strutturati con questi due elementi, potremmo per esempio comunicare ai motori di ricerca che Carlos Sainz Jr., per restare in tema Formula 1, è nato il 1 settembre 1994. Appreso questo, il motore di ricerca saprebbe rispondere senza ambiguità a chi chiede su Google gli anni del pilota.
Si potrebbe andare ancora più in profondità, e inserire dati strutturati aggiuntivi, per creare nuove associazioni. Per esempio si potrebbe specificare che Carlos Sainz è il nuovo pilota della Ferrari. “Carlos Sainz” e “nuovo pilota Ferrari” sono due entità a sé stanti: grazie al vocabolario di schema.org, possiamo però metterli in relazione tramite il markup semantico. Così, se qualcuno cercasse chi è il nuovo pilota della Ferrari su Google, il risultato sarebbe il seguente:
Grazie al vocabolario di Schema.org possiamo costruire dati strutturati e impostare associazioni per una serie pressoché infinita di entità: ricette, articoli, eventi, attività locali, organizzazioni, recensioni, prodotti, libri, opere creative e tanto altro ancora. Chi fa SEO, dovrebbe tenere questo speciale vocabolario sempre sottomano.
JSON-LD: il formato preferito da Google per i dati strutturati
Il vocabolario di Schema.org prevede l’utilizzo di tre diversi linguaggi di implementazione:
- Microdati
- RDFa
- JSON-LD
I primi due tipi si integrano direttamente negli elementi HTML del contenuto. Si tratta di etichette, aggiunte nei tag HTML, che specificano le informazioni delle entità.
Qui parleremo però in maniera più approfondita del formato JSON-LD, che è un codice JavaScript (dunque inserito tra le annotazioni <script></script) isolato dagli elementi HTML, ed è il formato preferito da Google. Un esempio di markup semantico in formato JSON-LD è il seguente:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Caffè Seo",
"url": "https://www.caffeseo.it/",
"logo": "https://www.caffeseo.it/wp-content/uploads/2020/04/Caffè-Seo-Logo.png",
"sameAs": [
"https://twitter.com/CaffeSeo",
"https://www.facebook.com/caffeseo"
]
}
</script>
JSON-LD è un formato per i dati strutturati, dunque ha la scopo di mettere in relazione le diverse entità di un contenuto, utilizzando il vocabolario semantico di Schema.org. Il primo elemento del codice è il tag <script>, seguito immediatamente da un attributo che dichiara al browser il formato del codice:
<script type="application/ld+json">
{
Il secondo elemento imprescindibile del JSON-LD è la dichiarazione del vocabolario semantico utilizzato: in questo caso, Schema.org.
"@context": "https://schema.org",
Il terzo elemento è la dichiarazione del tipo di entità per cui si vuole fare la specificazione semantica. Questa va scelta tra quelle proposte da Schema.org:
"@type": "Person",
Tutto ciò che viene dopo dipende dal tipo di entità scelto: sono le informazioni aggiunte con l’uso delle proprietà del vocabolario, che dunque andrebbe consultato per poter completare il markup semantico.
"name": "Caffè Seo",
"url": "https://www.caffeseo.it/",
"logo": "https://www.caffeseo.it/wp-content/uploads/2020/04/Caffè-Seo-Logo.png",
"sameAs": [
"https://twitter.com/CaffeSeo",
"https://www.facebook.com/caffeseo"
]
}
</script>
Come aggiungere i dati strutturati in un sito
Niente panico: scrivere e aggiungere i dati strutturati in un sito è più semplice di quel che sembra. Non serve infatti essere necessariamente dei programmatori.
Utilizzando il markup in formato JSON-LD, è possibile inserire la porzione di codice nella sezione header della pagina, o anche nel body. Nel primo caso, si deve necessariamente accedere ai file del sito: o manualmente, o tramite un plugin. Nel secondo caso, è ancora più semplice: basta incollare il codice all’interno del contenuto della pagina, utilizzando l’editor HTML. Dunque, se per esempio utilizzate WordPress e avete l’editor a blocchi Gutenberg, basta aggiungere un blocco in HTML Personalizzato e incollarci il codice. E il gioco è fatto.
Per scrivere manualmente un codice in JSON-LD bisognerebbe invece possedere le basi del linguaggio. Per fortuna, ci sono degli strumenti di supporto che possono semplificarci la vita. Il primo tra questi è l’Assistente per il markup dei dati strutturati di Google, ma online si trovano anche diversi generatori di markup in JSON-LD che funzionano molto bene. Anche su Schema.org è possibile trovare tanti esempi di markup che possono essere “riciclati” in base ai nostri scopi. Per validare il codice ed evitare di inserirlo con errori di formattazione all’interno del nostro sito, si può usare invece lo Strumento di test per i dati strutturati di Google.
La reale difficoltà sta nell’individuare le entità da mettere in relazione e comunicare efficacemente le associazioni al motore di ricerca. Non basta, infatti, inserire un semplice codice nel sito. Lo scopo dei dati strutturati è comunicare le relazioni tra le entità e permettere di interpretare correttamente il contesto di un contenuto. Questo dovrebbe essere l’obiettivo di una buona SEO.
La bellezza della ricerca semantica
I motori di ricerca sono ormai diventati parte integrante della nostra vita. Ci relazioniamo ad essi come principale fonte di informazione della nostra quotidianità, o quando dobbiamo soddisfare un bisogno. Di conseguenza, pretendiamo sempre di più che rispondano alle nostre interrogazioni nella misura migliore possibile.
La rete si sta evolvendo sempre di più in un database di conoscenza. I motori di ricerca giocano un ruolo primario in questa partita. L’obiettivo dell’algoritmo è rispondere in maniera sempre più precisa agli intenti di ricerca degli utenti, e per farlo deve comprendere il significato dei suoi risultati.
La SERP non è più una semplice lista di link contenenti parole che combaciano con la query di ricerca. È molto di più. Il risultato è che la SEO tenderà sempre più verso la ricerca semantica. Il processo è già in corso, ed è in continuo divenire.