结构化数据 > 微数据 > 模式 > 文章 > 作者 Itemscope > 属性 > Google 验证错误
Structured-Data > Microdata > Schema > Article > Author Itemscope > Properties > Google Validation Error
我正在本地开发自己的网站。这是我的第一个站点,所以我是亲戚 'noob'.
我已经开始使用 schema.org 词汇表以微数据格式标记我的网站。
我正在使用 Google 的结构化数据测试器来测试我的微数据标记。
我在网页上标记了一篇文章。
问题
对于成功连接到 article itemscope
的 person itemscope
,我收到所有 properties
的错误。这个人是如何 link 并不重要,无论是 author
还是 creator
还是其他。
例如,如果我 link 一个 person
到 article
使用 author
属性 然后尝试用name
属性, 报红色错误大致如下:
!
http://www.example.com/name: Name
其中 属性 名称是以 url/property 格式引用的,其中 'Name' 是我真正想要的 属性 值。
如果我随后单击错误消息,它会显示:
The property http://www.example.com/name is not recognised by Google
for an object of type Thing.
否则为:
- 显示其他文章属性正常;和
- 为文章创建一个人物类型 属性(例如作者、创作者等);和
- 为人物的属性(例如姓名)创建 name:value 对。
但是就是不识别人的属性。
标记示例
这是我如何标记它的示例:
<html>
...
<div itemprop="hasPart" itemscope="itemscope" itemtype="https://schema.org/Article">
<h1 itemprop="headline name">
Awesome Things
</h1>
<div itemprop="articleBody">
Blah blah blah ... FLUFFY KITTENS ... blah blah blah ... DONUTS ... blah blah blah ... COFFEE!!! ...
AUTHOR:
<span itemprop="author" itemscope="itemscope" itemptype="https://schema.org/Person">
<span itemprop="name">
Joe Blogs-a-Lot
</span>
</span>
</div>
...
</div>
</html>
尝试过
我已经尝试使用 person 作为预期类型的替代属性进行测试(author
和 creator
)。同样的结果。
我也尝试过将 person itemscope 包装在属性周围,并使用 itemref
和 ID
来定位值。这可行,但缺点是将这些值添加到与文章共有的属性中。因此,例如,文章获得了 Joe Blogs-a-Lot
的附加 name
值 - 这是不正确的。
调查
我看了看,但找不到具体的答案 - 这让我很吃惊。
我确实注意到有关于测试工具问题的报告。例如,我注意到 , the mighty @unor。如果你看到这个,Unor,感谢你为这里的这么多人提供的所有帮助。你摇滚。
实际问题
我是不是在做一些愚蠢的事情(与过去的经验相比,这是一个明显的可能性),或者这是测试人员的问题?
您的标记示例包含拼写错误:
itemptype="https://schema.org/Person"
应该是
itemtype="https://schema.org/Person"
不幸的是,Google 结构化数据测试工具不会报告此类错误。 (而且他们不应该将 属性 name
解释为 URL http://www.example.com/name
,因为没有类型的项目可能有 proprietary item property name,这不会成为 URL.)
附带说明:您 might want to 在 Schema.org URL 中使用 http
而不是 https
。
我正在本地开发自己的网站。这是我的第一个站点,所以我是亲戚 'noob'.
我已经开始使用 schema.org 词汇表以微数据格式标记我的网站。
我正在使用 Google 的结构化数据测试器来测试我的微数据标记。
我在网页上标记了一篇文章。
问题
对于成功连接到 article itemscope
的 person itemscope
,我收到所有 properties
的错误。这个人是如何 link 并不重要,无论是 author
还是 creator
还是其他。
例如,如果我 link 一个 person
到 article
使用 author
属性 然后尝试用name
属性, 报红色错误大致如下:
! http://www.example.com/name: Name
其中 属性 名称是以 url/property 格式引用的,其中 'Name' 是我真正想要的 属性 值。
如果我随后单击错误消息,它会显示:
The property http://www.example.com/name is not recognised by Google for an object of type Thing.
否则为:
- 显示其他文章属性正常;和
- 为文章创建一个人物类型 属性(例如作者、创作者等);和
- 为人物的属性(例如姓名)创建 name:value 对。
但是就是不识别人的属性。
标记示例
这是我如何标记它的示例:
<html>
...
<div itemprop="hasPart" itemscope="itemscope" itemtype="https://schema.org/Article">
<h1 itemprop="headline name">
Awesome Things
</h1>
<div itemprop="articleBody">
Blah blah blah ... FLUFFY KITTENS ... blah blah blah ... DONUTS ... blah blah blah ... COFFEE!!! ...
AUTHOR:
<span itemprop="author" itemscope="itemscope" itemptype="https://schema.org/Person">
<span itemprop="name">
Joe Blogs-a-Lot
</span>
</span>
</div>
...
</div>
</html>
尝试过
我已经尝试使用 person 作为预期类型的替代属性进行测试(author
和 creator
)。同样的结果。
我也尝试过将 person itemscope 包装在属性周围,并使用 itemref
和 ID
来定位值。这可行,但缺点是将这些值添加到与文章共有的属性中。因此,例如,文章获得了 Joe Blogs-a-Lot
的附加 name
值 - 这是不正确的。
调查
我看了看,但找不到具体的答案 - 这让我很吃惊。
我确实注意到有关于测试工具问题的报告。例如,我注意到
实际问题
我是不是在做一些愚蠢的事情(与过去的经验相比,这是一个明显的可能性),或者这是测试人员的问题?
您的标记示例包含拼写错误:
itemptype="https://schema.org/Person"
应该是
itemtype="https://schema.org/Person"
不幸的是,Google 结构化数据测试工具不会报告此类错误。 (而且他们不应该将 属性 name
解释为 URL http://www.example.com/name
,因为没有类型的项目可能有 proprietary item property name,这不会成为 URL.)
附带说明:您 might want to 在 Schema.org URL 中使用 http
而不是 https
。