我想实施Schema.org LocalBusiness
。
该网站已存在且无法更改布局。
LocalBusiness
的所有信息需求不在页面的一个位置。
有人建议为模式HTML隐藏一些元素,但据我所知,这不是一个好主意。
另一个建议是将所有架构代码放在一个位置并隐藏它,然后再次在页面上显示所需的内容。 隐藏所有架构时的代码示例:
<div itemscope="" itemtype="http://schema.org/LocalBusiness">
<span itemprop="name" style="display:none">Seattle, WA</span>
<img itemprop="image" src="/img/myimage.jpg" alt="Seattle, WA" style="display:none">
<span itemprop="description" style="display:none">some description text</span>
<div itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress" style="display:none">
<span itemprop="streetAddress">my street adderss</span>
<span itemprop="addressLocality">Blabla</span>, <span itemprop="addressRegion">WA</span>
</div>
<span itemprop="telephone" style="display:none"><a href="tel:123456789"> (123) 456-6789</a></span>
<div itemprop="geo" itemscope="" itemtype="http://schema.org/GeoCoordinates" style="display:none">
<meta itemprop="latitude" content="47.421356">
<meta itemprop="longitude" content="-111.235178">
</div>
</div>
我能想到的不是隐藏内容而不是改变页面布局的唯一方法是分解LocalBusiness
代码,但不确定这是否允许或可能,如果是这样的话?
OR
用
包装几乎整个页面是否可以<div itemscope="" itemtype="http://schema.org/LocalBusiness">
并在整个页面中使用其他需要的代码?
答案 0 :(得分:1)
是的,您可以将整个内容包装在div
这样的内容中。您也可以使用body
或html
元素。
<body itemscope itemtype="http://schema.org/LocalBusiness">
<!-- all "itemprop" in here will belong to this "LocalBusiness",
unless they are nested under another "itemscope" -->
</body>
itemref
另一种选择是使用itemref
属性。它允许您从页面上的任何位置向项目添加属性。
<div id="a">
<span itemprop="name">Seattle, WA</span>
<img itemprop="image" src="img.jpg" alt="">
</div>
<div itemscope itemtype="http://schema.org/LocalBusiness" itemref="a b c">
</div>
<span id="b" itemprop="telephone">(123) 456-6789</span>
<div>
<p id="c" itemprop="description">some description text</p>
</div>
您必须确保这些引用的属性不会嵌套在另一个itemscope
下,否则它们也会被添加到此项目中。
如果您需要隐藏微数据的元素,请使用link
(对于URI值)和meta
(对于任何其他字符串值)元素。默认情况下,这两个元素在浏览器样式表中隐藏。
<div itemscope itemtype="http://schema.org/LocalBusiness">
<meta itemprop="name" content="Seattle, WA">
<link itemprop="image" href="img.jpg">
</div>