Free Education Event Schema Generator

Fill in the facts visible on your page, copy the Education Event JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Schema workflow

Use only facts a visitor can verify on the page, then validate the JSON-LD before publishing.

Required

  • Visible Education Event content
  • Canonical page URL
  • Clear page owner/publisher
  • Fields that match the visible page

Recommended

  • A representative image when the schema supports it
  • SameAs or related links when visible
  • Validation before publishing

Avoid

  • Adding properties that are not visible
  • Copying example URLs into production
  • Skipping Google and Schema.org validation
Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

Education Event Schema Generator — Promote Classes and Workshops

Generate valid EducationEvent JSON‑LD in minutes. Clarify dates, instructors, venue or online access, and ticket Offers to improve understanding and visibility.

Try the EducationEvent Generator

Why many class pages underperform

  • Date/time lacks timezone or endDate, confusing schedules.
  • Online vs in‑person is unclear without attendance mode and a join/registration URL.
  • No instructor/organizer is specified, reducing credibility.
  • Ticket Offers omit price/currency or URL.

How SwiftSchema helps

The EducationEvent generator focuses on essentials: start/end dates with timezone, attendance mode, proper location (Place or VirtualLocation), and organizer/instructor details.

It supports ticket Offers (price, priceCurrency, URL) and images, producing copy‑ready JSON‑LD for your class/workshop page.

How it works

  1. 01

    Choose EducationEvent in the generator below.

  2. 02

    Enter event name, description, and start/end dates with timezone.

  3. 03

    Set attendance mode and add a Place (with PostalAddress) or a VirtualLocation URL.

  4. 04

    Add organizer/instructor and an Offer with price, currency, and URL if ticketed.

  5. 05

    Copy JSON or Script, paste on your class page, and validate in the Rich Results Test.

Ready to build the markup?

Paste once per class. Validate. Ship.

Generate EducationEvent JSON‑LD

What is EducationEvent structured data?

EducationEvent is an Event subtype for classes, workshops, lectures, bootcamps, and training sessions. It captures the schedule, attendance mode, venue (or virtual access), instructors, organizer, and ticketing info. Accurate schema helps search engines display event cards, organize training calendars, and highlight your classes in education-focused surfaces.

Essential properties

  1. name — descriptive class title.
  2. startDate / endDate — ISO 8601 with timezone.
  3. location — Place (with PostalAddress) or VirtualLocation + url.
  4. eventAttendanceMode — OfflineEventAttendanceMode, OnlineEventAttendanceMode, or MixedEventAttendanceMode.
  5. eventStatus — optional; use EventScheduled, EventPostponed, etc.
  6. organizer / performer — Person or Organization with name, url, sameAs.
  7. description — summary of what the class covers and who it’s for.
  8. image — hero photo or promo graphic.
  9. offers — price, priceCurrency, availability, and ticket URL if paid.
  10. performer — optional; use for guest lecturers or performers.
  11. inLanguage — specify locale when localizing sessions.

Content prep checklist

  • Describe what the class covers, prerequisites, target audience, and outcomes/certifications.
  • Provide schedule details (dates, times, timezone, session cadence).
  • Clarify whether it’s in-person, online, or hybrid, and include venue address or virtual platform info.
  • Introduce instructors with bios and links to professional profiles.
  • List ticket prices, early bird offers, or free registration instructions.
  • Mention resources provided (workbooks, recordings) and refund policies.
  • Include accessibility details (captions, wheelchair access, recorded sessions) and prerequisites.

Implementation workflow

  1. Update the landing page with the details above, ensuring registration links work.
  2. Generate EducationEvent JSON‑LD with start/end dates, attendance mode, location, instructors, and offers.
  3. Include organizer referencing your company or department.
  4. Embed the schema once per class page; avoid duplicate Event markup from other plugins.
  5. Validate in Rich Results Test; fix warnings (e.g., missing location fields).
  6. Monitor Search Console for event coverage and performance.
  7. Localize: add inLanguage and localized URLs when offering multiple language versions; align with hreflang/canonicals.

Handling online and hybrid classes

  • Use VirtualLocation with a direct registration or join URL.
  • Combine with eventAttendanceMode: MixedEventAttendanceMode when offering both in-person and livestream access.
  • Provide detailed instructions in the content (Zoom link, login steps) and ensure the schema references the same link.
  • If you gate access, keep registration URLs crawlable and avoid requiring login to see basic event info.

Recurring sessions

  • For recurring classes, create an EventSeries and list individual EducationEvent instances or separate pages per session.
  • Update eventStatus if a session is postponed or cancelled.
  • Keep past sessions accessible and labeled as past on the page (schema.org has no completed status), or direct users to upcoming sessions.

Ticketing and offers

  • Include Offer objects for each pricing tier (standard, student, VIP).
  • Use availabilityStarts/availabilityEnds for limited-time pricing.
  • For free events, set price: 0 and still include an Offer to provide context.
  • Tag your registration URLs with UTMs to track performance; ensure the canonical link remains clean in schema if needed.

Troubleshooting checklist

  • Missing time zone: include offsets in ISO timestamps.
  • No location: always specify Place or VirtualLocation.
  • Lack of organizer: include an organizer or provider to build trust.
  • Ticket info missing: add price/currency and url for registration.
  • Stale events: update schema when sessions pass; remove or mark them as completed.
  • Attendance mode mismatch: ensure eventAttendanceMode aligns with what users see (online vs in-person vs hybrid).
  • Broken registration links: keep offers.url live and consistent with the visible CTA.

Common Errors & Fixes

  • Missing time zone: always include offset in ISO dates.
  • Ambiguous attendance: set eventAttendanceMode and use clear location objects.
  • No organizer/instructor: include at least one Person or Organization to establish credibility.
  • Incomplete offers: specify price and currency, even if the event is free (price: 0).
  • Duplicate schema: ensure only one EducationEvent block exists per class page.

On-page parity checklist

  • Title, dates, and times on-page match name, startDate, endDate (with timezone).
  • Attendance mode and location info on-page match eventAttendanceMode and location/VirtualLocation.
  • Instructors/organizer listed on-page match schema entries and links.
  • Ticket prices and registration links on-page match offers details.
  • Images shown match image URLs; accessible and properly sized.
  • For multi-language sessions, inLanguage and hreflang/canonicals are aligned.

Validation and maintenance

  • Run Rich Results Test after template or schedule changes; ensure timestamps use offsets.
  • Update eventStatus and offers when sessions change (postponed, sold out).
  • Revalidate when adding/removing hybrid/virtual options or changing venues.
  • Keep lastReviewed current; assign ownership for event schema updates during each launch cycle.

Required properties

  • name
  • startDate
  • location.name

Recommended properties

  • image
  • url
  • organizer.name
  • organizer.@type
  • offers.price
  • offers.priceCurrency
  • offers.url
  • eventAttendanceMode
  • eventStatus
  • description
  • inLanguage
Minimal JSON-LD
Validate
{
  "@context": "https://schema.org",
  "@type": "EducationEvent",
  "name": "Intro to Python Workshop",
  "startDate": "2026-02-05T10:00:00-05:00",
  "location": {
    "@type": "Place",
    "name": "Campus Hall"
  }
}
EducationEvent with organizer, attendance mode, and offer
Validate
{
  "@context": "https://schema.org",
  "@type": "EducationEvent",
  "name": "Intro to Python Workshop",
  "description": "Beginner-friendly workshop covering Python basics, data types, and control flow.",
  "startDate": "2026-02-05T10:00:00-05:00",
  "endDate": "2026-02-05T16:00:00-05:00",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "image": "https://example.com/images/python-workshop-hero.webp",
  "location": {
    "@type": "Place",
    "name": "Campus Hall",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "123 College Ave",
      "addressLocality": "Austin",
      "addressRegion": "TX",
      "postalCode": "78701",
      "addressCountry": "US"
    }
  },
  "organizer": {
    "@type": "Organization",
    "name": "Code Academy",
    "url": "https://codeacademy.example.com"
  },
  "offers": {
    "@type": "Offer",
    "name": "Standard ticket",
    "price": "99",
    "priceCurrency": "USD",
    "url": "https://tickets.example.com/python-workshop",
    "availability": "https://schema.org/InStock"
  }
}
Hybrid EducationEvent with VirtualLocation
Validate
{
  "@context": "https://schema.org",
  "@type": "EducationEvent",
  "name": "Data Visualization Bootcamp",
  "description": "Two-day bootcamp on data viz fundamentals and tools.",
  "startDate": "2026-03-10T09:00:00-05:00",
  "endDate": "2026-03-11T17:00:00-05:00",
  "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
  "location": {
    "@type": "VirtualLocation",
    "url": "https://datalab.example.com/live"
  },
  "organizer": {
    "@type": "Organization",
    "name": "DataLab",
    "url": "https://datalab.example.com"
  },
  "offers": [
    {
      "@type": "Offer",
      "name": "In-person ticket",
      "price": "399",
      "priceCurrency": "USD",
      "url": "https://tickets.example.com/dv-bootcamp-inperson",
      "availability": "https://schema.org/InStock"
    },
    {
      "@type": "Offer",
      "name": "Virtual ticket",
      "price": "149",
      "priceCurrency": "USD",
      "url": "https://tickets.example.com/dv-bootcamp-virtual",
      "availability": "https://schema.org/InStock"
    }
  ]
}

FAQs

Is online supported?Show

Yes, use OnlineEventAttendanceMode and include registration/join URLs.

Recurring classes?Show

Consider EventSeries for recurring schedules.

Related types

Browse all schema types

References