假设我有一些带有大量文本的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编辑器,这种方式似乎更容易实现,个人更容易使用(首先创建实际内容,然后对其进行注释)。
答案 0 :(得分:33)
schema.org有一个“隐藏”微数据的实际方法:
http://schema.org/docs/gs.html#advanced_missing
如果您试图影响搜索引擎优化,那么从用户“隐藏”您的语义标记数据,但保持机器可读性(对于机器人/蜘蛛)并不会破坏目的。
如果您的schema.org标记格式正确,那么如果您“隐藏”这些值,Google就不会惩罚您的索引排名。
答案 1 :(得分:7)
隐藏使用Microdata标记的内容有点失败,它旨在添加有关页面上已经显示的内容的其他信息。对此的主要论点是人们总是记得更新可见内容,但经常忘记更新他们看不到的内容,因此隐藏的“元”内容经常过时且不准确。相反,Microdata采用描述可见内容 的方法,因此如果内容更改了它产生的数据,则会发生变化。举个例子from the spec:
<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>
所以Microdata几乎肯定不是你想要在你的情况下使用的。你真正应该使用的取决于你想要这些信息的确切内容。如果您要添加隐藏数据以便在网站上使用脚本进行处理,请使用data-*
attributes。如果您要添加并非所有用户都需要查看的其他描述性信息,请考虑使用ARIA。特别是在您的情况下,aria-describedby
。
答案 2 :(得分:7)
schema.org,因此谷歌在[1]中正式陈述,你不应该标记隐藏的内容:
除隐藏文字外,更多更好。一般来说,越多 你标记的内容越多越好。但是,作为一般规则,你 应仅标记访问&gt;的人可见的内容网页,而不是隐藏的div或其他隐藏页面中的内容 元件。
您也可以使用正文中的link
和meta
html标记来标记用户不可见的内容:
您希望使用元标记隐藏微数据。
例如,
<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>
答案 3 :(得分:5)
您可以使用元标记,如下所示:
<meta itemprop="VALUE" content="CONTENT" />
<meta itemprop="priceCurrency" content="USD" />
答案 4 :(得分: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个答案”。
答案 5 :(得分:0)
如果我们在谈论Google的处罚,您必须仔细阅读您正在处理的丰富网页摘要类型的文档。
例如,如果我采用产品丰富的代码段,请按照文档(https://support.google.com/webmasters/answer/146750?hl=en#offer_properties)仅指定字段: Google会在隐藏时忽略以下产品标记的特定机器可读值,Google不会忽略这些值:
因此,这些字段的最佳方法是在元标记中使用它们。