我已经在互联网和stackoverflow上搜索了很长时间来回答这个问题,我发现链接表明你不应该把meta标签放在正文中:
而schema.org网站清楚地显示了元标记直接嵌套在正文http://schema.org/AggregateRating
中看看那里发布的例子
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>
如果您要将元标记保留在<head>
中,那么您如何将这两个日期与其评论相关联?
<meta itemprop="datePublished" content="2011-04-01">
<meta itemprop="datePublished" content="2011-03-25">
这引起了混乱,我想知道如何正确地做到这一点。
答案 0 :(得分:73)
如果是meta
元素
itemprop
属性和content
属性,以及name
属性,没有http-equiv
属性,没有charset
属性,然后在meta
中使用此body
是有效的。 (如果值是网址,则为must use link
instead。)
为什么呢?因为the Microdata specification changes HTML5。
(在某些情况下请注意RDFa also changes HTML5 by allowing meta
in the body
。)
如果您要将
meta
标记保留在<head>
中,那么您如何将这两个日期与其评论相关联?
<!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
采用以空格分隔的id
值列表,因此您甚至可以引用两个或更多元素。只需将应添加到项目中的所有元素(包含id
属性)的itemprop
添加到其itemref
属性中,例如:itemref="date author rating"
。
答案 1 :(得分:8)
我可以从whatwg.org上读到它在身体中使用的正确性:http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-meta-element
我在blogg的主体中使用meta标签来指定&#34; datePublished&#34;和&#34; dateUpdated&#34;属性。谷歌Rich Snippets Testing Tool告诉我它是正确的,w3c验证了代码。
答案 2 :(得分:8)
还要记住,可以完全避免HTML标记并使用完全包含在<head>
anywhere in the HTML document (even dynamically injected!)中的JSON-LD标记,如下所示:
<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>
查看schema.org中的示例,它们通常包含JSON示例标记,例如https://schema.org/Restaurant。
这是关于它的另一篇好文章http://www.seoskeptic.com/json-ld-google-knowledge-graph-schema-org-seo/
答案 3 :(得分:4)
您可以使用:
<meta itemprop="">
在页面正文中进行schema.org语义标记即机器可读(例如机器人,对于搜索引擎优化),即使您不想显示实际文本(例如,产品名称)页面。
请参阅:http://schema.org/docs/gs.html#advanced_missing
有时,网页上的信息对标记很有价值 up,但由于它的方式,信息无法标记 出现在页面上。信息可以在图像中传达(for 例如,用于表示5分中4分的图像或Flash 对象(例如,视频剪辑的持续时间),或者可能是 隐含但未在页面上明确说明(例如, 价格的货币)。
答案 4 :(得分:3)
我是这样做的:
<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">
答案 5 :(得分:3)
首次使用schema.org的微数据时,我在网页的head标签中添加了元标记,但是当我针对Google's Rich Snippets Testing Tool运行该页面时,未提取数据。然后我将元标记移动到页面主体中,数据显示为已提取。