我正在尝试将架构设置为我的HTML页面。验证程序(https://developers.google.com/structured-data/testing-tool)在此页面失败:
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div itemscope itemtype="http://schema.org/SportsEvent">
<h1 itemprop="name">Event name</h1>
<p itemprop="description">Some text description ...</p>
<time itemprop="startDate" datetime="2016-03-16T16:00:00+01:00">16.3.</time> - <time itemprop="endDate" datetime="2016-03-20T16:00:00+01:00">20.3.2016</time>
<span itemprop="location">29-31 Craven Rd,London W2 3BX</span>
</div>
</body>
</html>
正如您所看到的,它告诉我位置地址不能为空。
我也试过使用utils:http://schema-creator.org/event.php 但即使我填写所有输入结果都相同:&#34;错误位置无效。&#34;
<div itemscope itemtype="http://schema.org/SportsEvent">
<a itemprop="url" href="https://www.myevent.com">
<div itemprop="name"><strong>Me super event</strong>
</div>
</a>
<div itemprop="description">super event
</div>
<div>
<meta itemprop="startDate" content="2016-03-06T12:00">Starts: 03/06/2016 12:00PM
</div>
<meta itemprop="endDate" content="2016-03-12:00.000">Ends: 2016-03-12:00.000
</div>
<div itemprop="location" itemscope itemtype="http://schema.org/PostalAddress">
<div itemprop="streetAddress">29-31 Craven Rd,London W2 3BX
</div>
<div>
<span itemprop="addressLocality">London
</span>,
<span itemprop="addressRegion">United kingdom
</span>
</div>
</div>
有人可以解释一下如何指定位置吗?
编辑: 作为@unor tald me,该位置必须是PostalAddress的实例,所以我修改了它:
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div itemscope itemtype="http://schema.org/SportsEvent">
<h1 itemprop="name">Event name</h1>
<p itemprop="description">Some text description ...</p>
<time itemprop="startDate" datetime="2016-03-16T16:00:00+01:00">16.3.</time> - <time itemprop="endDate" datetime="2016-03-20T16:00:00+01:00">20.3.2016</time>
<span itemprop="location" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">29-31 Craven Rd</span>
<span itemprop="address">29-31 Craven Rd,London W2 3BX</span>
<span itemprop="name">Test</span>
</span>
</div>
</body>
</html>
但它仍然无效,它看起来那么在PostalAddress中的地址必须是Place,但是就地必须有PostalAddress: - (
答案 0 :(得分:3)
根据Schema.org,您的标记是正确的:location
property可能包含文字。
当Google的SDTT报告错误时,并不一定意味着您的标记错误。通常它是just means that you won’t get one of Google’s search result features页面。
在您的情况下,错误与Google的Event Rich Snippet有关。要显示此代码段,Google requires location
属性的值为Place
或PostalAddress
项,但不包含文字(尽管Google也说&#34;文本字符串是允许的[...]&#34;,但他们的测试工具似乎不喜欢它。)
您的第二个代码段会执行此操作,但它不会将div
与location
属性div
嵌套在SportsEvent
中,因此该位置未关联与事件。
关于您的第三个代码段:测试工具中似乎是一个错误,它需要address
的{{1}}属性(Schema.org没有定义一个)。如果你关心&#34;错误&#34;测试工具报告,如果您使用PostalAddress
作为Place
的值,并且location
具有address
项作为值,则它应该有效。如果您提供PostalAddress
并使用Place
属性中的文字:
address