Neue erforderliche mainEntityOfPage für Artikelstrukturdaten


12

Ich habe mir die von Google vorgeschlagenen strukturierten Daten des Artikels angesehen und festgestellt, dass es neue erforderliche und empfohlene Felder gibt, die letzte Woche nicht vorhanden waren. Hier ist der Link:

https://developers.google.com/structured-data/rich-snippets/articles

Die erste Eigenschaft auf der Liste ist:

  • mainEntityOfPage. @ id (empfohlen)

Ich verstehe nicht, was der Wert der Immobilie sein muss? Was ist das für eine Eigenschaft? Ist es ein Link zu:

..oder ein Link zum aktuellen Blogpost wie:

Sie haben dies in ihrem Beispielcode:

<meta itemscope itemprop="mainEntityOfPage"  itemType="https://schema.org/WebPage" itemid="https://google.com/article" />

Das, was ich derzeit habe, entspricht noch nicht den Regeln des Testtools. Ich bin immer noch damit beschäftigt, alle erforderlichen Eigenschaften hinzuzufügen und gleichzeitig zu versuchen, die empfohlenen Eigenschaften auch dort hinzuzufügen:

<div itemscope itemtype="http://schema.org/BlogPosting">
   <h1 itemprop="headline">
      <a href="http:///www.example.com/blog/1001/my-blog-article" itemprop="url">My Blog Article</a>
   </h1>
   <p>Written by
      <span itemprop="author" itemscope itemtype="http://schema.org/Person">
         <span itemprop="name">Mase Kind</span>
      </span> on
      <time itemprop="datePublished" datetime="2015-11-16T15:30:00+02:00">November 16, 2015</time>
      <meta itemprop="dateModified" content="2015-12-10T12:29:00+02:00" />
      <div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
         <div itemprop="logo" itemscope itemtype="http://schema.org/ImageObject"></div>
         <meta itemprop="name" content="My Company Name" />
      </div>
   </p>
   <div itemprop="articleBody">
      <p>first article body</p>
   </div>
</div>

Ich habe dies auch in meinem Dokument:

<body itemscope itemtype="http://schema.org/WebPage">
...
</body>

Widerspricht dies in irgendeiner Weise dem von Google bereitgestellten Codebeispiel?


Habe heute Morgen das Gleiche auf meiner Seite gesehen und bin auf diesem Thread gelandet.
dasickle

Antworten:


14

Die mainEntityOfPageEigenschaft wird verwendet , um die URL einer Seite zu geben , an dem die Sache die wichtigste Person ist. Wenn Sie sich die inverse Eigenschaft ansehen, wird dies möglicherweise deutlicher mainEntity: Sie gibt die Hauptentität für eine Seite an ( siehe Beispiel ).

Für eine Webseite, die einen einzelnen Blogeintrag enthält, können Sie beispielsweise Folgendes angeben:

  • BlogPostingmainEntityOfPageWebPage
  • WebPagemainEntityBlogPosting

Diese Eigenschaften sind nützlich, um den Hauptinhalt einer Seite darzustellen (da Seiten mehrere Elemente enthalten können, z. B. ItemListzusammengehörige WebPageElemente, eine PersonBeschreibung des Autors, WebSiteeinige Metadaten usw.).

( Eine ausführlichere Erklärung finden Sie in meiner Antwort zum Stapelüberlauf .)


Es gibt zwei Möglichkeiten, wie man es benutzt mainEntityOfPage:

  • Geben Sie die URL der Seite an
  • Seitenelement einbetten / referenzieren (normalerweise a WebPage)

Der zweite macht oft wenig Sinn (Sie würden lieber die inverse Eigenschaft verwenden mainEntity), und wahrscheinlich empfiehlt / erwartet Google aus diesem Grund den ersten.

Zum Bereitstellen der URL können Sie einfach ein linkElement verwenden:

<article itemscope itemtype="http://schema.org/BlogPosting">
  <link itemprop="mainEntityOfPage" href="http://example.com/article-1" />
</article>

Das Structured Data Testing Tool von Google akzeptiert dies.

Im Artikel-Rich-Snippet-Beispiel verwendet Google stattdessen ein metaElement mit itemid:

<meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article"/>

Dies sind ungültige HTML5 + -Mikrodaten: Wenn das metaElement ein itempropAttribut hat, muss es auch ein contentAttribut haben .


was ist, wenn wir auch Inhalte mit URL in Meta bereitstellen, z. B. <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://google.com/article" content='https://google.com/article' /> Es wird überprüft, ob Fehler im
Testtool

@StarWars: Ja, auf diese Weise können Sie dieses metaElement gültig machen. Beachten Sie, dass der contentWert ignoriert wird, sodass Sie einen leeren Wert angeben können.
oder

Okay, ich habe jetzt content = "" zum Meta-Tag hinzugefügt.
StarWars

Warum verwendet Google metastatt linkin seinen Beispielen? Beide werden im Testtool für strukturierte Daten validiert. Die Vorschau ist jedoch anders. Wenn linkes verwendet wird, hat es mainEntityOfPage http://example.com/article-1während im Fall von metaShows @idund @typeAttributen.
StarWars

@StarWars: Ja, das ist genau der Unterschied: Die metaArt und Weise, wie ein neues Element mit einem Typ und einem URI als Bezeichner erstellt wird, ist die Art und linkWeise , wie nur auf eine Seite verwiesen wird . Ich habe keine Ahnung, warum die Dokumentation von Google verwendet wird meta, zumal ich der Meinung bin, dass der linkWeg einfacher ist.
oder

2

Was ist das für eine Eigenschaft?

Es ist eine Ergänzung zu den Eigenschaften urlund sameAs, wie im mainEntityHintergrund beschrieben .

Es hat einen eigenwilligen Namen, da er auf alle Elemente des Typs angewendet werden kann Thing. Wenn es nur darauf Articleszutrifft, könnte es aufgerufen werden mainTopic/ mainTopicOfArticleund klarer sein.

Ich verstehe nicht, was der Wert der Immobilie sein muss?

Es wird erwartet, dass der Wert der Eigenschaft ein Element vom Typ CreativeWorkoder ein URLVerweis ist, der gemäß Schema.org funktioniert . Das heißt, es könnte sich auch um ein Articleoder BlogPostingwie von Ihnen erwähnt handeln. Wenn Sie AMP-Seiten erstellen, sollte der Wert jedoch eine URL sein.

Widerspricht dies in irgendeiner Weise dem von Google bereitgestellten Codebeispiel?

Ungeachtet dessen, was laut Google Structured Data Testing Tool in der Dokumentation nicht mehr empfohlen wird, die mainEntityOfPagefür Nicht-AMP-Seiten zu verwenden, können Sie sie weglassen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.