Guide : Event Schema

Comment implement schema.org/Event markup pour Google's event résultats enrichis — requis properties (nom, startDate, emplacement), pourquoi virtual-seulement events ne sont pas eligible, le four eventStatus valeurs, et le un-event-un-URL règle.

Première publication : 1 juil. 2026 · Dernière mise à jour : 3 août 2026 · Avancé
1 indice probant sur cette page

«Event schema (schema.org/Event) is structured data — usually JSON-LD — that tells search engines an event's name, date, location, and ticketing details so an individual event page can qualify for Google's event rich result. Google requires exactly three properties: name, startDate, and location. The single biggest myth to bust: as of Google's current (December 2025) docs, virtual-only events aren't eligible for the event rich result — 'Virtual experiences that have no real-world component aren't supported. Events must take place in a physical location.' That contradicts a lot of still-circulating 2020 pandemic-era advice that treats eventAttendanceMode=OnlineEventAttendanceMode and VirtualLocation as sufficient on their own; those properties are still valid schema.org but don't unlock the rich result for an online-only event. Other load-bearing rules: each event needs its own unique leaf-page URL (listing pages don't qualify), you must never strip startDate or location when updating eventStatus (EventScheduled, EventCancelled, EventPostponed, EventRescheduled), and marking up sales, coupons, or non-events has historically triggered manual actions. Valid markup only makes you eligible; Google still decides whether to show it.» _(Traduction)_ (Résumé en français du champ tldr : le texte source est conservé pour relecture francophone.)

TL;DR — schema.org/Event markup (généralement JSON-LD) on an individual event page peut faire il eligible pour Google’s event rich résultat. Google exige three properties: name, startDate, location. Le charger-bearing fact de ce entier topic: per Google’s actuel (Dec 2025) docs, virtual-seulement events ne sont pas pris en charge — “Events must take place in a physical location.” eventAttendanceMode et VirtualLocation sont valide schema.org (ajouté dans le 2020 COVID era) mais ne pas unlock le rich résultat pour an online-seulement event. Autre règles personnes miss: un event = un unique leaf URL (listing pages ne pas qualify); quand vous modifier eventStatus (EventScheduled / EventCancelled / EventPostponed / EventRescheduled) vous doit jamais strip startDate or location; multi-day est un Event, plusieurs ticketed performances sont séparé Events; et marking up sales, coupons, or non-events est contre policy et a drawn manual actions. Valide markup seulement earns eligibility.

Ce que Event schema fait — and ce que it doesn’t

Event schema est le schema.org/Event vocabulary vous put on an event page donc recherche moteurs peut lire le event’s nom, timing, emplacement, et ticketing. On Google, correctement implemented markup on an individual event page rend il eligible pour le event rich résultat — le enhanced listing et le dedicated event-recherche experience Google exécute pour event-related requêtes.

Ce que il ne fait pas faire: il n’est pas a facteur de classement, et il n’est pas a magic switch. Comme chaque kind de données structurées, il rend une page eligible pour a spécifique recherche fonctionnalité — il ne fait pas lift votre organique positions et il ne fait pas guarantee le fonctionnalité montre. Preuve à l’appui de cette affirmation Google's event feature excludes promotional non-events and requires each event to have a unique page focused on that event. Portée : Google Search Event content guidelines; valid Schema.org markup alone does not establish eligibility. Niveau de confiance : élevé · Vérifié : Google: Event structured data

Requis properties: nom, startDate, emplacement

Google est explicit que vous doit inclure le requis properties: “Vous doit inclure le requis properties pour votre contenu à être eligible pour afficher dans enhanced résultats de recherche.” Pour Event, c’est three:

«- name (Text) — the full title of the event. Google’s rule is specific: don’t use the name of the venue as the event name (that’s what location.name is for), don’t use the type of event (“Concert” is not a descriptive name), and don’t stuff it with URLs, prices, performers, or “short-term promotions (for example, ‘buy your tickets now’).” Google’s own before/after: not “Bill Graham Civic Auditorium” and not “LIMITED TIME SALE - Kesha and Macklemore Concert - $25”, but “The Adventures of Kesha and Macklemore” or “Meet and Greet: Kesha and Macklemore.” » (Traduction) (Résumé en français de la section vingt-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- startDate (DateTime) — “The start date and start time of the event in ISO-8601 format. Add both the date and time so users can find events that fit into their schedule.” » (Traduction) (Résumé en français de la section vingt-neuf, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- location (Place) — set @type to Place and add location.name and location.address. Google’s steer on the address: be specific — not just “Sydney” but “Bennelong Point, Sydney NSW 2000, Australia.” And its best-practice notes for tricky cases: “If the event happens across several streets, define the starting location and mention the full details in description. If the event happens without a well-defined location, use the city name or the most representative location. If the event happens at multiple locations at the same time, create different events for each location.” » (Traduction) (Résumé en français de la section vingt-neuf, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)

Au-delà le requis three, ces faire le listing fuller et sont worth ajout:

  • endDate — même ISO-8601 format as startDate.
  • eventStatus — le scheduled/canceled/postponed/rescheduled state (voir le dedicated section ci-dessous).
  • image — Google’s general image guidance s’applique; provide plusieurs images à 1x1, 4x3, et 16x9 aspect ratios.
  • offers (an Offer) — url, price, priceCurrency, availability (e.g. InStock, SoldOut, PreOrder), et validFrom pour quand tickets go on sale.
  • performer (Person / PerformingGroup) et organizer (Organization / Person, avec name et url).
  • description — Google’s guidance: “Focus on le event details et pas votre site’s fonctionnalités. ne pas repeat autre facts comme date et emplacement; à la place, ajouter que information à le respective properties.” Remarque il seulement montre a extrait.

Virtual and hybrid events: ce que Google’s current docs en réalité dire

Ce est le section que separates actuel guidance depuis le recycled 2020 advice encore tout over le web, donc lire il carefully.

«Google’s current documentation states, verbatim: “Virtual experiences that have no real-world component aren’t supported. Events must take place in a physical location.” That means a purely virtual, online-only event has no path into Google’s event rich result — regardless of how you mark it up.

Preuve à l’appui de cette affirmation Google's current Event rich-result documentation says purely virtual events without a real-world component are not supported. Portée : Google Search Event rich-result requirements; Schema.org still defines online-attendance and VirtualLocation vocabulary. Niveau de confiance : élevé · Vérifié : Google: Event structured data

» (Traduction) (Résumé en français de la section trente-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Ici’s le nuance que trips personnes up. Back dans March 2020, à le commencer de le pandemic, Google announced nouveau Event properties donc publishers pourrait communicate que events avait déplacé online or été canceled: an eventAttendanceMode (avec OnlineEventAttendanceMode / OfflineEventAttendanceMode / MixedEventAttendanceMode valeurs), le eventStatus valeurs, et prise en charge pour VirtualLocation. Ceux properties sont encore valide schema.org vocabulary — nobody supprimé les. Mais le actuel Recherche Central Event doc ne … plus documents an online-event exemple et states outright que virtual-seulement events ne sont pas pris en charge pour le rich résultat.

Donc le honest, actuel position:

  • A physical emplacement est le anchor. Virtual et hybrid events probable encore besoin a real-world emplacement component à qualify pour le event experience — parce que Google exige que physical emplacement.
  • eventAttendanceMode et VirtualLocation ne sont pas useless — ils sont legitimate markup pour a hybrid event que fait ont a réel venue, et ils sont utile pour autre consumers de le données (votre propre systèmes, autre moteur de recherches, et AI/LLM understanding). Ils simplement ne pas, par themselves, obtenir an online-seulement event dans Google’s rich résultat.
  • Si vous exécuter webinars or online-seulement events, ne pas expect le event rich résultat. Utiliser le markup pour machine-readability si vous comme, mais plan votre visibility autour le rest de votre SEO, pas le event experience.

Je vouloir à être precise ici plutôt que sensational: ce est pas “virtual events are banned.” c’est que a virtual event avec aucun real-world component n’est pas eligible pour le spécifique event rich résultat. La plupart de le competing contenu on ce topic encore treats OnlineEventAttendanceMode as a actif Google fonctionnalité que obtient an online event dans le rich résultat on son propre. Straight depuis Google’s actuel docs, c’est pas Comment cela fonctionne.

Preuve à l’appui de cette affirmation Google's current Event rich-result documentation says purely virtual events without a real-world component are not supported. Portée : web Niveau de confiance : élevé · Vérifié : Event structured data

«## Handling event status: EventScheduled, EventCancelled, EventPostponed, EventRescheduled » (Traduction) (Résumé en français de la section quarante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«eventStatus takes one of four values, and there’s one rule that dwarfs the rest: never remove startDate or location when the status changes. Google warns: “When the event status changes, DON’T remove the startDate. The startDate property is required to help identify the unique event.” » (Traduction) (Résumé en français de la section quarante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Si vous ne pas définir eventStatus à tout, Google treats le event as EventScheduled (le normal, going-ahead state). Le autre three:

«- EventCancelled — the event won’t happen. Google: “Don’t remove or change other properties (for example, don’t remove startDate or location); instead, keep all values as the same as they were before the cancelation, and update the eventStatus to EventCancelled. Why? Properties like startDate and location help identify the unique event and make sure people understand the new status of the event.” » (Traduction) (Résumé en français de la section quarante-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- EventPostponed — it will happen, but the new date isn’t known yet. Google: “The event has been postponed to a later date, but the date isn’t known yet. Keep the original date in the startDate of the event until you know when the event will take place. Once you know the new date information, change the eventStatus to EventRescheduled and update the startDate and endDate with the new date information.” » (Traduction) (Résumé en français de la section quarante-trois, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- EventRescheduled — a new date is confirmed. Google: “The event has been rescheduled to a later date. Update the startDate and endDate with the relevant new dates. Optionally, you can also mark the eventStatus field as rescheduled and add the previousStartDate.” » (Traduction) (Résumé en français de la section quarante-trois, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)

Le distinction personnes la plupart souvent blur: EventPostponed et EventCancelled sont pas interchangeable. Cancelled signifie c’est off; postponed signifie c’est happening plus tard on a date vous ne pas know yet — et vous devez upgrade postponed à rescheduled (avec previousStartDate) une fois vous faire know.

«## One event, one URL — why listing pages don’t qualify » (Traduction) (Résumé en français de la section quarante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Google is unambiguous: “Each event MUST have a unique URL (a leaf page) and markup on that URL,” and “The event experience on Google only supports pages that focus on a single event. We recommend focusing on adding markup to your event posting pages instead of pages that list schedules or multiple events.”

Preuve à l’appui de cette affirmation Google's event feature excludes promotional non-events and requires each event to have a unique page focused on that event. Portée : web Niveau de confiance : élevé · Vérifié : Event structured data

» (Traduction) (Résumé en français de la section quarante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«This is one of the most common implementation mistakes for venues and ticketing platforms — marking up a calendar or “upcoming events” listing page and expecting a rich result for each event on it. That page doesn’t qualify. Each event needs its own dedicated page with its own markup. » (Traduction) (Résumé en français de la section quarante-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Multi-day events vs. multiple performances » (Traduction) (Résumé en français de la section quarante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«These are handled differently, and it trips up a lot of implementations: » (Traduction) (Résumé en français de la section quarante-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«- A single event that spans several days → one Event with the startDate and endDate covering the range. Google: “If your event or ticket info is for an event that runs over several days, specify both the start and end dates of the event.” » (Traduction) (Résumé en français de la section cinquante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Multiple distinct ticketed performances across days → a separate Event for each. Google: “If there are several different performances across different days, each with individual tickets, add a separate Event element for each performance.” » (Traduction) (Résumé en français de la section cinquante, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)

«For genuinely recurring series, schema.org has EventSeries and eventSchedule properties. They’re valid markup — but I’d treat them as “valid schema.org, unconfirmed rich-result impact” rather than a guaranteed path to the event experience. When in doubt, follow Google’s documented pattern: one Event per performance. » (Traduction) (Résumé en français de la section cinquante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Content policies — what gets events disapproved (and manually actioned) » (Traduction) (Résumé en français de la section cinquante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Event markup has a real spam-enforcement history, so this isn’t hypothetical. Google requires that “Each event must accurately describe the event name, start date, and location,” and it spells out what not to mark up as an event: » (Traduction) (Résumé en français de la section cinquante-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«- Non-events. Google: *“Don’t promote non-event products or services such as ‘Trip package: San Diego/LA, 7 nights’ as events. Don’t add short-term discounts or purchase opportunities, such as: ‘Concert — buy your tickets now,’ or ‘Concert

  • 50% off until Saturday.’ Don’t mark business hours as events, such as: ‘Adventure park open 8 AM to 5PM.’ Don’t mark coupons or vouchers as events, such as: ‘5% off your first order.’”* » (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Membership/invitation-only events. Google: “Events must be bookable to the general public. Events that require a membership, or invitation prior to purchasing the ticket or attending the event are ineligible for the event experience.” » (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- School/minors on-premise events. Google: “Spectator events where the primary participants and audience are minors and occur on-premise of a school aren’t eligible for the event experience.” » (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)

«And there are teeth behind this. Google: “If your site violates one or more of these guidelines, then Google may take manual action against it. Once you have remedied the problem, you can submit your site for reconsideration.” This isn’t theoretical — Google was reported to have issued manual actions against sites using Event markup to promote sales and coupons rather than genuine events, which is exactly the “don’t add short-term discounts” and “don’t mark coupons as events” guidance above. (I’d verify the specifics against a primary source before treating any particular case as canonical — the enforcement pattern is well established regardless.) » (Traduction) (Résumé en français de la section cinquante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Date and time formatting » (Traduction) (Résumé en français de la section cinquante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Use ISO-8601, and include the timezone offset. Google’s guidance: specify the timezone by including the UTC/GMT offset — an event at 7pm on September 5 in New York should carry the -04:00 or -05:00 offset. For a genuinely day-long event where the hour is unknown or irrelevant, use the date only (no time). And don’t fake a midnight start: a value like 2019-08-15T00:00:00+00:00 for an event whose start time you don’t actually know reads to Google as literally midnight, which is almost certainly wrong. » (Traduction) (Résumé en français de la section cinquante-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Event subtypes: base Event vs. MusicEvent, BusinessEvent, etc. » (Traduction) (Résumé en français de la section cinquante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«schema.org has subtypes — MusicEvent, BusinessEvent, EducationEvent, SportsEvent, and more. You don’t have to use them: the base Event type is valid and sufficient, and Google’s documented required/recommended properties apply the same way regardless. Subtypes add more specific semantic tagging if you want it, but “you must use MusicEvent” is a myth — base Event is fine. » (Traduction) (Résumé en français de la section cinquante-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Bing and Event schema » (Traduction) (Résumé en français de la section soixante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Bing doesn’t publish an Event-specific structured-data help page the way Google does. Its general reference — Marking Up Your Site with Structured Data — confirms Bing supports the schema.org vocabulary broadly (along with Microdata, RDFa, and Open Graph), without Event-specific required/recommended property lists. I’m not going to invent Bing Event support that doesn’t have a documentation page behind it. The honest framing: Bing rewards well-formed schema.org markup generally and won’t punish you for including Event schema, but it has no equivalent of Google’s dedicated event rich-result/search experience. So the primary motivation for Event markup remains Google — plus general machine-readability for AI/LLM consumption. » (Traduction) (Résumé en français de la section soixante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Validating and troubleshooting » (Traduction) (Résumé en français de la section soixante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Validate the markup with Google’s Rich Results Test, and monitor the Events report and enhancements in Search Console. A note on regional availability: Google’s event search experience is available in a specific set of countries/languages, and that list changes — verify the current availability directly on Google’s docs page at the time you implement, rather than trusting a stale list. » (Traduction) (Résumé en français de la section soixante-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«## Where this sits » (Traduction) (Résumé en français de la section soixante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

«Event schema is one of the Social & Community schema types in the broader structured-data picture, alongside markup like DiscussionForumPosting, FAQPage, HowTo, QAPage, and SoftwareApplication. For the vocabulary as a whole and how these pieces fit together, see the broader Schema Markup and Structured Data hubs this article nests under. » (Traduction) (Résumé en français de la section soixante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Ajouter une note d’expert

Épingler une citation d’expert

Nouvelle personne ? Créez son profil non revendiqué à /admin/experts/ → Épingler une citation d’expert d’abord.