I try to put microdata in a leisure club's planning, which propose various activities (drawing, yoga, english for kids...). My problem is with those weekly activities as microdata event does'nt propose a convenient way to tag them.

My question is simple do you think this :

<li itemscop itemtype="https://schema.org/PlayAction">
    <a href="url/19-drawing" title="drawing" itemprop="url">
        <strong itemprop="name">Drawing</strong>
    <div itemscop itemType="http://schema.org/ScheduleAction">
        <time itemprop="scheduleTime" datetime="Fr 12:15-13:15">12:15 - 13-15</time>

is correct ? (I want to say "Enjoy drawing every friday from 12:15 to 13:15".)

I mean are the use of PlayAction for a non physical activity, the nesting with ScheduleAction and finally the use of a datetime format like OpeningHours a good way (from a google POV) to use microdatas ?

Thanks you


2 Answers 2


Some notes about your markup:

  • This HTML nesting has no effect on the Microdata parsing. You have to use a property if you want to denote a relationship between the two items.

  • The time element can’t have a value like "Fr 12:15-13:15" (although schema.org’s documentation has similar examples; see my issue). You could use the data element or the meta element (yes, even in the body) instead.

  • You might want to use the http variant of schema.org URIs in all cases.

About your use of schema.org types:

I don’t think your usage of the ScheduleAction type is appropriate. It’s an Action, so it can be used for the act of scheduling something (e.g., "John scheduled an event"), and not for the result of this action. As the result here is an event, you should use the Event type (or one of its sub-types, e.g. for drawings maybe VisualArtsEvent).

If you want to use an Action type for the drawing activity, you should probably use DrawAction instead of PlayAction. However, do you really need it in the first place? Using only an Event item might be sufficient for your case.

As described in my answer on SO (which Stephen Ostermiller referenced here, too), you can’t declare recurring events with schema.org. While ISO 8601 seems to define a syntax for repeating intervals, schema.org defines that each Event item is for "an event", not several ones.

So you have to explicitly provide a separate Event item for each date/event (or change the date if you use always the same page and don’t archive older dates), or no date at all (i.e., only for humans in the HTML, but not in the Microdata).


At How to mark up recurring events with Schema.org for Google? unor says:

Currently, there is only the solution to create separate Event items for each event, as described in its definition:

Repeated events may be structured as separate Event objects.

Related links:

In the mentioned thread, Martin Hepp lists advantages of creating separate Event items for each single event:

  • easier for consumers to query the data when each date is set explicitly
  • you can model exceptions (cancelled, rescheduled or delayed events)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.