Правильный подход к разметке "ключевых слов" блога с помощью HTML5 и микроданных?


Свойство keywords из Schema.org, как это следует из формы множественного числа, по-видимому, подразумевает, что его значение должно бытьстрокой текста, разделенного запятыми . Как в следующем примере:

<p itemprop="keywords">lorem, ipsum, dolor, sit, amet</p>

Это напоминает мне тег <meta name="keywords" content="lorem, ipsum, dolor, sit, amet">, который мы использовали, чтобы поместить в <head></head> по причине SEO.

Однако, с точки зрения семантики, я думаю, что приведенный выше пример неверен, потому что ключевые слова должны бытьсписком слов . Таким образом, он должен быть размечен с помощью элемента <ul>.

Есть ли общий консенсус относительно того, как ключевые слова сообщения в блоге должны быть маркированы с помощью HTML5 и микроданных?

1 3

1 ответ:

Обновление: определение Schema.org ' S keywords свойство изменилось. Теперь становится ясно, что он ожидает несколько тегов, и что они, как правило, должны быть разделены запятыми.

Tl; dr : Если вы хотите использовать элемент ul для своих тегов, используя Schema.org свойство S keywords может выглядеть следующим образом в микроданных:

<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>

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


HTML

The meta элемент со значением name keywords предлагает способ указания ключевых слов, которые применяются ко всей странице. Эти ключевые слова состоят только из текста, поэтому вы не можете использовать URI.

Итак, для типичных тегов блога вы бы пошли следующим путем (возможно, в дополнение к meta-keywords).

Тип связи

HTML5 определяет тип ссылки tag:

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

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

(внимание: tag - это микроформат, но он имеет другое определение: вы можете использовать только специально созданные URL-адреса для микроформата tag.)

Если ваши теги больше похожи на категории (контролируемый словарь вместо свободного тегирования), вы можете использовать тип ссылки category (возможно, в сочетании с tag).

Разметка для тегов

Вы можете использовать ul или dl:

<ul>
  <li><a href="/tags/foo" rel="tag">foo</a></li>
  <li><a href="/tags/bar" rel="tag">bar</a></li>
</ul>
<dl>
  <dt>Tags</dt>
  <dd><a href="/tags/foo" rel="tag">foo</a></dd>
  <dd><a href="/tags/bar" rel="tag">bar</a></dd>
</dl>

Я бы пошел с dl, когда у вас также есть другие метаданные для списка, например, автор, дата публикации и т. д.

A div с разделенными запятыми a элементами будет работать также, конечно:

<div>Tags: <a href="/tags/foo" rel="tag">foo</a>, <a href="/tags/bar" rel="tag">bar</a></div>

Контейнер для списка

Список должен быть частью a footer элемент (внутри article, Если вы используете его для вашего блога post):

Нижний колонтитул обычно содержит информацию о своем разделе, например, кто его написал, ссылки на соответствующие документы, данные об авторских правах и тому подобное.

Словари

Schema.org

CreativeWork определяет свойство keywords (BlogPosting наследует его):

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

Это ожидает простой текст, поэтому нет никакого способа предоставить URL-адреса тегов в Schema.org.

Поскольку keywords ожидает список тегов, разделенных запятыми, dl нельзя использовать (если только dl не содержит ничего, кроме тегов).

С ul, это может выглядеть так в микроданных:

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

Если вы используете div, вам нужно добавить еще один div/child так что метка "Tags:" не интерпретируется как сам тег:

<div>Tags: <span itemprop="keywords"><a href="/tags/foo" rel="tag">foo</a>, <a href="/tags/bar" rel="tag">bar</a></span></div>

Общий Тег

Общий тег - это a (RDF) словарь для пометок. В отличие от Schema.org свойство S keywords использует URI для тегов, а не только для текста.

Пример из их руководства по быстрому запуску в RDFa:

<div xmlns:ctag="http://commontag.org/ns#" rel="ctag:tagged">
   NASA's <a typeof="ctag:Tag" 
             rel="ctag:means"
             href="http://rdf.freebase.com/ns/en.phoenix_mars_mission"
             property="ctag:label">Phoenix Mars Lander</a> has deployed its robotic arm. 
</div>

Пояснение: содержимое помечается (ctag:tagged) тегом (ctag:Tag). Этот тег определяется (ctag:means) URI "http://rdf.freebase.com/ns/en.phoenix_mars_mission " и называется он (ctag:label) "Phoenix Mars Lander"

Вместо ctag:Tag можно использовать класс ctag:AuthorTag (что означает, что он помечен автором контента).

Ров

Существует также словарь рва, который расшифровывается как"значение метки". К сожалению, их веб-сайт , кажется, исчез (?).

Онтология, позволяющая пользователям определять отношения между объектами тегов и URI семантических веб-ресурсов