Html 用CSS隐藏微数据可以吗?

Html 用CSS隐藏微数据可以吗?,html,microdata,Html,Microdata,假设我有一些包含大量文本的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文档。拥有包含微数据的元素并隐藏这些元素以便用户不会真正看到它们,这是否“好”(~不错:)

假设我有这个:

<div style="display:none" itemscope...>some microdata describing div below</div>
<div> There is actual text that is described by microdata</div>
下面描述div的一些微数据
微观数据描述了实际的文本

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

您打算对隐藏的数据做些什么吗?我会使用HTML注释或title属性

HTML注释:

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

内容
标题属性:

<div title="some information describing div">Content of div</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>
67%接受率

如果你把鼠标悬停在上面,它会说“这个用户已经接受了6个合格问题中的4个问题的答案”。

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


杰克
鲍尔
如果更改可见内容,则Microdata标记实际上不会更改:

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

提姆
伯纳斯李

所以微数据几乎肯定不是你想在你的情况下使用的。您真正应该使用什么,这完全取决于您想要这些信息的目的。如果您想添加隐藏数据以便在站点上使用脚本进行处理,请改用。如果您想添加并非所有用户都需要查看的附加描述性信息,请考虑使用。特别是,在您的案例中,.

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

如果您试图影响SEO,那么对用户“隐藏”语义标记数据,但保持其机器可读性(对于机器人/蜘蛛而言)并不会完全违背目的


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

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

越多越好,隐藏文本除外。一般来说,越是 你的分数越高越好。然而,一般来说,你 应该只标记对访问>网页的人可见的内容,而不标记隐藏div或其他隐藏页面中的内容 元素

您也可以在正文中使用
链接
html标记来标记用户不可见的内容:

您希望使用meta标记隐藏微数据

比如说,

<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]

如果我们谈论的是谷歌惩罚,你必须仔细阅读你正在处理的富代码片段类型的文档

举个例子,如果我使用产品丰富的代码段,则在文档()之后仅使用指定的字段: 谷歌识别出以下产品的特定机器可读值:隐藏时,谷歌不会忽略以下产品标签:

  • 类别
  • 普华利登蒂尔酒店
  • 价格货币
  • 价格
  • 标识符
  • 状况

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

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

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

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


谢谢,不幸的是,我需要微数据,因为它们将用于其他目的,微数据(或RDFa等)提供了比标题或评论更好的方式来添加语义信息。你知道谷歌是否尊重这一点吗?在我开发的一个网站中,内容持有者是一个日历,它的设计就像一个日历(希望在谷歌中有丰富的事件片段),因此,事件包含在各自的日期/日期内,因此,这对用户来说是隐含的,不能使用是没有意义的。。。或者谷歌的范围很窄,你只能以一种方式显示事件……我这样问是因为在富格式页面上,他们明确表示不应对用户隐藏这些丰富的片段内容……@BrenoSalgado Google完全支持Schema.org:)from Schema.org:“应该谨慎使用这种技术。”from Google:“一般来说,谷歌不会在富代码片段中显示任何人类用户看不到的内容。”我正在这样做,谷歌正在使用数据。我有一个显示“1分钟”的值,然后是一个提供iso格式的
meta
标记,即“PT1M”“谷歌在其结果中显示了这一点。我有同样的问题;我有4页。我必须向页面添加面包屑信息,但我不希望这些面包屑在网页上可见。他们的文档说“一般规则”——而不是永远——他们发出的信号是,不要试图在搜索引擎优化策略中使用隐藏内容作为关键词,否则你会陷入惩罚的境地。你仍然可以出于自己的目的使用隐藏内容,当你想打破“一般规则”时,不要在关键字密度排名尝试中这样做。
<meta itemprop="VALUE" content="CONTENT" />

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