Domain 54 / 225
Event 構造化データはイベント検索エクスペリエンスへの掲載権を獲得する
Event schema の要点
Event 構造化データはイベント情報を Google が認識し、Google 検索のイベントエクスペリエンスや Google マップに掲載するための実装。必須プロパティは name / startDate / location など。オンラインイベントは VirtualLocation で実装、複数日は startDate と endDate で範囲指定
なぜこれを学ぶか
Event 構造化データは イベント主催者が Google 検索のイベントエクスペリエンスから集客できる主要施策。 Eventbrite の事例では Google からのトラフィックが年比 100% 増加した。
イベント・セミナー・ライブ・展示会・コンサートを運営する全業態で必須。
学ばないと起きること
| よくある事故 | 被害 |
|---|---|
| Event 構造化データなしで公開 | Google イベントエクスペリエンスから外れる |
| 複数日イベントで startDate のみ指定 | 終了日が認識されず、長期イベントとして扱われない |
| オンラインイベントで physicalLocation を指定 | VirtualLocation を使うべき、Google が場所を認識しない |
| 開催終了後も構造化データを残す | 「予定 / 過去」の判定が曖昧になる |
| eventStatus を更新しない | 中止 / 延期 が伝わらない |
学ぶメリット
- イベントエクスペリエンスからの流入を取れる
- Google マップでイベント表示候補に
- オンライン / ハイブリッドイベントを正しく構造化できる
- 商談で「VirtualLocation の使い方」を即答できる
仕組み
必須プロパティ
| プロパティ | 内容 |
|---|---|
name | イベント名 |
startDate | 開始日時(ISO 8601) |
location | 場所(Place / VirtualLocation) |
推奨プロパティ
| プロパティ | 内容 |
|---|---|
endDate | 終了日時 |
description | イベント説明 |
image | イベント画像 |
offers | チケット情報 |
performer | 出演者 |
organizer | 主催者 |
eventStatus | スケジュール状況 |
eventAttendanceMode | 参加形式(オフライン / オンライン / ハイブリッド) |
実装例(オフラインイベント)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "spotyou カンファレンス 2026",
"startDate": "2026-09-15T10:00:00+09:00",
"endDate": "2026-09-15T18:00:00+09:00",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "Place",
"name": "東京国際フォーラム",
"address": {
"@type": "PostalAddress",
"streetAddress": "丸の内 3-5-1",
"addressLocality": "千代田区",
"addressRegion": "東京都",
"postalCode": "100-0005",
"addressCountry": "JP"
}
},
"image": ["https://example.com/event.jpg"],
"description": "SEO / AEO の最新動向を学ぶ年次カンファレンス",
"offers": {
"@type": "Offer",
"url": "https://example.com/tickets",
"price": "5000",
"priceCurrency": "JPY",
"availability": "https://schema.org/InStock",
"validFrom": "2026-05-01T00:00:00+09:00"
},
"performer": {
"@type": "Organization",
"name": "spotyou"
},
"organizer": {
"@type": "Organization",
"name": "spotyou",
"url": "https://spotyou.ai"
}
}
</script>
キー概念
eventAttendanceMode の値
| 値 | 意味 |
|---|---|
OfflineEventAttendanceMode | 物理会場のみ |
OnlineEventAttendanceMode | オンラインのみ |
MixedEventAttendanceMode | ハイブリッド |
eventStatus の値
| 値 | 意味 |
|---|---|
EventScheduled | 開催予定 |
EventCancelled | 中止 |
EventMovedOnline | オンラインに移行 |
EventPostponed | 延期 |
EventRescheduled | 日時変更 |
中止や延期があれば必ず更新する。
オンラインイベントの location
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://zoom.us/j/..."
}
VirtualLocation で zoom URL や YouTube ライブ URL を指定。
ハイブリッドイベントの location
物理会場 + オンライン両方を提供する場合:
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"location": [
{
"@type": "Place",
"name": "東京国際フォーラム",
"address": {...}
},
{
"@type": "VirtualLocation",
"url": "https://zoom.us/j/..."
}
]
複数日 / 繰り返し開催
複数日連続:
"startDate": "2026-09-15T09:00:00+09:00",
"endDate": "2026-09-17T18:00:00+09:00"
繰り返し(毎週など)は EventSeries 構造化データを使うか、各回別 URL + 別 Event 構造化データで実装。
offers のチケット情報
"offers": {
"@type": "Offer",
"url": "https://example.com/tickets",
"price": "5000",
"priceCurrency": "JPY",
"availability": "https://schema.org/InStock",
"validFrom": "2026-05-01T00:00:00+09:00",
"category": "前売り券"
}
複数価格帯(前売り / 当日 / 学生)は offers を配列で。
よくある誤解
| よくある誤解 | 実際のところ | 出典 |
|---|---|---|
| オンラインイベントは Place で URL を指定 | VirtualLocation を使う、Place は物理会場用 | Event 構造化データ |
| 中止や延期したら構造化データを削除 | eventStatus を Cancelled / Postponed に更新する | 同上 |
| 複数日イベントは startDate だけで OK | endDate も指定して期間を明示 | 同上 |
| 1 日に複数回開催も同じ Event 構造化データ | 各回を別 Event で実装、または EventSeries | 同上 |
| 終了したイベントの構造化データはすぐ削除 | 履歴として残しても OK、ただし古い日付の混乱を避けるため expires を指定 | 同上 |
| location は文字列で住所を書ける | Place オブジェクト + PostalAddress で構造化 | 同上 |
| eventAttendanceMode は省略可 | オンライン / ハイブリッドの認識のため指定推奨 | 同上 |
| performer は省略 OK | 推奨プロパティ、省略するとリッチリザルトの表示要素が減る | 同上 |
実務での適用
イベント告知ページのチェックリスト
- Event 構造化データの必須プロパティ完備
- eventAttendanceMode を正しく指定(オフライン / オンライン / ハイブリッド)
- eventStatus を初期は EventScheduled
- offers にチケット情報(複数価格帯は配列)
- organizer / performer を Organization オブジェクトで
- リッチリザルトテストでイベント詳細プレビュー確認
イベント中止時の対応
- eventStatus を
EventCancelledに変更 - 必要なら description に「中止のお知らせ」を追加
- ページを残すか 410 で完全削除を選択
- URL 検査で再クロール要求
トラブル別の対処
| 症状 | 確認すべきこと |
|---|---|
| イベントエクスペリエンスに表示されない | Event 構造化データの必須プロパティ、startDate / location |
| オンラインイベントが認識されない | VirtualLocation を使っているか、URL が有効か |
| Search Console「拡張」で Event エラー | 必須プロパティの欠落、startDate の形式 |
| 中止したイベントが Google に残り続ける | eventStatus を Cancelled に更新 |
| 複数日イベントが 1 日扱い | endDate を指定して期間を明示 |
公式ソース
自己テスト
Q1. Event 構造化データの必須プロパティは?
name / startDate / location
Q2. オンラインイベントの location はどう指定するか?
VirtualLocation オブジェクトで URL を指定。Place は物理会場用
Q3. ハイブリッドイベントの実装方法は?
eventAttendanceMode を MixedEventAttendanceMode に、location を Place と VirtualLocation の配列で指定
Q4. イベントを中止した時の正しい対応は?
eventStatus を EventCancelled に更新する。構造化データを削除するのでなく、状態変更で Google に伝える
Q5. 複数日イベントの正しい指定は?
startDate と endDate で開始 / 終了日時を ISO 8601 形式で指定
Q6. offers に複数価格帯(前売り / 当日 / 学生)を入れる方法は?
offers を配列にして各 Offer オブジェクトを並べる
Q7. eventAttendanceMode を省略するとどうなる?
Google がオンライン / オフラインを推測しなければならず、認識精度が下がる。指定推奨
Q8. eventStatus の主な値は?
EventScheduled / EventCancelled / EventMovedOnline / EventPostponed / EventRescheduled
これらの内容を採点付きで挑戦したい場合は、本ドメインのプロ試験で 5 問形式で確認できる。