Как вы форматируете ключевые слова в Microdata для CreativeWork?
Я работаю с Microdata, и я хочу использовать Schema.orgs keywords
для CreativeWork
.
В схеме указано, что это должен быть текст, но я помещаю каждое ключевое слово в отдельный элемент с помощью itemprop="keywords"
или я помещаю их все в один элемент keywords
? Если я помещаю их все в один элемент, я использую запятые в качестве разделителя?
Ответы
Ответ 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 и сравнить с богатыми фрагментами, используемыми на настоящий продукт.