webentwicklung-frage-antwort-db.com.de

Breadcrumb mit Schema.org-Rich-Snippets

Ich habe Probleme bei der Implementierung der Breadcrumb-reichen Snippets von schema.org. Wenn ich mein Breadcrumb mithilfe von Dokumentation erstelle und mit Testtool für Google Rich Snippet ausführe, wird das Breadcrumb identifiziert, aber nicht in der Vorschau angezeigt.

<!DOCTYPE html>
<html>
  <head>
    <title>My Test Page</title>
  </head>
  <body itemscope itemtype="http://schema.org/WebPage">     
      <strong>You are here: </strong>
      <div itemprop="breadcrumb">
        <a title="Home" href="/">Home</a> >
        <a title="Test Pages" href="/Test-Pages/">Test Pages</a> >
      </div>
  </body>
</html>

Wenn ich die Verwendung der Snippets von data-vocabulary.org ändere, werden die Rich-Snippets in der Vorschau korrekt angezeigt.

<!DOCTYPE html>
<html>
  <head>
    <title>My Test Page</title>
  </head>
  <body>
      <strong>You are here: </strong>
      <ol itemprop="breadcrumb">
        <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
          <a href="/" itemprop="url">
            <span itemprop="title">Home</span>
          </a>
        </li>
        <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
          <a href="/Test-Pages/" itemprop="url">
            <span itemprop="title">Test Pages</span>
          </a>
        </li>
      </ol>
  </body>
</html>

Ich möchte, dass der Breadcrumb im Suchergebnis angezeigt wird und nicht die URL zur Seite.

Da Schema.org der empfohlene Weg ist, um Rich Snippets zu verwenden, würde ich dies eher verwenden. Da jedoch der Breadcrumb mit dieser Methode nicht in der Vorschau des Suchergebnisses angezeigt wird, bin ich nicht davon überzeugt, dass dies korrekt funktioniert.

Mache ich im Markup für Schema.org-Beispiel etwas falsch?

9
Adam Jenkin

Mit dieser Implementierung:

<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
      <a href="http://www.example.com/dresses" itemprop="url">
    <span itemprop="title">Dresses</span>
  </a> &gt;
</div>  
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
  <a href="http://www.example.com/dresses/real" itemprop="url">
    <span itemprop="title">Real Dresses</span>
  </a> &gt;
</div>  
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
  <a href="http://www.example.com/clothes/dresses/real/green" itemprop="url">
    <span itemprop="title">Real Green Dresses</span>
  </a>
</div>

In Google haben Sie den folgenden Breadcrumb:

Dresses > Real Dresses > Real Green Dresses
3
Ranaivo

Ich habe in letzter Zeit einige Nachforschungen angestellt.

Wie sich herausstellt, funktioniert das, was Google für Paniermehl empfiehlt, nicht. Als ich vor ein paar Wochen nachgeschaut habe, ist das eigene Beispiel im Rich Snippet Tool von Google fehlgeschlagen. Es sieht so aus, als ob Google etwas hinter den anderen zurückbleibt, diesen aber immer noch voraus ist.

Data-vocabulary.org ist der akzeptierte und de-facto-Standard, obwohl Schema.org es durch Data-vocabulary.org als abgeschrieben ersetzen soll. Die Realität entspricht jedoch nicht der Rhetorik. Die Absicht war, dass Schema.org Data-vocabulary.org ersetzen würde und es kann sein, dass dies passieren wird. Trotzdem habe ich irgendwo ein Snippet (Wortspiel beabsichtigt) gefunden, das besagt, dass Google seinen Code noch nicht geändert hat, um Schema.org zu erkennen.

Allerdings ist dies das Beispiel, das ich in Google und Bing gefunden habe, obwohl Bing die Dinge in letzter Zeit ein wenig geändert hat. Seien Sie also vorsichtig, wenn Bing für Sie wichtig ist.

<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="http://www.example.com/"><span itemprop="title">Home</span></a> &gt; </span>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="http://www.example.com/marvel/"><span itemprop="title">Marvel Comics</span></a> &gt; </span>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="http://www.example.com/fantastic-four/"><span itemprop="title">Fantastic Four</span></a> &gt; </span>
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" href="http://www.example.com/fantastic-four/58/"><span itemprop="title">Fantastic Four #48: The Coming of Galactus</span></a></span>

Hoffe das hilft.

1
closetnoc

Es scheint mir, dass das Problem bei der schema.org-Dokumentation selbst liegt. Hier einige Links zum Thema Bildung:

Ich habe sie als am hilfreichsten eingestuft, im Grunde genommen sind sie alle irgendwann miteinander verbunden. Die Maßnahme hierzu ist Ende dieses Monats fällig, aber es sieht so aus, als ob das Ergebnis mit dem in Ihrem zweiten Beispiel übereinstimmen wird.

Schade, denn der HTML-Code wird komplizierter, als er wirklich sein muss, aber wir sind da.

Ich hoffe, das hilft!

1
Stuart Burrows

(Abgesehen von der Unterstützung der Verbraucher.)

Das Vokabular Schema.org bietet zwei Möglichkeiten, Breadcrumbs für ein WebPage (und seine Untertypen) bereitzustellen:

Die Verwendung von Text ist einfach, aber unstrukturiert (für Verbraucher schwieriger zu analysieren).
Die Verwendung von BreadcrumbList ist komplexer, ermöglicht jedoch die explizite Angabe aller benötigten Elemente (für Verbraucher einfacher zu analysieren).

In Ihrem Beispiel könnte BreadcrumbList so aussehen:

<body itemscope itemtype="http://schema.org/WebPage">     
  <strong>You are here: </strong>
  <div itemprop="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">

    <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
      <meta itemprop="position" content="1" />
      <a itemprop="item" href="/">
        <span itemprop="name">Home</span>
      </a>
    </span> 

    &gt;

    <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
      <meta itemprop="position" content="2" />
      <a itemprop="item" href="/Test-Pages/">
        <span itemprop="name">Test Pages</span>
      </a>
    </span>

  </div>
</body>

(Möglicherweise müssen Sie Elemente verschieben, wenn Leerzeichen ein Problem darstellen.)

1
unor