如何隐藏地理标签以显示在卡片中但仍可用于 googlebot
Posted
技术标签:
【中文标题】如何隐藏地理标签以显示在卡片中但仍可用于 googlebot【英文标题】:How to hide Geo tag to appear in vcard but still making available it fot google bot 【发布时间】:2014-02-28 04:28:29 【问题描述】:<div class="vcard" itemscope itemtype="http://schema.org/LocalBusiness">
<strong class="fn org" itemprop="name">Commercial Office Bangalore</strong><br/>
<span class="adr" itemprop="address" itemscope itemtype="httep:schema.org/PostalAddress">
<span class="street-address"itemprop="streetAddress">330, Raheja Arcade, 1/1 Koramangala Industrial Layout</span><br/>
<span class="locality"itemprop="addressLocality">Bangalore</span>
<span itemprop="postalCode"class="postal-code">560095</span><br/>
<span class="region"itemprop="addressRegion">Karnataka</span><br/>
<span class="country-name">India</span><br/>
<span class="tel id"="phone"itemprop="telephone">+91-80-41101360</span><br/>
<span class="geo"itemprop="geo"itemscope itemtype="http://schema.org/GeoCordinates">
<abbr class="latitude" property="latitude">12.936504</abbr>
<abbr class="longitude" property="longitude">77.6321344</abbr>
<meta itemprop="latitude" content="12.936504" />
<meta itemprop="longitude" content="77.6321344" />
</span>
</span>
我想让 lat 和 logitude 对用户不可见,而对 Google bot 可见。我该怎么办?
【问题讨论】:
将您的纬度和经度字段的颜色设置为页面背景颜色,也许? 【参考方案1】:如果您指的是微数据(使用 Schema.org):
只需删除 abbr
元素。您已经在meta
元素(其中can be used in the body
)中提供了这些数据,这是提供应该/不能在页面上显示的数据的正确方法:
<meta itemprop="latitude" content="12.936504" />
<meta itemprop="longitude" content="77.6321344" />
(请注意,您使用的是 property
属性,但它们在 Microdata 中是不允许的,只能在 RDFa 中使用。)
(还要注意你使用http://schema.org/GeoCordinates
但它应该是http://schema.org/GeoCoordinates
。而且httep:schema.org/PostalAddress
也是错误的。)
如果您指的是微格式(使用 hCard):
您可以重复使用与 Microdata 一起使用的 meta
元素:
<meta class="latitude" itemprop="latitude" content="12.936504" />
<meta class="longitude" itemprop="longitude" content="77.6321344" />
但我不确定是否所有微格式解析器都支持这一点。
【讨论】:
@albert: 这个 html 不是无效的。 确实是无效的。他的意思是 hcard .geo 类。仍然无效【参考方案2】:带有 lat 和 lon 的 abbr
元素可以设置为 display:none
,这完全符合您的要求,对人类隐藏内容,同时仍将其提供给机器人:
abbrdisplay:none
/** or **/
.latitude,
.longitudedisplay:none
虽然我无法诚实地看到在您的示例中包装它们的内容。 Ff 带有类 .geo
的 span
是父元素,您可以改为使用 display:none
。
【讨论】:
以上是关于如何隐藏地理标签以显示在卡片中但仍可用于 googlebot的主要内容,如果未能解决你的问题,请参考以下文章
MFC:CListCtrl.EnableWindow(FALSE),但仍可滚动? [复制]
如何在相机视图上添加图层以根据设备的位置显示带有地理位置数据的标签,例如在 ZipRealty Real Estate 应用程序中