I microformati sono un tipo di markup (linguaggio di marcatura) utilizzato per annotare in maniera semantica dati presenti all’interno delle pagine web, tala marcatura avviene in modo che i dati possano essere letti e compresi da software esterni alla pagina come, ad esempio, i motori di ricerca. I microformati sono quindi metadati utilizzati per identificare e descrivere specifici tipi di informazioni, come ad esempio eventi, recensioni, contatti, prodotti, ricette e così via.
Il microformato “hCalendar”, per esempio, può annotare informazioni relative ad un evento:
<div class="vevent">
<h2 class="summary">Concerto di Jazz in Piazza</h2>
<p class="description">Verrà eseguito il concerto della famosa band di jazz "Jazzisti del Pianeta". Non perdere l'opportunità di ascoltare la loro musica dal vivo!</p>
<p class="location">Piazza del Popolo, Roma</p>
<p class="dtstart">2023-06-15T19:00:00+02:00</p>
<p class="dtend">2023-06-15T22:00:00+02:00</p>
</div>
Originariamente l’utilizzo dei microformati è stato introdotto come alternativa ai formati di markup più complessi, come XML e RDF, che richiedono conoscenze tecniche più avanzate per essere utilizzati correttamente, l’approccio proposto è stato più semplice, basato su una sintassi facile da comprendere. Ad oggi sono ancora utilizzati ma il loro utilizzo è diminuito rispetto agli anni passati in quanto l’aumento dell’uso di formati di markup più avanzati come JSON-LD e RDFa hanno offerto maggiori funzionalità rispetto ai microformati tradizionali.
RDFa (Resource Description Framework in Attributes)
Basandosi su RDF (Resource Description Framework), RDFa (Resource Description Framework in Attributes) è un formato di markup che permette la marcatura dei dati e consente di definire le proprie ontologie (e di estendere quelle esistenti) offrendo una grande flessibilità nell’annotazione semantica utilizzando attributi, come ad esempio l’attributo “property”. Gli attributi consentono di definire il tipo di informazione che viene fornita dal contenuto della pagina, come il nome di una persona, un indirizzo, un’immagine, una data…
<div prefix="schema: http://schema.org/" typeof="schema:Person">
<span property="schema:name">Mario Rossi</span>
è nato il
<span property="schema:birthDate" content="1970-01-01">1 gennaio 1970</span>.
</div>
L’attributo “prefix” è un attributo importante che viene utilizzato per definire i prefissi delle ontologie utilizzate; questo attributo indica il prefisso che verrà utilizzato per definire le proprietà e le classi RDFa che saranno utilizzate nella pagina web. RDFa è compatibile con una vasta gamma di piattaforme e tecnologie web, tra cui HTML, XHTML, XML e JSON-LD e ciò significa che può essere utilizzato in molti contesti diversi, a seconda delle esigenze dell’utente.
Utilizzando sempre l’ontologia di schema.org è possibile rendere leggibile ed estrapolabile il contenuto semantico di una pagina web da parte dei crawler, nel seguente esempio le informazioni relative ad un libro:
<!DOCTYPE html>
<html>
<head>
<title>Arte e Tecnologia - Salvatore Paone</title>
</head>
<body>
<h1>Arte e Tecnologia</h1>
<p>Scritto da Salvatore Paone</p>
<p>Pubblicato da Ledizioni nel 2014</p>
<div vocab="http://schema.org/" typeof="Book">
<h2 property="name">Arte e Tecnologia</h2>
<div property="author" typeof="Person">
<span property="name">Salvatore Paone</span>
</div>
<div property="publisher" typeof="Organization">
<span property="name">Ledizioni</span>
</div>
<div property="datePublished" content="2014">2014</div>
</div>
</body>
</html>
Strutturare i contenuti consente una maggiore trovabilità e riconoscibilità delle informazioni di valore non solo per i motori di ricerca ma anche per i social network: quando si condivide un link su Facebook, il sito web viene analizzato in modo automatico per cercare informazioni strutturate, come ad esempio l’immagine di copertina, il titolo, la descrizione e altre informazioni pertinenti. Se queste informazioni sono presenti nell’annotazione semantica del sito web (ad esempio, utilizzando i microformati o RDFa), Facebook le può utilizzare per popolare automaticamente i campi del post con informazioni pertinenti.