Event Series Schema Generator — Summarize Recurring Events
Generate clean EventSeries JSON‑LD to describe recurring events with organizer, dates, location or online mode, and link to each Event occurrence.
Why many series pages underperform
Pain points we solve
- The series page doesn’t clarify attendance mode or date span.
- Organizer and location details are missing, reducing context.
- Individual Event instances aren’t marked up or linked from the series page.
- Manual JSON‑LD is inconsistent with the per‑event pages.
How SwiftSchema helps
Solution
The EventSeries generator captures the series‑level details: name, optional start/end dates, attendance mode, organizer, and location name.
Mark up each occurrence with Event JSON‑LD and link them from the series page to create a cohesive structure that is easy to navigate and understand.
How it works
How it works
- Choose EventSeries in the generator below.
- Enter the series name and optional date span (startDate/endDate).
- Set attendance mode (online/offline/mixed) and include organizer and location name when applicable.
- Create separate Event pages/sections for each occurrence and link them from the series page.
- Copy JSON or Script, paste on the series page, and validate in the Rich Results Test.
Paste once per series. Validate. Ship.
What is EventSeries structured data?
EventSeries describes recurring or ongoing event programs (weekly meetups, lecture series, monthly webinars). It provides umbrella metadata (name, schedule span, attendance mode, organizer, location) while individual sessions use Event schema. Search engines use it to identify the overarching series, cluster related events, and understand recurrence patterns.
Essential properties
name— official series title.startDate/endDate— optional span covering the series’ run (season, year).eventAttendanceMode—OnlineEventAttendanceMode,OfflineEventAttendanceMode, orMixedEventAttendanceMode.location—PlaceorVirtualLocationrepresenting the default venue/platform.organizer— Person or Organization responsible for the series.description— summary describing the series theme and cadences.image— hero image or promotional graphic.eventSchedule— optionalSchedulewith recurrence rules.subEvent— list of Event objects representing upcoming occurrences.inLanguage— specify locale for localized series pages.
Content prep checklist
- Publish a landing page describing the series theme, target audience, cadence, and registration info.
- List upcoming occurrences (date/time) with links to detail pages.
- Clarify whether sessions are free/paid, online/in-person, and provide registration CTA.
- Introduce organizers/instructors and highlight notable guests.
- Provide archive links to past sessions or recordings if available.
- Note schedule patterns (every Thursday at 5 PM, monthly on first Tuesday) and holidays/exceptions in content; match them in
eventSchedule.
Implementation workflow
- Update the series landing page with the information above.
- Generate EventSeries JSON‑LD with series-level data (name, description, attendance mode, organizer, location, span).
- List upcoming events in
subEventor via Event links; each occurrence should have its own Event schema (EducationEvent, MusicEvent, etc.). - Include
eventSchedulewhen sessions recur on a predictable cadence (weekly, monthly). - Embed the EventSeries schema on the landing page; ensure you also include Event schema for the current occurrence on the relevant page.
- Validate via Rich Results Test; fix warnings about missing organizer or location.
- Localize: add
inLanguageand localized URLs when relevant; align with hreflang/canonicals.
Linking EventSeries and Event schema
- Each Event should reference the series via
superEvent. - EventSeries can list
subEvententries or simply link to the detail pages. - Keep start/end dates in sync; update the series’
endDatewhen the season wraps. - For hybrid series, ensure both Place and VirtualLocation are represented consistently across
subEvententries. - If sessions move or cancel, update
eventStatuson affected Event entries and adjust the series page copy.
Troubleshooting checklist
- Missing organizer/location: include these to build trust and clarity.
- Confusing attendance mode: set
eventAttendanceModeand clarify in the content if sessions alternate formats. - No linked events: make sure each occurrence has Event schema and is linked from the series page.
- Stale schedules: update
startDate/endDateannually or per season. - Duplicate schema: avoid embedding both EventSeries and Event for the same data block unless you differentiate series vs occurrence clearly.
On-page parity checklist
- Series title on-page matches
name; hero image matchesimageURL. - Date range, cadence, and attendance mode in copy align with
startDate/endDateandeventAttendanceMode. - Organizer and venue details shown on-page match
organizerandlocation. - Upcoming sessions listed on-page correspond to
subEventor linked Event pages. - Registration/CTA links in content resolve and match any URLs shown in schema.
Content depth (avoid thin series pages)
- Add session highlights, speaker bios, and value props for attendees.
- Publish FAQs on access (recordings, slides), pricing, and cancellation.
- Include accessibility details (captions, wheelchair access, language availability).
- Share past-session recaps or recordings to show continuity and credibility.
- Provide a simple calendar download (ICS) and align it with
eventSchedule.
Maintenance and governance
- Refresh
startDate/endDateeach season; updateeventSchedulewhen cadence shifts. - Adjust
subEventlist weekly as sessions publish or sell out; mark canceled sessions witheventStatus. - Keep organizer/staff changes reflected in
organizerand on-page bios. - Log schema validation results after each update; track diffs for compliance reviews.
Validation and QA
- Validate with Rich Results Test and Schema Markup Validator; confirm
eventAttendanceModeandlocationare present. - Spot-check timezone handling in
eventScheduleand individual EventstartDatevalues. - Ensure only one EventSeries block exists per landing page; keep Events on their respective detail pages.
- Inspect structured data in Search Console (Events) for crawling/processing errors.
- Keep a recurring update log for series seasons; update
lastReviewedwhen cadence, organizer, or venue changes. - If you publish calendars (ICS), confirm dates match
eventScheduleand subEvent instances to avoid attendee confusion.
Required properties
name
Recommended properties
startDateendDateeventAttendanceModelocation.nameorganizer.namedescriptionimageeventSchedulesubEvent
{
"@context": "https://schema.org",
"@type": "EventSeries",
"name": "Weekly Tech Meetup",
"startDate": "2026-03-01",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode"
}