一尘不染

如果使用JavaScript动态构建标记,则Schema.org标记是否有效?

javascript

我有一个页面,其中通过使用JavaScript读取JSON来动态加载一些事件。我div使用EventSchema.org标记为每个事件构建一个。

Google的测试工具不会读取此标记。是由于标记错误,还是由于动态加载?

HTML代码之一Event是:

<div class="evento well" itemscope itemtype="http://schema.org/Event">
   <meta itemprop="startDate" content="2015-03-20T20:00:00.000Z">
   <meta itemprop="endDate" content="2015-01-21T20:00:00.000Z">
   <div class="dataEvento">
      <div class="dayWeekEvento">venerdì</div>
      <div class="dayNumEvento">20</div>
      <div class="monthEvento">Marzo</div>
   </div>
   <div class="datiEvento">
      <div class="oraEvento">ore 21:00</div>
      <div class="titoloEvento"><span itemprop="name">Titolo evento</span></div>
      <div class="luogoEvento" itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress"><a href="https://www.google.it/maps/place/Milano" target="_blank"><span class=" glyphicon glyphicon-map-marker" aria-hidden="true"></span> <span itemprop="addressLocality">Milano</span></a></div>
   </div>
</div>

阅读 235

收藏
2020-05-01

共1个答案

一尘不染

Google的文档仅提到如果使用语法JSON-LD,它们可以使用动态添加的结构化数据:

此外,即使将JSON-LD数据动态注入到页面内容中(例如通过Javascript代码或嵌入式“小部件”),Google仍可以读取。

这并不一定意味着在其他语法(例如Microdata或RDFa)的情况下,他们无法读取它,但至少他们没有对其进行记录。

他们的测试工具不阅读它可能意味着什么,也可能没有什么意思(可能是该工具无法处理,但内部系统却可以)。但是,您的实际标记应该没有问题,因为您可以通过粘贴标记而不是输入URL来轻松地对其进行测试。

2020-05-01