Geodocs.dev

AEO for Event Queries

ShareLinkedIn

Open this article in your favorite AI assistant for deeper analysis, summaries, or follow-up questions.

AI assistants answering "events near me," "is X conference still happening," or "when does Y festival start" pull from Event Schema.org markup, ticketing platforms, and the event's own page. Pages with proper Event schema are 2.5x more likely to appear in AI answers, and Tier 1 schema implementations show up to 40% more AI Overview appearances (Stackmatix, 2026).

TL;DR

One event = one URL with one Event JSON-LD block, accurate eventStatus, correct eventAttendanceMode, full location (or virtualLocation), offers for tickets, and an organizer. Recurring events use one Event per occurrence linked by superEvent. Update eventStatus immediately when something changes.

Why event queries are a distinct AEO category

Event queries are time- and location-sensitive. The right answer today is wrong tomorrow. AI assistants treat event facts (date, status, venue, tickets) as ground truth they will surface verbatim, so the structured data must be accurate or the citation goes to a competitor. Eventbrite reported a 100% increase in typical year-over-year growth of Search traffic after Event rich results launched, illustrating how much demand routes through structured-event surfaces (Google, 2026).

Required schema fields

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Geodocs Summit 2026",
  "startDate": "2026-09-12T09:00:00-07:00",
  "endDate": "2026-09-13T17:00:00-07:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
  "location": [
    {
      "@type": "Place",
      "name": "Moscone West",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "800 Howard St",
        "addressLocality": "San Francisco",
        "addressRegion": "CA",
        "postalCode": "94103",
        "addressCountry": "US"
      }
    },
    {
      "@type": "VirtualLocation",
      "url": "https://summit.geodocs.dev/live"
    }
  ],
  "image": ["https://geodocs.dev/summit/cover.jpg"],
  "description": "Two-day GEO and AEO summit for content and engineering teams.",
  "organizer": {
    "@type": "Organization",
    "name": "Geodocs",
    "url": "https://geodocs.dev"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://geodocs.dev/summit/tickets",
    "price": "499",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "validFrom": "2026-05-01T00:00:00-07:00"
  },
  "performer": [
    { "@type": "Person", "name": "Keynote: Lin Ito" }
  ]
}

eventStatus values

Use the right value and update it as soon as facts change:

  • EventScheduled (default).
  • EventCancelled — do not delete the page; flip status and keep the URL alive.
  • EventPostponed — status alone, dates TBD.
  • EventRescheduled — keep previousStartDate for context.
  • EventMovedOnline — set eventAttendanceMode to OnlineEventAttendanceMode and keep location as VirtualLocation.

AI assistants surface eventStatus verbatim. Stale EventScheduled on a cancelled event is a common citation-trust failure.

eventAttendanceMode

  • OfflineEventAttendanceMode for in-person only.
  • OnlineEventAttendanceMode for virtual only.
  • MixedEventAttendanceMode for hybrid.

Google's Rich Results Test occasionally fails to detect virtual-only events; hybrid mode with both Place and VirtualLocation is more robust if the event qualifies (Google Search Central thread, 2025).

URL strategy

Google requires "events must have a unique URL" and "each page should focus on a single event" (Google, 2026). For AI synthesis the same rule holds: one event per URL, one canonical schema block, no overlapping content for adjacent events.

  • Single event → /events/.
  • Recurring/series → one parent series page (EventSeries) plus one URL per occurrence (/events//2026-09-12).
  • Past events: keep the URL alive with eventStatus: EventScheduled (historical) and a clear past-event banner.

Recurring events

Use one Event per occurrence, linked via superEvent to the parent EventSeries. Avoid the temptation to use a single page for an entire series — AI assistants cannot disambiguate which date the user asked about and may cite none.

{
  "@type": "Event",
  "name": "Weekly GEO Office Hours — May 8",
  "startDate": "2026-05-08T15:00:00-07:00",
  "superEvent": {
    "@type": "EventSeries",
    "name": "Weekly GEO Office Hours",
    "url": "https://geodocs.dev/events/office-hours"
  }
}

Page content

Around the schema, the visible page should answer the high-frequency questions an AI is likely to ask:

  1. What is this event? (one-paragraph summary at the top.)
  2. When and where is it? (dates, times with timezone, full venue.)
  3. Who is it for and what will I learn?
  4. How much does it cost and how do I register?
  5. What's the schedule / agenda?
  6. Who is speaking / performing?
  7. What is the cancellation/refund policy?
  8. Is it accessible (captioning, mobility, dietary)?

Common mistakes

  • Single page covering multiple recurring sessions (no per-date URL).
  • Stale eventStatus after cancellation or postponement.
  • Missing endDate on multi-day events.
  • Time zone confusion: always include timezone offset in startDate/endDate.
  • Tickets behind a login with no Offer.url. AI assistants need a public ticket URL.
  • Mismatched address between schema and visible page; cross-checked by AI extractors.
  • Deleting cancelled-event pages instead of updating status. Erodes citation trust.

Measurement

Monitor a fixed prompt suite per event family:

  1. "events near me [city] [date range]".
  2. "is [event name] still happening".
  3. "how do I get tickets to [event]".
  4. "who is speaking at [event]".

Track citation share weekly. For recurring series, also track post-occurrence "recap of [event]" prompts; those queries route to past-event pages, which is why keeping URLs alive matters.

FAQ

Q: Do I need separate pages for the in-person and virtual versions of a hybrid event?

No. Use one page with eventAttendanceMode: MixedEventAttendanceMode and both a Place and a VirtualLocation in the location array. This is also more robust against the Rich Results Test edge cases for virtual-only events.

Q: How quickly should I update eventStatus after a change?

Immediately, ideally within an hour. AI summaries can reflect the old status until the page is recrawled. Pair the schema change with an IndexNow ping and a Google URL Inspection request.

Q: Should I delete cancelled-event pages?

No. Update eventStatus to EventCancelled and keep the page live with a clear cancellation note. Deleting the URL breaks citations and forfeits the page's earned authority.

Q: Does Event schema work for free events?

Yes. Use an Offer with price: "0" and priceCurrency set to the local currency. AI assistants surface free-event filters when this is correct.

Q: What about EventBrite or Luma listings — do those replace my own schema?

They complement, not replace. Always run schema on your own canonical event page; the third-party listing is a secondary citation source.

Related Articles

checklist

AEO Content Checklist

A 30-point AEO content checklist across five pillars (Answerability, Authority, Freshness, Structure, Entity Clarity) to make pages reliably AI-citable in 2026.

framework

AEO for Product Queries

AEO playbook for product queries: Product schema, merchant feeds, AggregateRating, third-party comparison sources, and AI shopping citation patterns across ChatGPT, Perplexity, and Google AI Mode.

guide

Structured Data for AI Search

How to implement structured data (JSON-LD / Schema.org) to improve AI search visibility. Covers TechArticle, FAQPage, HowTo, and entity definitions.

Topics
Stay Updated

GEO & AI Search Insights

New articles, framework updates, and industry analysis. No spam, unsubscribe anytime.