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.
<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.
<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.
- Google docsEvent rich resultprimary
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.
- 01
Using Event for a recurring series
Wrong"@type": "Event" for an annual conference brandRight"@type": "EventSeries" with individual Events as subEventEventSeries 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.
Schema properties in this example
About the example data
The XooCon conference series spans multiple years. Each annual XooCon is a subEvent of this series.
Comments
Loading comments...