構造化データ
イベント Schema バリデーター
Event(または MusicEvent、SportsEvent、Festival など 20 種類以上のサブタイプ)の JSON-LD を貼り付けると、Google のイベント構造化データガイドラインに沿った完全な仕様チェックが得られます:日付、location/VirtualLocation、eventAttendanceMode、eventStatus の遷移、そして Offer の各フィールド。
すべてブラウザ内で完結します。匿名の利用回数を除き、貼り付けた内容がどこかに送信されることはありません。
<script type="application/ld+json"> ブロックの中身、またはページ全体の HTML を貼り付けてください — すべての JSON-LD ブロックが自動的に抽出されます。
このツールがチェックする内容と、よくあるミスの直し方
Google がイベントリッチリザルト(日付・会場・チケットリンクを検索結果に直接表示)を出すのは、Event の JSON-LD が構文的に正しく、かつ内容が完全な場合のみです。このツールは検索エンジンが実際に読み取る Place、VirtualLocation、Offer のネストされたオブジェクトそのものを解析します — 単なるフラットなプロパティ一覧ではありません。
最も多い失敗は日付です。startDate と endDate は本物の ISO 8601 形式("2026-09-12T19:00:00+07:00" であり "9/12/2026" ではない)である必要があり、タイムゾーンオフセットを付けることを強く推奨します。また endDate が startDate より前になることは決してありません。startDate がすでに過ぎているのに eventStatus が依然として "EventScheduled" の場合、Google は通常そのイベントを表示しません — マークアップを削除するか、ステータスを更新してください。
location は明確に解決できる必要があります。対面イベントには name と完全な address を持つ Place が必要です。完全オンラインのイベントでは eventAttendanceMode を "OnlineEventAttendanceMode" に設定し、Place の代わりに(ハイブリッドイベントでは Place と並べて)実際の URL を持つ VirtualLocation が必要です。eventStatus を "EventMovedOnline" に設定しても参加形式と location を連動して変更しないのは、検証に失敗するよくある矛盾です。
すべての Offer には price と、priceCurrency として有効な 3 文字の通貨コード(ISO 4217、例:"IDR" や "USD")を別々のフィールドとして設定する必要があります — price の文字列に通貨記号を混ぜてはいけません。さらに認識可能な availability 値("InStock"、"SoldOut"、"PreOrder" など)と直接のチケット URL も必要です。複数のチケット階層がある場合は Offer オブジェクトの配列、または有効な lowPrice/highPrice の範囲を持つ AggregateOffer を使用してください。
"EventRescheduled" と "EventPostponed" には、Google が変更内容を表示できるように previousStartDate を含めるべきです。ページに複数の Event レコードがある場合、このツールは重複の可能性も検出します — 同じ name と startDate が2回現れる場合、通常は2つの別イベントではなく、誤って二重に貼り付けたことを意味します。