Fehler in den Schema.org-Daten für DiscussionForumPosting?

Mir ist ein Fehler in den Schema.org-Daten für DiscussionForumPosting aufgefallen.

Wenn ich ein zufälliges Discourse-Forum-Thema durch den Validator laufen lasse, zeigt er das Feld @id mit URLs an, die nicht existieren.

Hier ist ein Beispiel mit einem nachgestellten Pfad von /post_2 (es ist ein 404-Fehler):

Ich denke, dass diese @id-Felder funktionierende URLs sein sollen, denn W3.org sagt:

Um Knoten in einem Graphen extern referenzieren zu können, ist es wichtig, dass Knoten eine Kennung haben. IRIs sind ein grundlegendes Konzept von Linked Data. Damit Knoten wirklich verknüpft sind, sollte das Dereferenzieren der Kennung eine Darstellung dieses Knotens ergeben. Dies kann es einer Anwendung ermöglichen, weitere Informationen über einen Knoten abzurufen.

1 „Gefällt mir“

Ich frage mich, ob dies ein Problem damit ist, wie der Validator die ID anzeigt. Soweit ich das beurteilen kann, wird die ID aus dem Markup übernommen und nicht von uns selbst definiert, zum Beispiel:

<div id='post_1' itemscope itemtype='http://schema.org/DiscussionForumPosting' class='topic-body crawler-post'>

id='post_1 ist die @id

Wenn Sie diesen ID-Bereich im Validator anklicken, wird der Beitrag mit der passenden ID korrekt hervorgehoben … es scheint also, dass der Validator ihn richtig identifizieren kann.

Ich bemerke dieses Verhalten auch auf anderen Websites mit @id-Werten, zum Beispiel in den Schema-Daten dieser stackoverflow.com-Frage:

Screenshot 2023-03-28 17.59.12.png

Dies hat das gleiche Problem, https://stackoverflow.com/questions/7227202/answer-38775925 ist keine gültige URL, es leidet unter dem gleichen Fehler, dass es ein # statt eines / sein sollte https://stackoverflow.com/questions/7227202#answer-38775925.

Gibt es Anzeichen dafür, dass dies irgendwo ein Problem mit der praktischen Verwendung dieser Daten verursacht?

1 „Gefällt mir“

Das ist interessant. Ich hätte nicht gedacht, dass ich den HTML-Quellcode überprüfen würde und ging einfach davon aus, dass es sich um JSON-LD handelt.

Google verwendet Schemadaten, aber ich bin mir nicht sicher, ob sie diese spezielle verwenden. Die schema.org-Dokumente sind nicht sehr klar geschrieben.

Es sieht so aus, als ob Discourse mehrere DiscussionForumPostings für jedes Thema einfügt, aber das Beispiel in den Dokumenten sieht so aus, als ob DiscussionForumPosting sich möglicherweise nur auf das Hauptthema und nicht auf die Kommentare bezieht? Die Dokumente listen ein comment-Feld mit einem Comment (Singular) auf, obwohl die Beschreibung in Pluralform formuliert ist.

image

Ich habe gerade nachgesehen, wie Invison es macht, und es verwendet JSON-LD und fügt Comment-Objekte in ein comment-Feld ein. Es sieht so aus, als wäre das viel zusätzlicher Text, der an den Browser gesendet werden muss.

Ich weiß nicht, was die Antwort ist, aber ich werde versuchen, später mehr darüber zu recherchieren.

1 „Gefällt mir“

Ist das relevant?

3 „Gefällt mir“

Ich treibe mich zufällig in diesem Forum herum, was praktisch ist. Ich besitze den Google-Code, der das parst.

Der verlinkte Thread ist eine gute Antwort auf den Nebenthema. Den Rest werde ich hier behandeln.

Es ist im Grunde nicht standardmäßig, HTML-ID-Attribute als Knoten-IDs zu interpretieren. Dies geschah ganz am Anfang des Google-Microdata-Parsings, wahrscheinlich aus unklaren Gründen. Sie sollten itemid verwenden, wenn Sie dies explizit tun möchten. Ich hoffe, diesen Hack eines Tages entfernen zu können, aber es ist schwierig, so etwas ohne Verluste herauszuziehen.

Zweitens müssen IRIs nicht auflösbar sein. Das ist ein Vorschlag von W3C, aber viele IRIs sind es nicht und Google verlangt es definitiv nicht.

Dies ist nur dann ein Problem, wenn Knoten in den strukturierten Daten unbeabsichtigt zusammengeführt werden, z. B. wenn Sie an anderer Stelle im HTML denselben Wert für itemid verwenden. Ansonsten ist es nur eine Merkwürdigkeit, die ignoriert werden kann.

Oh, und bitte wechseln Sie nicht zu JSON-LD. Ehrlich gesagt, das ist für textlastiges Markup wie Foren vorzuziehen. Es ist albern, die textlichen Inhalte duplizieren zu müssen. Es ist einfach einfacher zu erstellen, weshalb wir dafür werben.

9 „Gefällt mir“

Danke fürs Mitlesen, @rrlevering! Es scheint sicher zu sein, dieses Problem zu schließen, und wir werden das Thema/Post-Schema in Different schema type for Topics and Posts aktualisieren.

5 „Gefällt mir“

Dieses Thema wurde nach 2 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.