tl; dr , i tre modi in cui annotare semanticamente i contenuti nei documenti HTML5 :
- Microdati e RDFa sono sintassi (estensione dell'HTML) per il markup semantico del contenuto, ma non forniscono vocabolari.
- I microformati sono una convenzione (riutilizzando ciò che HTML fornisce) per contrassegnare semanticamente il contenuto e (esclusivamente!) Fornisce vocabolari a tale scopo.
Schema.org è una raccolta di vocabolari (che possono essere utilizzati con varie sintassi, inclusi microdati e RDFa, ma non i microformati), quindi questa domanda dovrebbe essere: microdati vs. microformati? E perché non invitare RDFa alla festa?
RDFa e Microdata non sono uguali, ma simili in termini concettuali . I microformati differiscono tuttavia fortemente da entrambi.
Se il tuo unico obiettivo sarebbe migliorare la visualizzazione dei risultati di ricerca dai motori di ricerca, non importa quale markup scegli (purché sia supportato dal motore di ricerca). Ma il "markup semantico", ovviamente, permette molto di più: costruire il Web semantico . Non senza ragione i microformati si riferiscono al termine "web semantico minuscolo", mentre RDFa si riferisce al "web semantico maiuscolo" (i microdati sono una sintassi più recente, ma si adatterebbero alla variante maiuscola).
La differenza principale: estensibilità . RDFa e Microdata utilizzano URI, Microformats utilizza nomi di classe specifici (per l' class
attributo HTML ) e tipi di collegamento (per l' rel
attributo HTML ). Questo significa:
Con i microformati è possibile eseguire il markup di determinati contenuti solo se la comunità dei microformati ha creato e accettato un "vocabolario" appropriato (ovvero un microformato).
Con RDFa e Microdata puoi creare il tuo vocabolario se non ne esiste già uno appropriato (e ci sono molti vocabolari ).
Google dice che non posso usare entrambi "perché potrebbe confondere il parser".
Non vorrei che ciò mi impedisse di implementare diversi modi di markup. Inoltre, Google ha revocato questa dichiarazione in una chat.
Aggiornamento: sulla documentazione dei dati strutturati di Google , non dice da nessuna parte che non sono in grado di gestire sintassi diverse sullo stesso documento. E il loro strumento di test non segnala errori se vengono utilizzate diverse sintassi.
Vedi anche le domande correlate su Stack Overflow: