Разделение микроданных schema.org на несколько разделов или элементов

Базовые микроданные должны выглядеть примерно так:

<div itemscope itemtype="http://schema.org/LocalBusiness">
<a itemprop="url" href="url"><div itemprop="name"><strong>name</strong></div>
</a>
<div itemprop="description">My Description</div>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">My Address</span><br>
<span itemprop="addressLocality">My City</span><br>
<span itemprop="postalCode">My Zip</span><br>
<span itemprop="addressCountry">My Country</span><br>
</div>
</div>

Но могу ли я «разделить» itemscope по странице?

Приведу крайний пример. Скажем, у меня есть name в заголовке страницы, address в середине страницы и country в нижнем колонтитуле.

Будет ли по-прежнему действительным/эффективным разделение данных таким образом? или мне всегда нужно использовать кластер.

И если сплит действителен, то как именно его выполнить? Мне просто нужно повторить div, например:

    <div itemscope itemtype="http://schema.org/LocalBusiness">
<div itemprop="name"><strong>name</strong></div>
</a>
    <div itemprop="description">My Description</div>

    </div>

И …

 <div itemscope itemtype="http://schema.org/LocalBusiness">

    <span itemprop="streetAddress">My Address</span><br>

    </div>

И …

   <div itemscope itemtype="http://schema.org/LocalBusiness">

    <span itemprop="country">My Country</span><br>

   </div>

Это мой первый раз, когда я рассматриваю использование микроданных - и я просто хочу убедиться, что делаю это правильно - и я не мог видеть никаких упоминаний о таком "разделении".

И по этой же теме, можно ли использовать уже существующие элементы, добавляя при этом только itemscope?

Например:

<div itemscope itemtype="http://schema.org/LocalBusiness">
<h1><div id = "title" class="title" itemprop="name"><strong>name</strong></div></h1>
</a>

person Obmerk Kronen    schedule 13.01.2014    source источник
comment
Вы проверили itemref (как ответил Михаэль Хомпус)? У веб-мастеров есть похожий вопрос: связывание нескольких отдельных <div> schema.org вместе?. Относительно вашего второго вопроса: если я вас правильно понял, вы спрашиваете, разрешено ли использовать другие элементы, кроме div/span?   -  person unor    schedule 15.01.2014


Ответы (2)


Нет, синтаксический анализатор, вероятно, увидит то, что вы предлагаете, как 3 отдельных объекта Local Business.

Но у вас может быть другой текст между различными свойствами в http://schema.org/LocalBusiness следующим образом:

<div itemscope itemtype="http://schema.org/LocalBusiness">
  <a itemprop="url" href="url"><div itemprop="name"><strong>name</strong></div></a>
  <p>
     This paragraph is not used by schema.org
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam blandit pretium
     massa, in consectetur velit. Vivamus aliquam, turpis in pellentesque pulvinar,
     lectus diam fermentum velit, quis fermentum arcu turpis in orci. Duis egestas
     urna vel velit suscipit mollis. Nulla sed diam massa.
  </p>
  <div itemprop="description">My Description</div>
</div>
person Paul Watson    schedule 13.01.2014
comment
Так что просто для ясности - вы на самом деле говорите, что в моем примере (экстремальный сценарий) мне нужно было бы обернуть всю страницу в itemscope div? (например, div-оболочка ?? ) - person Obmerk Kronen; 13.01.2014
comment
Да, или просто прикрепите строку itemscope к элементу body - person Paul Watson; 13.01.2014
comment
Спасибо, последний вопрос - Так на самом деле это не мешает, если в середине у меня есть 1000 других вещей? (изображения, ссылки, реклама ..) - person Obmerk Kronen; 13.01.2014
comment
Нет, любое приложение, анализирующее микроданные на вашей странице, будет игнорировать все, что не определено явным образом как свойство элемента типа элемента. Так что в моем примере в моем первом ответе абзац с текстом Lorem ipsum в нем будет полностью проигнорирован с точки зрения микроданных. - person Paul Watson; 13.01.2014

Проще всего иметь все в одном иерархическом дереве. Но вы можете разделить вещи, используя itemref. См. этот пример из того же документа, на который вы ссылались:

В следующем примере свойство «a» имеет значения «1» и «2» в указанном порядке, но не важно, предшествует ли свойство «a» свойству «b»:

<div itemscope>
  <p itemprop="a">1</p>
  <p itemprop="a">2</p>
  <p itemprop="b">test</p>
</div>

Таким образом, следующее эквивалентно:

<div itemscope>
  <p itemprop="b">test</p>
  <p itemprop="a">1</p>
  <p itemprop="a">2</p>
</div>

И следующее:

<div itemscope itemref="x">
  <p itemprop="b">test</p>
  <p itemprop="a">2</p>
</div>
<div id="x">
  <p itemprop="a">1</p>
</div>
person Michaël Hompus    schedule 14.01.2014
comment
+1 Использование инструмента тестирования Google (google.com/webmasters/tools/richsnippets) показывает что это действительно работает, поэтому я думаю, что это должен быть принятый ответ. - person Hidden Hobbes; 22.10.2014
comment
Но itemprop="a" внутри <div id="x"> будет считаться свойством WebPage, и это вызовет ошибку проверки для объекта WebPage. - person Eugene Mala; 18.03.2015
comment
Единственная проблема с этим в качестве решения заключается в том, что если вам нужно ссылаться из нескольких мест, вы в конечном итоге дублируете значение идентификатора, что затем делает структуру документа недействительной во многих контекстах. Тем не менее, это в значительной степени ответ. - person Ted Stresen-Reuter; 02.10.2019