2012-10-12 8 views
9

Molti blog utilizzano il concetto di "tag" e "categorie" per aggiungere metadati a un post. Qual è la migliore pratica per il markup semantico per queste informazioni, in modo che una macchina che legge il post del blog possa facilmente identificare i tag?Markup semantico HTML5 per tag e categorie di post del blog

Attualmente aggiungo "tag" all'attributo rel sul collegamento, ad es.

<a rel="tag" class="tag" href="/tags.html#site-configuration">#site-configuration</a> 

Suppongo si possa usare il formato html del Dublin Core per parola chiave:

<meta name = "DC.Subject" 
      content = "site-configuration"> 

e aggiungere questo per l'intestazione della pagina, o può andare meta tag nel corpo? L'uno o l'altro è preferibile o un'opzione completamente diversa?

Esiste una strategia migliore in termini di definizione precisa e standardizzata dei contenuti?

HTML5 è una scelta ragionevole se voglio essere così esigente riguardo ai metadati o dovrei utilizzare un doctype XML?

Quali sono i pro e i contro dei diversi approcci?

+0

'' potrebbe essere preferibile, poiché non penso che il DC.Subject sia valido html5. Non sei sicuro di quali sarebbero gli attributi giusti per "categorie", (cioè non esiste attributo 'rel =" categoria "' nello standard html5 (?)) – cboettig

+0

XHTML5 sarà vantaggioso quando usi grddl o xslt come spesso accade con contenuti semanticamente ricchi. –

risposta

13

Il primo passo sarebbe quello di ottenere/utilizzare l'HTML semplice semanticamente giusto. In caso di (X) HTML5, è necessario creare una struttura appropriata utilizzando gli elementi di contenuto della sezione section, article, aside e nav e utilizzare header e footer per separare il contenuto dei metadati dal contenuto principale; pensa anche a semantica a livello di linea come time (data di pubblicazione), dfn (definizioni), abbr (abbreviazioni/acronimi) ecc. E utilizzare i valori meta - name e rel definiti nelle specifiche.

Il secondo passo sarebbe quella di fare uso di metadati valori degli attributi che non sono definite nella specifica, ma sono registrati in luoghi specifici (quindi sono valide per l'uso), come name keywords for meta elements e rel values for a/area/link elements.

Il terzo passo sarebbe quello di migliorare il markup con annotazioni semantiche, leggibili dalla macchina. Ci sono three common ways to do this:

  • Microformats (utilizzando predefiniti class e rel valori)
  • RDFa (utilizzando gli attributi e URI)
  • Microdata (utilizzando gli attributi e URI)

RDFa e microdati sono simili (sia estensibili che piuttosto complessi), mentre i Microformati sono più semplici (ma non così espressivi/estensibili). Ho scritto un short answer sui programmatori sulle differenze e una risposta più dettagliata sullo differences between Microdata and RDFa.

Nel caso di RDFa o Microdata, il tuo compito principale sarebbe trovare vocabolari/ontologie in grado di descrivere/classificare i tuoi contenuti.Tali vocabolari possono essere creati da tutti (potresti persino crearne uno tu stesso), ma è spesso consigliabile utilizzare noti/popolari, ad esempio affinché i motori di ricerca possano utilizzare le tue annotazioni (esempio popolare: Schema.org).

Nel caso di Microformati, dovresti trovare un Microformato (sul wiki at microformats.org) che si adatta alle tue esigenze. Se non ce n'è per il tuo caso, potresti proporre un nuovo Microformat (ma ci vorrebbe un po 'di tempo prima che venga "accettato", se non del tutto).


HTML5 è una scelta ragionevole se voglio essere così pignoli su metadati, o dovrei usare un doctype XML?

È anche possibile utilizzare XHTML5, se è necessario/desidera il supporto XML. Se "solo" usi l'HTML (X) definito nelle specifiche e nessun schema/vocabolario XML aggiuntivi, non importa da una prospettiva semantica se usi HTML (5) o XHTML (5).

+0

Ottima risposta, grazie. Sembra che usare un attributo "class" standard su un tag html (come un link) sia un esempio di "microformato". È vero anche usare l'attributo "rel"? Il wiki che colleghi definisce ['rel =" tag "'] (http://microformats.org/wiki/rel-tag) e ['rel =" category "'] (http://microformats.org/wiki/ rel-category) anche come "microformati". I tag HTML5 come

e
considerano i microformati? Sembra che abbiano un significato molto più fortemente tipizzato di qualcosa di simile a '

, anche se non esiste uno spazio dei nomi esplicito – cboettig

+0

In particolare, c'è qualche vantaggio tra la definizione di una parola chiave usando lo standard HTML5' 'vs Dublin Core' 'vs quale sia il modo RDFa di dire che sarebbe? – cboettig

+0

@cboettig: Sì, alcuni microformati usano anche valori rel '(li ho aggiunto alla mia risposta). Nota che è chiamato solo "microformato", se è specificato nel wiki di microformats.org. Quindi tutti i valori 'class' /' rel' definiti in altri posti non sono microformati. Si noti inoltre che il valore 'rel'" 'tag'" è definito in HTML5 * e * anche nei microformati - e le definizioni differiscono leggermente. Gli elementi HTML (come 'footer') non possono mai essere microformati. i microformati definiscono un modo per "classificare" il contenuto degli elementi HTML con l'aiuto di questi valori predefiniti per gli attributi 'class' /' rel'. È solo una convenzione. – unor

Problemi correlati