XooCode(){

EventSeries

EventSeries is a dual-parent type that inherits from both Event and Series. It represents a recurring series of events: an annual conference, a monthly meetup, a weekly class. The individual occurrences are linked via subEvent on the EventSeries or superEvent on each individual Event. EventSeries adds no properties of its own.

For a complete property walkthrough, see the Event example. Replace "@type": "Event" with "@type": "EventSeries" and use subEvent to list the individual occurrences.

Full example of schema.org/EventSeries json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/EventSeries
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "EventSeries",
  "name": "XooCon",
  "url": "https://xoocode.com/xoocon/",
  "description": "Annual developer conference by Xoo Code Inc., running since 2017. Structured data, schema.org, and search optimization.",
  "image": "https://xoocode.com/xoocon/series-banner-16x9.jpg",
  "startDate": "2017",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "The Thunderdome",
    "address": { "@type": "PostalAddress", "streetAddress": "500 Main Street", "addressLocality": "Dunmore", "addressRegion": "PA", "addressCountry": "US" }
  },
  "organizer": { "@id": "https://xoocode.com#organization", "@type": "Organization", "name": "Xoo Code Inc." },
  "subEvent": [
    { "@type": "Event", "name": "XooCon 2018", "@id": "https://xoocode.com/xoocon-2018/#Event", "startDate": "2018-04-20" },
    { "@type": "Event", "name": "XooCon 2026", "startDate": "2026-11-14" }
  ]
}
</script>

Minimal valid version

The smallest markup that still produces a valid EventSeries entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/EventSeries (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "EventSeries",
  "name": "XooCon",
  "startDate": "2017",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": { "@type": "Place", "name": "The Thunderdome", "address": { "@type": "PostalAddress", "streetAddress": "500 Main Street", "addressLocality": "Dunmore", "addressRegion": "PA", "addressCountry": "US" } },
  "image": "https://xoocode.com/xoocon/series-banner-16x9.jpg",
  "description": "Annual developer conference by Xoo Code Inc."
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common EventSeries mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Using Event for a recurring series

    Wrong
    "@type": "Event" for an annual conference brand
    Right
    "@type": "EventSeries" with individual Events as subEvent

    EventSeries represents the series itself, not a single occurrence. Use it for the umbrella entity ("XooCon") and link individual years as subEvent entries. This lets Google connect all occurrences to one series entity.

About the example data

The XooCon conference series spans multiple years. Each annual XooCon is a subEvent of this series.

Comments

Loading comments...

Leave a comment