Расширенные фрагменты: вывод микроданных из типа элемента?

Недавно я решил обновить сайт, добавив расширенные сниппеты - микроданные. Дело в том, что я новичок в подобных вещах, и у меня есть небольшой вопрос по этому поводу.

Я пытаюсь определить организацию, как видно из кода ниже:

<div class="block-content" itemscope itemtype="http://schema.org/Organization">
<p itemprop="name">SOME ORGANIZATION</p>
<p itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Manufacture Street no 4</span>, 
<span itemprop="PostalCode">4556210</span><br />
<span itemprop="addressLocality">CityVille</span>, 
<span itemprop="addressCountry">SnippetsLand</span></p>
<hr>
<p itemprop="telephone">0444 330 226</p>
<hr>
<p><a href="mailto:[email protected]" itemprop="email">[email protected]</a></p>
</div>

Теперь мои проблемы заключаются в следующем: я хотел бы также пометить ЛОГОТИП, чтобы создать полный профиль организации, но логотип стоит в заголовке моей страницы, а div, который я разместил выше, стоит в нижнем колонтитуле. и стиль / макет страницы не позволяет мне добавить сюда логотип, а также сделать его видимым.

Итак, как я могу решить эту проблему? Какое лучшее решение?

Спасибо.


person DanCapitanDePlai    schedule 21.09.2013    source источник


Ответы (2)


Дэн, вы можете просто добавить схему логотипа с помощью этого кода:

<img itemprop="logo" src="http://www.example.com/logo.png" />

Итак, в вашем примере вы можете просто пометить его как:

<div class="block-content" itemscope itemtype="http://schema.org/Organization">
<p itemprop="name">SOME ORGANIZATION</p>
<img itemprop="logo" src="http://www.example.com/logo.png" />
<p itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="streetAddress">Manufacture Street no 4</span>, 
<span itemprop="PostalCode">4556210</span><br />
<span itemprop="addressLocality">CityVille</span>, 
<span itemprop="addressCountry">SnippetsLand</span></p>
<hr>
<p itemprop="telephone">0444 330 226</p>
<hr>
<p><a href="mailto:[email protected]" itemprop="email">[email protected]</a></p>
</div>

Я считаю, что это должно работать в вашем конкретном случае, и на самом деле на нем не будет отображаться логотип, и вам не придется размечать логотип отдельно. Надеюсь, это поможет.

person daviddeering    schedule 23.09.2013
comment
Спасибо, Дэвид. Я уже нашел способ: в микроданных есть элементы, которые по умолчанию скрыты, они называются <meta />. Тем не менее, я принял ваш вопрос, потому что это еще один вариант, который работает. - person DanCapitanDePlai; 23.09.2013

Вы можете использовать атрибут itemref.

Дайте вашему логотипу в заголовке id и добавьте соответствующий itemprop:

<img src="acme-logo.png" alt="ACME Inc." itemprop="logo" id="logo" />

Теперь добавьте itemref="logo" к вашему div в нижнем колонтитуле:

<div class="block-content" itemscope itemtype="http://schema.org/Organization" itemref="logo">
  …
</div>

Если в вашем случае это невозможно, вы можете «продублировать» логотип, чтобы он был включен в ваш div, но не был виден. В этом случае микроданные допускают элементы meta и link в body. Вам следует использовать элемент link, поскольку http://schema.org/Organization ожидает URL для схемы _ 14_ свойство. (Или добавьте его через meta как отдельный ImageObject).

<div class="block-content" itemscope itemtype="http://schema.org/Organization">
  …
  <link itemprop="logo" src="logo.png" />
  …
</div>

Боковое примечание: я не думаю, что вы используете hr element правильно в вашем примере. Если вы просто хотите отобразить горизонтальную линию, вам следует использовать CSS (например, border-top на p).

person unor    schedule 23.09.2013