gpt4 book ai didi

html - 事件中无效的 Schema.org 位置属性

转载 作者:可可西里 更新时间:2023-11-01 13:03:40 26 4
gpt4 key购买 nike

我正在尝试为我的 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>

如您所见,它告诉我位置地址不能为空。

我还尝试使用实用程序:http://schema-creator.org/event.php但即使我填写了所有输入,结果也是一样的:“错误无效位置。”

<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 告诉我的,location 必须是 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,但是 Place 中必须有 PostalAddress :-(

最佳答案

根据 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 属性具有 PlacePostalAddress 项作为值,但没有Text(尽管 Google 还表示“允许使用文本字符串 [...]”,但他们的测试工具似乎不喜欢它。

您的第二个代码片段执行此操作,但它没有将 divdiv 中的 location 属性嵌套在一起,用于 SportsEvent,因此位置与事件无关。

关于你的第三个片段:它似乎是测试工具中的一个错误,它需要 PostalAddressaddress 属性(Schema.org 没有定义) .如果您关心测试工具报告的“错误”,如果您使用 Place 作为 location 的值,它应该可以工作,并且 address有一个 PostalAddress 项作为值。如果您提供 Place 并在 address 属性中使用 Text,它也有效:

<div itemprop="location" itemscope itemtype="http://schema.org/Place">
<span itemprop="name">Test</span>
<span itemprop="address">29-31 Craven Rd, London W2 3BX</span>
</div>

关于html - 事件中无效的 Schema.org 位置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35826923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com