用CSS隐藏微数据是否可以?

lad*_*dar 21 html html5 microdata

假设我有一些带有大量文本的html文档.是否"好"(〜不坏:))包含微数据的元素并隐藏这些元素,以便用户实际上看不到它们?

假设我有这个:

<div style="display:none" itemscope...>some microdata describing div below</div>
<div> There is actual text that is described by microdata</div>
Run Code Online (Sandbox Code Playgroud)

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

Row*_*use 33

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

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

如果您试图影响搜索引擎优化,那么从用户"隐藏"您的语义标记数据,但保持机器可读(对于机器人/蜘蛛)并不会完全失败.

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

  • 来自schema.org:"应该谨慎使用这种技术." 来自Google:"一般情况下,Google不会在人类用户看不到的丰富网页摘要中显示任何内容." (6认同)

rob*_*rtc 7

用Microdata标记的内容隐藏了它的内容,它旨在添加有关页面上已经显示的内容的其他信息.对此的主要论点是人们总是记得更新可见内容,但经常忘记更新他们看不到的内容,因此隐藏的"元"内容经常过时且不准确.微数据代替了描述可见内容的方法,因此如果内容改变了它产生的数据,则会发生变化.从规范中获取此示例:

<h1 itemprop="fn">
  <span itemprop="n" itemscope>
    <span itemprop="given-name">Jack</span>
    <span itemprop="family-name">Bauer</span>
  </span>
</h1>
Run Code Online (Sandbox Code Playgroud)

如果更改可见内容,则微数据标记实际上不会发生任何变化:

<h1 itemprop="fn">
  <span itemprop="n" itemscope>
    <span itemprop="given-name">Tim</span>
    <span itemprop="family-name">Berners-Lee</span>
  </span>
</h1>
Run Code Online (Sandbox Code Playgroud)

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

  • 我有同样的问题; 我有4页.我必须将痕迹信息添加到页面,但我不希望这些面包屑在网页上可见.但是谷歌丰富的片段显示提取的数据. (3认同)

van*_*ome 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>
Run Code Online (Sandbox Code Playgroud)

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


小智 6

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

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

<meta itemprop="priceCurrency" content="USD" />
Run Code Online (Sandbox Code Playgroud)

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