стратегия микроданных html5 для запланированной деятельности (не физической)
Я пытаюсь включить микроданные в планирование клуба досуга, в котором предлагаются различные мероприятия (рисование, йога, английский для детей...). Моя проблема заключается в том, что эти еженедельные мероприятия, поскольку мероприятие по микроданным не предлагает удобного способа их пометить.
Мой вопрос прост, как вы думаете, это:
<li itemscop itemtype="https://schema.org/PlayAction">
<a href="url/19-drawing" title="drawing" itemprop="url">
<strong itemprop="name">Drawing</strong>
</a>
<div itemscop itemType="http://schema.org/ScheduleAction">
<time itemprop="scheduleTime" datetime="Fr 12:15-13:15">12:15 - 13-15</time>
</div>
</li>
Правильно? (Я хочу сказать: "Наслаждайтесь рисованием каждую пятницу с 12:15 до 13:15".)
Я имею в виду использование игрового действия для нефизической активности, вложенности с помощью scheduleaction и, наконец, использования формата даты и времени, такого как открытие, хороший способ (из Google POV) использовать микроданные?
Спасибо вам
2 answers
Некоторые замечания о вашей разметке:
Эта вложенность HTML не влияет на анализ микроданных. Вы должны использовать свойство, если хотите обозначить связь между двумя элементами.
Элемент
time
не может иметь такого значения, как "Fr 12:15-13:15" (хотя schema.org в документации есть аналогичные примеры; см. моя проблема). Вы можете использовать элементdata
или элементmeta
(да, даже вbody
) вместо этого.Возможно, вы захотите использовать
http
вариант schema.org URI во всех случаях.
О вашем использовании schema.org типы:
Я не думаю, что ваше использование типа ScheduleAction
является подходящим. Это Action
, таким образом, его можно использовать для действия планирования чего-либо (например, "Джон запланировал событие"), а не для результата этого действия. Поскольку результатом здесь является событие, вы должны использовать Event
тип (или один из его подтипов, например, для чертежей, возможно VisualArtsEvent
).
Если вы хотите использовать тип действия для рисования, вам, вероятно, следует использовать DrawAction
вместо того, чтобы PlayAction
. Однако, действительно ли вам это нужно в первую очередь? В вашем случае может быть достаточно использовать только элемент Event
.
Как описано в моем ответе на SO (на который Стивен Остермиллер также ссылается здесь), вы не можете объявлять повторяющиеся события с schema.org . В то время как ISO 8601, по-видимому, определяет синтаксис для повторяющихся интервалов, schema.org определяет, что каждый элемент Event
предназначен для "события", а не для нескольких.
Таким образом, вы должны явно указать отдельный элемент Event
для каждой даты/события (или изменить дату, если вы всегда используете одну и ту же страницу и не архивируете более старые даты), или вообще не указывать дату (т.Е. Только для людей в HTML, но не в микроданных).
В Как отмечать повторяющиеся события с помощью Schema.org для Google? unor говорит:
В настоящее время существует только решение для создания отдельных элементов Event
для каждого события, как описано в его определении:
Повторяющиеся события могут быть структурированы как отдельные объекты событий.
Ссылки по теме:
- Тема списка рассылки: Правильный schema.org разметка повторяющихся/повторяющихся событий?
- Вики-страница: Веб-схемы/повторяющиеся события
- Проблема: Schema.org следует сказать, как описать повторяющиеся события
В упомянутой теме Мартин Хепп перечисляет преимущества создания отдельных Event
элементов для каждого отдельного события:
- потребителям проще запрашивать данные, когда каждая дата задана явно
- вы можете моделировать исключения (отмененные, перенесенные или отложенные события)