Подтвердить что ты не робот

Как вы форматируете ключевые слова в Microdata для CreativeWork?

Я работаю с Microdata, и я хочу использовать Schema.orgs keywords для CreativeWork.

В схеме указано, что это должен быть текст, но я помещаю каждое ключевое слово в отдельный элемент с помощью itemprop="keywords" или я помещаю их все в один элемент keywords? Если я помещаю их все в один элемент, я использую запятые в качестве разделителя?

4b9b3361

Ответ 1

Вы должны создать элемент itemprop для каждого ключевого слова следующим образом:

<div itemscope itemtype="http://schema.org/CreativeWork">
  <span itemprop="name">Resistance 3: Fall of Man</span>
  by <span itemprop="author">Sony</span>.
  Keywords:
  <a href="/tags/game/"><span itemprop="keywords">Game</span></a>,
  <a href="/tags/adult/"><span itemprop="keywords">Adult</span></a>
</div>

Ответ 2

Изменено определение Schema.orgs keywords property. Теперь он гласит:

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

Таким образом, это может выглядеть так в Microdata:

<article itemscope itemtype="http://schema.org/BlogPosting">

  <footer>
    <ul itemprop="keywords">
      <li><a href="/tags/foo" rel="tag">foo</a>,</li>
      <li><a href="/tags/bar" rel="tag">bar</a></li>
    </ul>
  </footer>

</article>

(Пример из моего связанного ответа о семантической разметке для тегов.)

Если вы не хотите, чтобы на странице были видны запятые, вы можете использовать элемент meta в дополнение к вашей обычной разметке для тегов:

<meta itemprop="keywords" content="foo, bar" />

(разрешено разместить этот элемент meta в` body`.)

Ответ 3

Мое чтение спецификации приводит меня к выводу, что вы можете иметь только один атрибут itemprop для каждого свойства.

Другими словами, я не думаю, что создание элемента itemprop для каждого ключевого слова создаст правильный синтаксис микроданных.

Я бы поместил каждое ключевое слово в список, разделенный пробелом, и использовал один itemprop:

  <span itemprop="keywords">
  <a href="/tags/game/">Game</a>,
  <a href="/tags/adult/">Adult</a>
  </span>

or

 <meta itemprop="keywords" content="Game Adult"/>

Я не уверен, что нужно делать, если ключевое слово содержит несколько слов, поскольку в спецификации нет ничего, что говорит о том, как ключевые слова должны быть разделены в тексте (я предполагаю пробелы и.или пунктуацию как запятую).

@Lawrence Woodman: можете ли вы указать, где вы читаете в спецификации, что разрешено иметь несколько элементов itemprop для одного и того же свойства?

Ответ 4

Читая документы, я бы сказал, что вы можете использовать метатеги для анализа содержимого, которое скрыто или в плохом формате. Это случай priceCurrency и datePublished в приведенном ниже коде, взятом из документации schema.org.

<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
  Price: <span itemprop="price">$6.99</span>
  <meta itemprop="priceCurrency" content="USD" />
  <link itemprop="availability" href="#" onclick="location.href='http://schema.org/InStock'; return false;">In Stock
</div>

Product details
<span itemprop="numberOfPages">224</span> pages
Publisher: <span itemprop="publisher">Little, Brown, and Company</span> - 
<meta itemprop="datePublished" content="1991-05-01">May 1, 1991
Language: <span itemprop="inLanguage">English</span>
ISBN-10: <span itemprop="isbn">0316769487</span>

Предполагая, что я прав, я изменил свой код на следующее.

<div itemscope itemtype="http://schema.org/CreativeWork">
  <!-- way too many content -->
  <h5>Keywords</h5>
  <meta itemprop="keywords" content="Rio de Janeiro, Brazil">
  <a href="/tags/rio/" rel="nofollow">Rio de Janeiro</a>
  <a href="/tags/brazil/" rel="nofollow">Brazil</a>
</div>

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

ОБНОВЛЕНИЕ: после развертывания кода он работает как шарм. Результаты можно просмотреть с помощью Инструмента Google Data Testing Tool и сравнить с богатыми фрагментами, используемыми на настоящий продукт.