wake-up-neo.com

Fügen Sie Meta-Tags von Schema Microdata in den HTML-Text ein?

Ich habe lange im Internet und im Stackoverflow nach einer Antwort auf diese Frage gesucht und Links gefunden, die besagen, dass Sie keine Meta-Tags in den Text einfügen sollten:

auf der Website schema.org werden die Meta-Tags deutlich angezeigt, die direkt im Textkörper verschachtelt sind http://schema.org/AggregateRating

Schauen Sie sich einfach das dort gepostete Beispiel an

 Customer reviews:

  <div itemprop="reviews" itemscope itemtype="http://schema.org/Review">
    <span itemprop="name">Not a happy camper</span> -
    by <span itemprop="author">Ellie</span>,
    <meta itemprop="datePublished" content="2011-04-01">April 1, 2011
    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
      <meta itemprop="worstRating" content = "1">
      <span itemprop="ratingValue">1</span>/
      <span itemprop="bestRating">5</span>stars
    </div>
    <span itemprop="description">The lamp burned out and now I have to replace
    it. </span>
  </div>


 <div itemprop="reviews" itemscope itemtype="http://schema.org/Review">
    <span itemprop="name">Value purchase</span> -
    by <span itemprop="author">Lucas</span>,
    <meta itemprop="datePublished" content="2011-03-25">March 25, 2011
    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
      <meta itemprop="worstRating" content = "1"/>
      <span itemprop="ratingValue">4</span>/
      <span itemprop="bestRating">5</span>stars
    </div>
    <span itemprop="description">Great microwave for the price. It is small and
    fits in my apartment.</span>
  </div>

Wenn Sie die Meta-Tags im <head>, wie würden Sie dann diese beiden Daten mit ihren Bewertungen in Beziehung setzen? <meta itemprop="datePublished" content="2011-04-01"><meta itemprop="datePublished" content="2011-03-25">

Dies führt zu Verwirrung und ich würde gerne wissen, wie man es richtig macht.

61
Timo Huovinen

Wenn ein meta -Element

  • hat ein itemprop Attribut und ein content Attribut, und
  • hat kein name Attribut, kein http-equiv Attribut und kein charset Attribut,

dann ist es gültig, dieses meta im body zu haben. (Wenn der Wert eine URL ist, müssen Sie stattdessen link verwenden .)

Warum? Weil die Mikrodaten-Spezifikation ändert HTML5 .

(Beachten Sie, dass RDFa auch HTML5 ändert, indem es in einigen Fällen meta in body zulässt .)


Wenn Sie die meta Tags im <head> Behalten würden, wie würden Sie dann diese beiden Daten mit ihren Bewertungen in Beziehung setzen?

Du könntest benutze das itemref Attribut :

<!DOCTYPE html>
<html>
<head>
  <title>Using itemref for meta in the head</title>
  <meta itemprop="datePublished" content="2011-03-25" id="date">
</head>
<body>

  <div itemscope itemtype="http://schema.org/Review" itemref="date">
    <span itemprop="name">…</span>
  </div>

</body>
</html>

itemref verwendet eine durch Leerzeichen getrennte Liste von id Werten, sodass Sie sogar auf zwei oder mehr Elemente verweisen können. Fügen Sie einfach das id aller Elemente (mit itemprop Attributen), die dem Artikel hinzugefügt werden sollen, zu seinem itemref Attribut hinzu, z. B .: itemref="date author rating".

76
unor

Denken Sie auch daran, dass es möglich ist, HTML-Markups vollständig zu vermeiden und JSON-LD-Markups zu verwenden vollständig in <head> enthalten an einer beliebigen Stelle im HTML-Dokument (sogar dynamisch eingefügt!) wie folgt:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Restaurant",
  "name": "Fondue for Fun and Fantasy",
  "description": "Fantastic and fun for all your cheesy occasions",
  "openingHours": "Mo,Tu,We,Th,Fr,Sa,Su 11:30-23:00",
  "telephone": "+155501003333",
  "menu": "http://example.com/menu"
}
</script>

schauen Sie sich die Beispiele in schema.org an, sie enthalten normalerweise JSON-Beispiel-Markups wie dieses https://schema.org/Restaurant .

Hier ist ein weiterer guter Artikel darüber http://www.seoskeptic.com/json-ld-google-knowledge-graph-schema-org-seo/

9
Gruber

Was ich auf whatwg.org lesen kann, ist im body richtig: http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-meta-element

Ich verwende Meta-Tags im Hauptteil meines Bloggs, um die Eigenschaften "datePublished" und "dateUpdated" anzugeben. Googles Rich Snippets Testing Tool sagt mir, dass es korrekt ist und w3c validiert den Code.

8
superhero

Sie können verwenden:

<meta itemprop="">

im Hauptteil der Seite, um schema.org semantisches Markup zu erstellen, das maschinenlesbar ist (z. B. von Robotern für SEO), auch wenn Sie den tatsächlichen Text (z. B. den Produktnamen) nicht auf der Seite anzeigen möchten.

siehe: http://schema.org/docs/gs.html#advanced_missing

Manchmal enthält eine Webseite Informationen, die zum Markieren nützlich sind, aber die Informationen können aufgrund der Art und Weise, wie sie auf der Seite angezeigt werden, nicht markiert werden. Die Informationen können in einem Bild (z. B. einem Bild, das eine Bewertung von 4 von 5 darstellt) oder einem Flash-Objekt (z. B. der Dauer eines Videoclips) übermittelt werden, oder sie können impliziert, aber nicht explizit angegeben werden auf der Seite (zum Beispiel die Währung eines Preises).

5
Rowe Morehouse

Ich mache es so:

<meta id="md_course" itemprop="course" name="course"   content="..."/>
<meta id="md_lang" itemprop="language" content="eng"/>
<title id="md_title" itemprop="title" >Motivation and Course Overview</title>
</head>
<body itemscope itemtype=".../Presentation" itemref="md_course md_lang md_title md_field"> 
4
ladar

Bei der ersten Arbeit mit den Mikrodaten von schema.org habe ich die Meta-Tags in das Head-Tag meiner Webseite eingefügt, aber als ich diese Seite mit Googles Rich Snippets Testing Tool abgeglichen habe, wurden die Daten nicht extrahiert. Ich habe dann die Meta-Tags in den Hauptteil der Seite verschoben und die Daten wurden als extrahiert angezeigt.

3
HBCondo