Verbesserungen des Diskussionsforum-Schemas

Lassen Sie mich Pseudocode für die aktuelle Prüfung schreiben, die in der Search Console angezeigt wird. Ich denke, das wird auf diesen Threads sehr hilfreich sein. Ich könnte Ihnen ShEx oder SHACL senden, aber diese sind viel weniger gut lesbar.

    if not (IsDeletedContent() OR IsExternalContent())
       then if not ("text" OR "articleBody" OR "sharedContent" OR "image" or "video")
         then report(OneOfThreeRequired("text", "image", "video"))
    if not ("author")
       then Report(Required("author"))
    if not("datePublished")
       then Report(Required("datePublished")

Die Idee ist, dass, wenn das DiscussionForumPosting/OP seinen Inhalt auf der aktuellen Seite hat, ein Inhaltsfeld irgendeiner Art vorhanden sein sollte.

Wenn das DiscussionForumPosting auf Inhalte auf einer anderen Seite verweist (wie auf der Originalseite von mehrseitigen Inhalten), kann es einfach einen Stub haben, der alles hält (wie den OP-Thementitel) und dann auf die URL der ersten Seite verweist. Das ist die IsExternalContent()-Prüfung, die nur prüft, ob url != page URL.

Das zweite Beispiel in unseren Dokumenten sollte diesen Fall genau modellieren (die 14. Seite verweist auf einen Stub-Beitrag von der ersten Seite).

author und date sind in unseren Validierungsregeln derzeit unabhängig voneinander erforderlich. Das dient hauptsächlich dazu, einen zusätzlichen Schritt zur Ermittlung dieser Daten zu vermeiden. Sie könnten zumindest sehen, wie nützlich es sein könnte, das Datum des OP zu kennen, um zu verstehen, wie veraltet der Kommentar ist. Können Sie einfach Meta-Elemente mit diesen Daten einfügen? Ich habe mir wegen des Aufblähens der Seite mit redundanten Daten keine so großen Sorgen um diese Felder gemacht.

7 „Gefällt mir“