2017-02-21 2 views
1

Ich verwende Schema.org und RDFa, um eine HTML-Seite zu markieren. Ich habe ein Bild wie folgt:Schema.org RDFa: Markierung als <img> als ImageObject?

<div class="image_container"> 
    <a href="big_whatever.jpg"> 
     <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever"> 
    </a> 
</div> 

Was die richtige Art und Weise ist dies bis zu markieren, so dass: 1. big_whatever.jpg (der link href) wird die contentURL 2. Die alt-Eigenschaft wird die Beschreibung 3. Die Titeleigenschaft wird der Name 4. Idealerweise möchte ich auch die ALT-Eigenschaft, die Beschriftung sein.

Jetzt ist das mit JSON-LD einfach, aber ich bevorzuge RDFa für diesen speziellen Fall. Dies ist, was ich bisher habe:

<div class="image_container" vocab="http://schema.org/" typeof="ImageObject"> 
    <a href="big_whatever.jpg"> 
     <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever"> 
    </a> 
</div> 

Antwort

1

Es ist nicht möglich, die Werte von alt oder title Attribute in RDFa zu verwenden.

Sie könnten sie duplizieren mit "versteckten" meta Elemente:

<div vocab="http://schema.org/" typeof="ImageObject"> 
    <a property="contentUrl" href="big_whatever.jpg"> 
    <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever" /> 
    </a> 
    <meta property="description caption" content="A picture of Whatever" /> 
    <meta property="name" content="Whatever" /> 
</div> 

Wenn Sie keinen property auf dem img Element benötigen (zB für thumbnailUrl), könnten Sie property + content verwenden zu retten meta Element:

<div vocab="http://schema.org/" typeof="ImageObject"> 
    <a property="contentUrl" href="big_whatever.jpg"> 
    <img src="whatever.jpg" alt="A picture of Whatever" title="Whatever" property="name" content="Whatever" /> 
    </a> 
    <meta property="description caption" content="A picture of Whatever" /> 
</div> 

Dank der content Attribut wird RDFa nicht verwenden, um die src Wert . Aber ich denke, es ist klarer, mit dem ersten Ausschnitt zu gehen.

+0

Vielen Dank für die Antwort. Ich entschied mich dafür, die "Meta" -Elementlösung nicht zu verwenden, da Suchmaschinen das Platzieren wichtiger Inhalte in versteckten Elementen verhindern. Ich entschied mich letztendlich für JSON-LD, da dies eine bessere Kontrolle über die Metadaten ermöglicht. – Bintz

+0

@Bintz: Okay, aber es ist wirklich nicht nötig, diesen Weg zu gehen. Da * alles * mit JSON-LD ausgeblendet ist und Suchmaschinen damit umgehen können, sollte es kein Problem mit der Verwendung von (!) Funktionen von RDFa geben. Einige offizielle Beispiele (von Schema.org sowie Google etc.) verwenden Schema.org mit versteckten 'meta' /' link' Elementen. Die Idee ist nicht, dies als "Spam" zu verwenden, aber es gibt viele gültige Fälle, in denen Sie (und sogar Fälle, in denen Sie müssen) 'meta' /' link' in RDFa verwenden. Da der Inhalt in Ihrem Fall tatsächlich im Markup vorhanden ist, ist die Verwendung ausgeblendeter Elemente völlig in Ordnung. – unor

+0

Ja, verstanden, und vielen Dank für diese Punkte in diesem Thread. Der entscheidende Faktor bei der Wahl von JSON-LD ist, dass ich es eigentlich bevorzuge. Ich finde es sauberer, logischer und einfacher zu debuggen. Ich dachte, dass RDFa in der speziellen Situation, in der ich arbeitete, einfacher zu verwenden wäre, aber letztendlich entpuppte sich die Menge zusätzlicher Arbeit als gleichwertig, daher entschied ich mich für die JSON-LD, mit der ich vorher gearbeitet hatte. – Bintz

Verwandte Themen