Ich füge semantische Markups von schema.org hinzu und möchte einige davon in ganz unterschiedlichen Teilen der Webseite miteinander verknüpfen.
Dies funktioniert, wenn ich sie als Eltern / Kind spezifiziere:
<div itemscope itemtype="http://schema.org/ExerciseAction">
<span itemprop="distance">11 km</span>
<div itemprop="event" itemscope itemtype="http://schema.org/Event">
<span itemprop="name">first event</span>
<span itemprop="startDate">2001-01-01</span>
</div>
</div>
Ich weiß jedoch nicht, wie ich sie verknüpfen soll, wenn sie durch einen Berg von HTML getrennt sind:
<div itemscope itemtype="http://schema.org/Event">
<span itemprop="name">some event</span>
<span itemprop="startDate">2002-02-02</span>
</div>
<!--
....
zillion other HTML stuff
...
-->
<div itemscope itemtype="http://schema.org/ExerciseAction">
<span itemprop="distance">22 km</span>
</div>
Ich denke, ich sollte "itemref" oder etwas anderes verwenden, um verwandte Bereiche zu verknüpfen, aber ich kann es nicht zum Laufen bringen. Das Betrachten ähnlicher Fragen hat in diesem Fall nicht geholfen.
UPDATE: Beachten Sie, dass ich speziell nach einer Lösung suche, die über eine Art Referenzierung funktioniert und NICHT über Verschachtelungen jeglicher Art funktioniert. Außerdem muss die Reihenfolge des zweiten (nicht funktionierenden) Beispiels gleich bleiben (Ereignis zuerst, ExerciseAction zweitens). (Es gibt mehrere Gründe dafür, die außerhalb meiner Kontrolle liegen).
Insbesondere wird "es funktioniert" als mindestens Google Rich Snippets-Tool definiert , das anzeigt , dass die Elemente miteinander verknüpft sind (wie in diesem ersten Arbeitsbeispiel).
WebPage
Markup zerlegen und auchitemref
dort verwenden, damit es die (nicht verwandten) Elementtypen nicht als untergeordnete Elemente enthält. Sollte wohl eine andere Frage sein.Wenn ich Ihre Frage richtig verstehe, schließen Sie diese Div einfach nicht.
Solange das passende Tag nicht gefunden wird, wird alles, was sich in diesem anfänglichen Div befindet, immer noch als Teil dieses anfänglichen Div betrachtet, in diesem Fall als Ereignis.
quelle
@ Guisasso ist richtig, Sie schließen das Element einfach nicht. Aber in einem anderen Punkt sind Sie nicht darauf beschränkt, das Schema nur innerhalb der DIV-Elemente zu verwenden und die Bereiche zu verwenden, wie es vorschlägt (bloße Beispiele). Wenn es auf der gesamten Seite um ereignisbezogene Dinge geht und dies auf der gesamten Website geschieht, ist es möglicherweise sinnvoller, das Body-Element zu verwenden. Dies bedeutet, dass Ihre Vorlage, wenn Sie eine haben, sich automatisch mit dem Öffnen und Schließen des Schemas befasst. Auf diese Weise füllen Ihre Artikel nur diesen Inhalt, während die Vorlage ihn festlegt.
Zum Beispiel:
Oder Sie können es im Element
MAIN
oderARTICLE
verwenden, wenn Sie HTML5 verwenden.quelle
Ich habe auch die Eigenschaft AdditionalType ausgeführt , die wie folgt verwendet werden kann
Während dies bei meinem Hauptproblem hilft (nicht in der Lage zu sein, die Beziehung zwischen ExerciseAction und Ereignis zwischen Kind und Eltern neu zu ordnen), hilft es nicht bei anderen Problemen (nicht in der Lage zu sein, diese Divs zu verschachteln), und es ist irgendwie klobig (erzeugt nicht das gleiche Semantik wie das ursprüngliche Arbeitsbeispiel). Es ist jedoch nützlich, da es das Verknüpfen von schema.org-Elementtypen ermöglicht, für die keine Elemente zum Verknüpfen vorgesehen sind, sodass Sie beispielsweise mit SportsEvent oder was auch immer verknüpfen können.
Ich antworte mir hier nur für den Fall, dass es jemand anderem mit ähnlichen Problemen hilft, da es mir nicht wirklich hilft (obwohl es vielleicht das letzte Mittel ist, wenn nichts Besseres auftaucht).
quelle