21

假设我有一些包含大量文本的 html 文档。拥有包含微数据的元素并隐藏这些元素以使用户实际上看不到它们是“好”(〜不错:))吗?

假设我有这个:

<div style="display:none" itemscope...>some microdata describing div below</div>
<div> There is actual text that is described by microdata</div>

关键是这样可能更容易描述第二个 div。您不必对整个文本进行更改,只需添加一些元素并隐藏它们。我想创建一个简单的 HTML 编辑器来支持创建微数据,这种方式似乎更容易实现并且个人更容易使用(首先创建实际内容,然后对其进行注释)。

4

6 回答 6

33

schema.org 有一个“隐藏”微数据的实际方法:

http://schema.org/docs/gs.html#advanced_missing

如果您试图影响 SEO,那么向用户“隐藏”您的语义标记数据但保持机器可读(对于机器人/蜘蛛)根本不会破坏目的。

如果您的 schema.org 标记格式正确,如果您“隐藏”这些值,谷歌不会惩罚您的索引排名。

于 2012-08-25T03:12:46.157 回答
7

隐藏用微数据标记的内容有点违背了它的意义,它旨在添加有关页面上已经可见的内容的附加信息。对此的主要论据是人们总是记得更新可见内容,但经常忘记更新他们看不到的内容,因此隐藏的“元”内容经常过时且不准确。相反,微数据采用描述可见内容什么的方法,因此如果内容发生变化,数据就会发生变化。以规范中的这个例子为例:

<h1 itemprop="fn">
  <span itemprop="n" itemscope>
    <span itemprop="given-name">Jack</span>
    <span itemprop="family-name">Bauer</span>
  </span>
</h1>

如果您更改可见内容,则任何微数据标记实际上都不会更改:

<h1 itemprop="fn">
  <span itemprop="n" itemscope>
    <span itemprop="given-name">Tim</span>
    <span itemprop="family-name">Berners-Lee</span>
  </span>
</h1>

因此,几乎可以肯定,微数据不是您想要在您的情况下使用的。您真正应该使用什么取决于您想要此信息的确切用途。如果您想添加隐藏数据以在您的站点上使用脚本进行处理,那么请改用data-*属性。如果您想添加并非所有用户都需要查看的其他描述性信息,请考虑使用ARIA。特别是,在你的情况下,aria-describedby.

于 2012-01-18T14:20:36.100 回答
7

schema.org 和谷歌在 [1] 中正式声明,你不应该标记隐藏的内容:

越多越好,除了隐藏文本。一般来说,
您标记的内容越多越好。但是,作为一般规则,您应该只标记访问 > 网页的人可见的内容,而不是隐藏 div 或其他隐藏页面元素中的内容。

您也可以在正文中使用linkmetahtml 标签来标记用户应该不可见的内容:

您想使用元标记隐藏微数据。

例如,

<div itemscope itemtype="http://schema.org/Product">
    <span itemprop="name">Funky Skirt</span>
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <meta itemprop="price" content="100.00" />
        <link itemprop="availability" href="http://schema.org/InStock" />In stock
    </div>
</div>

[1] http://schema.org/docs/gs.html

于 2014-02-13T10:29:20.077 回答
6

您可以使用元标记,如下所示:

<meta itemprop="VALUE" content="CONTENT" />

<meta itemprop="priceCurrency" content="USD" />

https://schema.org/docs/gs.html#advanced_missing

于 2015-12-21T20:30:48.550 回答
1

你打算对隐藏的数据做任何事情吗?我会使用 HTML 注释或 title 属性。

HTML 评论:

<!-- This is an HTML Comment -->
<div>Content</div>

标题属性:

<div title="some information describing div">Content of div</div>

当然,HTML 注释就像编程语言中的注释一样,只是它们会传递给客户端。标准的 title 元素属性(适用于所有 html 元素)包含有关元素的额外信息,并且在将鼠标悬停在元素上时用作工具提示。

例如,您接受率的 HTML 是:

<div class="accept-rate cool" title="this user has accepted an answer for 4 of 6 eligible questions">67% accept rate</div>

如果您将鼠标悬停在它上面,它会显示“此用户已接受 6 个合格问题中的 4 个的答案”。

于 2012-01-18T00:30:29.307 回答
0

如果我们谈论的是 Google 惩罚,您必须仔细阅读您正在处理的丰富网页摘要类型的文档。

例如,如果我采用产品丰富网页摘要,则按照文档 ( https://support.google.com/webmasters/answer/146750?hl=en#offer_properties ) 仅指定字段:Google 识别特定的机器可读值以下产品标签在隐藏时不会被 Google 忽略:

  • 类别
  • 价格有效期至
  • 价格货币
  • 价格
  • 标识符
  • (健康)状况

因此,这些字段的最佳方式是在元标记中使用它们。

于 2014-09-11T15:58:20.900 回答