Event スキーマ:Google の要件と実装ガイド

schema.org/Event を実装する方法を解説。Google のイベントリッチリザルトに必要な name、startDate、location、オンライン限定イベントの制約、4つの eventStatus、1イベント1URLの原則を確認します。

このページには証拠シグナルが1件あります

Event スキーマ(schema.org/Event)は、イベント名、日時、開催場所、チケット情報を検索エンジンへ伝える構造化データで、通常は JSON-LD で実装します。Google のイベントリッチリザルトで必須なのは name、startDate、location の3つです。現行ドキュメントでは、現実の要素がないオンライン限定イベントは対象外で、物理的な開催場所が必要です。イベントごとに固有の末端ページURLを用意し、eventStatus(EventScheduled、EventCancelled、EventPostponed、EventRescheduled)を更新しても startDate と location を削除してはいけません。セールやクーポンなどをイベントとしてマークアップするとポリシー違反になり得ます。有効なマークアップは表示資格を与えるだけで、表示自体は Google が判断します。

要点 — 個別のイベントページに schema.org/Event マークアップ(通常は JSON-LD)を実装すると、Google のイベントリッチリザルトの対象になり得ます。必須プロパティは name、startDate、location の3つです。特に重要なのは、Google の現行ドキュメント(2025年12月時点)ではオンライン限定イベントがサポートされないことです。原文は “Events must take place in a physical location.” (翻訳)「イベントは物理的な場所で開催される必要があります。」eventAttendanceMode と VirtualLocation は2020年のコロナ禍に追加された有効な schema.org 語彙ですが、それだけでオンライン限定イベントのリッチリザルトを有効にはできません。さらに、1イベントにつき固有の末端URLが1つ必要で一覧ページは対象外、eventStatus(EventScheduled / EventCancelled / EventPostponed / EventRescheduled)を変更しても startDate と location を削除しない、複数日にわたる単一イベントは1つの Event、個別にチケットを販売する複数公演は別々の Event とする、といった規則があります。セール、クーポン、イベントではないものへのマークアップはポリシー違反で、手動対策の対象となった例もあります。有効なマークアップが得るのは、あくまで表示の対象資格です。

Event スキーマでできること、できないこと

Event スキーマは、イベント名、開催日時、場所、チケット情報を検索エンジンが読み取れるように、イベントページへ追加する schema.org/Event 語彙です。個別イベントのページに正しく実装すると、Google の強調表示や専用イベント検索体験であるイベントリッチリザルトの対象になり得ます。

一方、ランキング要因でも万能なスイッチでもありません。他の構造化データと同様に、特定の検索機能への対象資格をページに与えるだけです。自然検索順位を押し上げるものではなく、表示も保証されません。 この主張の根拠 Google's event feature excludes promotional non-events and requires each event to have a unique page focused on that event. 対象範囲: Google Search Event content guidelines; valid Schema.org markup alone does not establish eligibility. 信頼度: 高 · 検証日: Google: Event structured data

必須プロパティ:name、startDate、location

Google は必須プロパティを含めるよう明確に求めています。“You must include the required properties for your content to be eligible for display in enhanced search results.” (翻訳)「コンテンツが拡張検索結果の表示対象となるには、必須プロパティを含める必要があります。」Event では次の3つです。

  • name(Text)— イベントの正式名称。Google は、会場名をイベント名に使わない(会場名は location.name に入れる)、単なるイベント種別(「Concert」など)を名前にしない、URL、価格、出演者、“short-term promotions (for example, ‘buy your tickets now’).” (翻訳)「『今すぐチケットを購入』などの短期的な販促文」を詰め込まないよう求めています。悪い例は “Bill Graham Civic Auditorium” (翻訳)「Bill Graham Civic Auditorium」や “LIMITED TIME SALE - Kesha and Macklemore Concert - $25” (翻訳)「期間限定セール — Kesha and Macklemore コンサート — 25ドル」、良い例は “The Adventures of Kesha and Macklemore” (翻訳)「The Adventures of Kesha and Macklemore」や “Meet and Greet: Kesha and Macklemore.” (翻訳)「ミート&グリート:Kesha and Macklemore」です。
  • 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.” (翻訳)「イベントの開始日と開始時刻を ISO-8601 形式で指定します。利用者が予定に合うイベントを見つけられるよう、日付と時刻の両方を追加してください。」
  • location(Place)— @type を Place にし、location.name と location.address を追加します。住所は “Sydney” だけでなく “Bennelong Point, Sydney NSW 2000, Australia.” (翻訳)「オーストラリア、ニューサウスウェールズ州シドニー2000、Bennelong Point」のように具体的にします。難しいケースについて Google は、“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.” (翻訳)「複数の通りにまたがる場合は開始地点を定め、詳細を description に記載する。明確な場所がない場合は都市名または最も代表的な場所を使う。同時に複数の場所で開催する場合は、場所ごとに別のイベントを作成する」と案内しています。

リッチリザルトを充実させる推奨プロパティ

必須の3項目に加えて、次の情報も入れると表示が充実します。

  • endDate — startDate と同じ ISO-8601 形式。
  • eventStatus — 開催予定、中止、延期、日程変更の状態(後述)。
  • image — Google の一般的な画像ガイドラインに従い、1:1、4:3、16:9 の複数画像を用意します。
  • offers(Offer)— チケットの url、price、priceCurrency、availability(InStock、SoldOut、PreOrder など)、販売開始を示す validFrom。
  • performer(Person / PerformingGroup)と organizer(Organization / Person。name と url を指定)。
  • description — Google は “Focus on the event details and not your site’s features. Don’t repeat other facts like date and location; instead, add that information to the respective properties.” (翻訳)「サイトの機能ではなくイベントの詳細に焦点を当て、日付や場所を本文で繰り返さず、それぞれのプロパティへ入れる」よう案内しています。表示されるのは一部の抜粋です。

バーチャル/ハイブリッドイベント:Google の現行ドキュメントを正しく読む

ここは、今も広く出回る2020年当時の説明と現在のガイダンスを分ける重要な箇所です。

Google の現行ドキュメントの原文: “Virtual experiences that have no real-world component aren’t supported. Events must take place in a physical location.” (翻訳)「現実世界の要素がないバーチャル体験はサポートされません。イベントは物理的な場所で開催される必要があります。」したがって、完全なバーチャル/オンライン限定イベントは、マークアップ方法にかかわらず Google のイベントリッチリザルトへ掲載されません。

この主張の根拠 Google's current Event rich-result documentation says purely virtual events without a real-world component are not supported. 対象範囲: Google Search Event rich-result requirements; Schema.org still defines online-attendance and VirtualLocation vocabulary. 信頼度: 高 · 検証日: Google: Event structured data

混乱の背景があります。パンデミック初期の2020年3月、Google はイベントのオンライン移行や中止を配信者が伝えられるよう、新しい Event プロパティ を発表しました。eventAttendanceMode(OnlineEventAttendanceMode / OfflineEventAttendanceMode / MixedEventAttendanceMode)、eventStatus の各値、VirtualLocation のサポートです。これらは今も有効な schema.org 語彙です。しかし現在の Search Central の Event ドキュメントにはオンラインイベントの例がなく、オンライン限定イベントはリッチリザルトでサポートされないと明記されています。

現時点での正確な整理は、次のとおりです。

  • 物理的な開催場所が基準です。 Google が現実の場所を必須としているため、バーチャル/ハイブリッドイベントも、イベント検索体験の対象になるには実在する会場が必要だと考えられます。
  • eventAttendanceMode と VirtualLocation が無意味なわけではありません。 実会場を持つハイブリッドイベントには正当なマークアップであり、自社システム、他の検索エンジン、AI/LLM など別のデータ利用者にも役立ちます。ただし、これらだけでオンライン限定イベントを Google のリッチリザルトへ掲載することはできません。
  • **ウェビナーやオンライン限定イベントを開催する場合、**イベントリッチリザルトは期待せず、必要なら機械可読性のためにマークアップを使い、可視性は他の SEO 施策で確保してください。

誤解を招く表現は避けるべきです。「バーチャルイベントが禁止された」のではありません。現実世界の要素がないバーチャルイベントが、特定のイベントリッチリザルトの対象外なのです。競合記事の多くは今も、OnlineEventAttendanceMode だけでオンラインイベントが Google のイベント機能へ掲載されるように説明していますが、現行ドキュメントはそう述べていません。

この主張の根拠 Google's current Event rich-result documentation says purely virtual events without a real-world component are not supported. 対象範囲: web 信頼度: 高 · 検証日: Event structured data

イベント状態の扱い:EventScheduled、EventCancelled、EventPostponed、EventRescheduled

eventStatus には4つの値があります。最重要ルールは、状態を変更しても startDate と location を削除しないことです。Google は “When the event status changes, DON’T remove the startDate. The startDate property is required to help identify the unique event.” (翻訳)「イベントの状態が変わっても startDate を削除しないでください。固有のイベントを識別するために必要です」と警告しています。

eventStatus を省略すると、通常どおり開催される EventScheduled として扱われます。ほかの3つは次のとおりです。

  • EventCancelled — イベントは中止。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.” (翻訳)「startDate や location など他のプロパティを削除・変更せず、中止前の値を保ったまま eventStatus だけを EventCancelled に更新する。これらは固有イベントの識別と新しい状態の理解に必要」と説明しています。
  • EventPostponed — 開催はするが、新しい日付は未定。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.” (翻訳)「新日程が決まるまでは元の日付を startDate に残し、決まったら EventRescheduled に変えて startDate と endDate を更新する」と案内しています。
  • EventRescheduled — 新しい日程が確定。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.” (翻訳)「startDate と endDate を新日程へ更新し、任意で eventStatus を日程変更済みにして previousStartDate を追加する」と案内しています。

EventPostponed と EventCancelled は同じ意味ではありません。EventCancelled は中止、EventPostponed は開催予定のまま新日程が未定であることを示します。新日程が決まったら、previousStartDate を追加して EventRescheduled へ更新します。

1イベントにつき1URL:一覧ページが対象外である理由

Google は “Each event MUST have a unique URL (a leaf page) and markup on that URL,” (翻訳)「各イベントには固有のURL(末端ページ)が必須で、そのURL上にマークアップが必要」と明記しています。さらに “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.” (翻訳)「Google のイベント機能は単一イベントに焦点を当てたページだけをサポートするため、スケジュールや複数イベントの一覧ではなく、個別イベントの掲載ページをマークアップする」よう推奨しています。

この主張の根拠 Google's event feature excludes promotional non-events and requires each event to have a unique page focused on that event. 対象範囲: web 信頼度: 高 · 検証日: Event structured data

会場サイトやチケット販売プラットフォームで特に多い誤りは、カレンダーや「今後のイベント」一覧をマークアップし、各イベントのリッチリザルトを期待することです。その一覧ページは対象外です。イベントごとに専用ページと専用マークアップが必要です。

複数日にわたるイベントと複数公演の違い

この2つは扱いが異なり、実装時によく混同されます。

  • 数日間にわたる単一イベント → 期間全体を示す startDate と endDate を持つ1つの Event。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.” (翻訳)「複数日にわたるイベントでは開始日と終了日の両方を指定する」と案内しています。
  • 日をまたいで個別にチケットを販売する複数公演 → 公演ごとに別の Event。Google は “If there are several different performances across different days, each with individual tickets, add a separate Event element for each performance.” (翻訳)「日ごとに異なる公演へ別々のチケットがある場合、各公演に個別の Event 要素を追加する」と案内しています。

実際に繰り返されるシリーズ向けには、schema.org に EventSeries と eventSchedule があります。有効なマークアップですが、イベントリッチリザルトへの効果は確認されていません。迷う場合は Google が示す方式、つまり1公演につき1つの Event に従ってください。

コンテンツポリシー:不承認や手動対策につながるもの

Event マークアップにはスパム対策が実施されてきたため、単なる仮定の話ではありません。Google は “Each event must accurately describe the event name, start date, and location,” (翻訳)「各イベントは名称、開始日、場所を正確に記述しなければならない」とし、イベントとしてマークアップしてはいけないものを明示しています。

  • イベントではないもの。 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.’”* (翻訳)「旅行商品、短期割引、購入機会、営業時間、クーポン、商品券などをイベントとして扱わない」よう求めています。
  • 会員/招待限定イベント。 “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.” (翻訳)「一般の人が予約できなければならず、会員資格や事前招待を必要とするイベントは対象外」です。
  • 学校敷地内で行われる未成年者中心のイベント。 “Spectator events where the primary participants and audience are minors and occur on-premise of a school aren’t eligible for the event experience.” (翻訳)「主な参加者と観客が未成年者で、学校敷地内で行われる観覧イベントは対象外」です。

違反には実際の措置があります。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.” (翻訳)「ガイドライン違反には手動対策を行う場合があり、問題を修正した後に再審査を申請できる」と説明しています。Event マークアップで本物のイベントではなくセールやクーポンを宣伝したサイトに手動対策が行われたとの報告もあり、上記の短期割引やクーポンに関する禁止事項と一致します。ただし個別事例を確定的に扱う前に、一次情報で詳細を確認してください。施行の方針自体は明確です。

日付と時刻の形式

ISO-8601 を使い、タイムゾーンのオフセットを含めます。たとえばニューヨークで9月5日午後7時に始まるイベントなら、UTC/GMT オフセットの -04:00 または -05:00 を指定します。時刻が不明または不要な終日イベントでは日付だけを使います。開始時刻が不明なのに 2019-08-15T00:00:00+00:00 のような値を入れると、Google には実際の深夜0時開始と解釈されるため、架空の時刻を設定しないでください。

Event のサブタイプ:基本の Event と MusicEvent、BusinessEvent など

schema.org には MusicEvent、BusinessEvent、EducationEvent、SportsEvent などのサブタイプがありますが、使用は必須ではありません。基本の Event 型だけで有効かつ十分で、Google の必須/推奨プロパティも同じように適用されます。サブタイプは必要に応じて意味を詳しく示すもので、「MusicEvent を使わなければならない」というのは誤解です。

Bing と Event スキーマ

Bing は Google のような Event 専用の構造化データ解説ページを公開していません。一般資料の 構造化データによるサイトのマークアップ は、Bing が Microdata、RDFa、Open Graph とともに schema.org 語彙を広くサポートすることを示していますが、Event 固有の必須/推奨項目は示していません。文書化されていない Event 対応を推測すべきではありません。正確には、Bing は適切な schema.org マークアップを一般に理解しますが、Google に相当する専用のイベントリッチリザルト/検索体験はありません。そのため、Event マークアップの主目的は Google と、AI/LLM を含む一般的な機械可読性です。

検証とトラブルシューティング

Google の リッチリザルト テスト でマークアップを検証し、Search Console のイベントレポートと拡張機能を監視します。Google のイベント検索体験を利用できる国と言語は限定され、その一覧は変わります。実装時には古い一覧を信用せず、Google のドキュメントで現在の提供状況を確認してください。

構造化データ全体の中での位置づけ

Event スキーマは、構造化データ全体では Social & Community に属するタイプの1つで、DiscussionForumPosting、FAQPage、HowTo、QAPage、SoftwareApplication などと並びます。語彙全体と各要素の関係は、この記事の上位にある Schema Markup と Structured Data の各ハブを参照してください。

専門家メモを追加

専門家の引用を固定

新しい人物ですか?まず、 /admin/experts/ → 専門家の引用を固定 から未登録プロフィールを作成してください。