在微数据中使用元标记指定复杂结构
Specifying complex structure with meta tag in Microdata
如何标记未显示在微数据格式页面上的信息?
通常,我们不想在页面上显示 publisher/author 信息,但是 Google 文章需要此信息,而且文章结构复杂。
我不想将此数据隐藏起来 span/div 或其他任何东西,所以我想我会使用元标记。但是如何使用 metas 指定发布者实体的徽标和名称?我需要以某种方式使用 itemref 吗?
<section itemscope itemtype="http://schema.org/Article">
<meta itemprop="keywords" content="kw1, kw2" />
<meta itemprop="publisher" content="© My Company" /><!-- ??-->
我已经看过 ,但是否可以在不使用 JSON-LD 的情况下实现我想要的效果?如果不是,我可以同时使用 JSON-LD 和 meta/tag 描述吗?
我认为您有两个(在某些情况下是三个)使用微数据的选项。
meta
/link
+ div
最简单的解决方案是对具有非项目值的属性使用 meta
/link
元素,对具有项目值的属性使用 div
元素。
<section itemscope itemtype="http://schema.org/Article">
<meta itemprop="keywords" content="kw1, kw2" />
<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="My Company" />
</div>
</section>
meta
/link
元素默认隐藏,div
元素只包含 meta
/link
元素不显示任何东西。
meta
/link
+ itemref
如果您不想使用 div
元素,可以使用 meta
元素来表示一个项目。但是你必须
- 提供一个空的
content
属性(丑陋),并且
- 对每个要添加到此项目的 属性 使用
itemref
属性。
<meta itemscope itemprop="publisher" content="" itemtype="https://schema.org/Organization" id="pub" itemref="pub-name" />
<meta itemprop="name" content="My Company" id="pub-name" />
<section itemscope itemtype="http://schema.org/Article" itemref="pub">
<meta itemprop="keywords" content="kw1, kw2" />
</section>
请注意,这不适用于顶级项目,因为 meta
元素需要 itemprop
属性(不能为空)。
(meta
/link
+) itemid
在某些情况下,可能会引用项目的 URI(而不是嵌入它们),例如,如果您有另一个包含发布者数据的页面。
但是,请注意,Google是否支持此功能尚不清楚。
<section itemscope itemtype="http://schema.org/Article">
<meta itemprop="keywords" content="kw1, kw2" />
<link itemprop="publisher" href="/publisher#this" />
</section>
<!-- on the page /publisher -->
<section itemscope itemtype="http://schema.org/Organization" itemid="#this">
<h1 itemprop="name">My Company</h1>
</section>
如何标记未显示在微数据格式页面上的信息?
通常,我们不想在页面上显示 publisher/author 信息,但是 Google 文章需要此信息,而且文章结构复杂。
我不想将此数据隐藏起来 span/div 或其他任何东西,所以我想我会使用元标记。但是如何使用 metas 指定发布者实体的徽标和名称?我需要以某种方式使用 itemref 吗?
<section itemscope itemtype="http://schema.org/Article">
<meta itemprop="keywords" content="kw1, kw2" />
<meta itemprop="publisher" content="© My Company" /><!-- ??-->
我已经看过
我认为您有两个(在某些情况下是三个)使用微数据的选项。
meta
/link
+ div
最简单的解决方案是对具有非项目值的属性使用 meta
/link
元素,对具有项目值的属性使用 div
元素。
<section itemscope itemtype="http://schema.org/Article">
<meta itemprop="keywords" content="kw1, kw2" />
<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="My Company" />
</div>
</section>
meta
/link
元素默认隐藏,div
元素只包含 meta
/link
元素不显示任何东西。
meta
/link
+ itemref
如果您不想使用 div
元素,可以使用 meta
元素来表示一个项目。但是你必须
- 提供一个空的
content
属性(丑陋),并且 - 对每个要添加到此项目的 属性 使用
itemref
属性。
<meta itemscope itemprop="publisher" content="" itemtype="https://schema.org/Organization" id="pub" itemref="pub-name" />
<meta itemprop="name" content="My Company" id="pub-name" />
<section itemscope itemtype="http://schema.org/Article" itemref="pub">
<meta itemprop="keywords" content="kw1, kw2" />
</section>
请注意,这不适用于顶级项目,因为 meta
元素需要 itemprop
属性(不能为空)。
(meta
/link
+) itemid
在某些情况下,可能会引用项目的 URI(而不是嵌入它们),例如,如果您有另一个包含发布者数据的页面。
但是,请注意,Google是否支持此功能尚不清楚。
<section itemscope itemtype="http://schema.org/Article">
<meta itemprop="keywords" content="kw1, kw2" />
<link itemprop="publisher" href="/publisher#this" />
</section>
<!-- on the page /publisher -->
<section itemscope itemtype="http://schema.org/Organization" itemid="#this">
<h1 itemprop="name">My Company</h1>
</section>