Panduan Event Schema

cara implement schema.org/Event markup untuk Google's event rich hasil — diperlukan properties (name, startDate, location), mengapa virtual-hanya events tidak eligible, four eventStatus nilai, dan satu-event-satu-URL aturan.

Pertama kali diterbitkan: 1 Jul 2026 · Terakhir diperbarui: 8 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

Event schema (schema.org/Event) adalah data terstruktur — biasanya JSON-LD — itu tells mesin pencari sebuah event's name, date, location, dan ticketing detail so sebuah individual event halaman dapat qualify untuk Google's event rich hasil. Google memerlukan persis three properties: name, startDate, dan location. single biggest myth untuk bust: sebagai dari Google's saat ini (December 2025) docs, virtual-hanya events tidak eligible untuk event rich hasil — 'Virtual experiences itu memiliki Tidak dunia nyata component tidak didukung. Events harus take place di sebuah physical location.' itu contradicts sebuah lot dari masih-circulating 2020 pandemic-era advice itu memperlakukan eventAttendanceMode=OnlineEventAttendanceMode dan VirtualLocation sebagai sufficient pada mereka own; itu properties adalah masih valid schema.org tetapi jangan unlock rich hasil untuk sebuah online-hanya event. lainnya muat-bearing aturan: setiap event perlu -nya own unique leaf-halaman URL (listing halaman jangan qualify), Anda harus tidak pernah strip startDate atau location ketika updating eventStatus (EventScheduled, EventCancelled, EventPostponed, EventRescheduled), dan marking up sales, coupons, atau non-events memiliki secara historis triggered manual tindakan. Valid markup hanya membuat Anda eligible; Google masih decides apakah untuk tampilkan ini.

TL;DR — schema.org/Event markup (biasanya JSON-LD) pada sebuah individual event halaman dapat membuat ini eligible untuk Google’s event rich hasil. Google memerlukan three properties: name, startDate, location. muat-bearing fact dari ini seluruh topic: per Google’s saat ini (Dec 2025) docs, virtual-hanya events tidak didukung — “Events must take place in a physical location.” (terjemahan) “Event harus berlangsung di lokasi fisik.” eventAttendanceMode dan VirtualLocation adalah valid schema.org (ditambahkan di 2020 COVID era) tetapi jangan unlock rich hasil untuk sebuah online-hanya event. lainnya aturan orang miss: satu event = satu unique leaf URL (listing halaman jangan qualify); ketika Anda perubahan eventStatus (EventScheduled / EventCancelled / EventPostponed / EventRescheduled) Anda harus tidak pernah strip startDate atau location; multi-day adalah satu Event, multiple ticketed performances adalah terpisah Events; dan marking up sales, coupons, atau non-events adalah terhadap policy dan memiliki drawn manual tindakan. Valid markup hanya earns eligibility.

Apa Event schema melakukan — dan apa ini tidak

Event schema adalah schema.org/Event vocabulary Anda put pada sebuah event halaman so penelusuran mesin dapat baca event’s name, timing, location, dan ticketing. pada Google, correctly implemented markup pada sebuah individual event halaman membuat ini eligible untuk event rich hasil — enhanced listing dan dedicated event-penelusuran experience Google berjalan untuk event-related kueri.

Apa ini tidak melakukan: ini tidak sebuah peringkat factor, dan ini tidak sebuah magic switch. Like setiap jenis dari data terstruktur, ini membuat sebuah halaman eligible untuk sebuah spesifik penelusuran fitur — ini tidak lift Anda organic positions dan ini tidak jaminan fitur menampilkan. Evidence for this claim Google's event feature excludes promotional non-events and requires each event to have a unique page focused on that event. Scope: Google Search Event content guidelines; valid Schema.org markup alone does not establish eligibility. Confidence: high · Verified: Google: Event structured data

diperlukan properties: name, startDate, location

Google adalah jelas itu Anda harus sertakan diperlukan properties: “Anda harus include itu wajib properties untuk Anda konten untuk menjadi eligible untuk display di enhanced penelusuran hasil.” (terjemahan) “Anda harus sertakan diperlukan properties untuk Anda konten untuk menjadi eligible untuk display di enhanced hasil pencarian.” untuk Event, itu’s three:

  • name (Text) — penuh judul dari event. Google’s aturan adalah spesifik: jangan gunakan name dari venue sebagai event name (itu’s apa location.name adalah untuk), jangan gunakan jenis dari event (“Concert” (terjemahan) “Concert” adalah tidak sebuah descriptive name), dan jangan stuff ini dengan URLs, prices, performers, atau “short-term promotions (untuk example, ‘buy Anda tickets now’).” (terjemahan) “pendek-istilah promotions (untuk contoh, ‘buy Anda tickets now’).” Google’s own sebelum/setelah: tidak “Bill Graham Civic Auditorium” (terjemahan) “Bill Graham Civic Auditorium” dan tidak “LIMITED TIME SALE - Kesha and Macklemore Concert - $25” (terjemahan) “LIMITED TIME SALE - Kesha dan Macklemore Concert - 25 USD”, tetapi “The Adventures of Kesha and Macklemore” (terjemahan) “ Adventures dari Kesha dan Macklemore” atau “Meet and Greet: Kesha and Macklemore.” (terjemahan) “Memenuhi dan Greet: Kesha dan 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.” (terjemahan) “Tanggal dan waktu mulai event dalam format ISO-8601. Sertakan keduanya agar pengguna dapat menemukan event yang sesuai dengan jadwal mereka.”
  • location (Place) — set @type untuk Place dan tambahkan location.name dan location.address. Google’s steer pada address: menjadi spesifik — tidak hanya “Sydney” (terjemahan) “Sydney” tetapi “Bennelong Point, Sydney NSW 2000, Australia.” (terjemahan) “Bennelong poin, Sydney NSW 2000, Australia.” dan -nya best-practice notes untuk 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.” (terjemahan) “jika event happens di seluruh several streets, define starting location dan mention penuh detail di deskripsi. jika event happens tanpa sebuah well-didefinisikan location, gunakan city name atau paling representative location. jika event happens di multiple locations pada saat yang sama, buat berbeda events untuk setiap location.”

Beyond diperlukan three, ini membuat listing fuller dan adalah worth menambahkan:

  • endDate — sama ISO-8601 format sebagai startDate.
  • eventStatus — scheduled/canceled/postponed/rescheduled state (see dedicated bagian di bawah).
  • image — Google’s umum image guidance applies; menyediakan multiple images di 1x1, 4x3, dan 16x9 aspect ratios.
  • offers (sebuah Offer) — url, price, priceCurrency, availability (e.g. InStock, SoldOut, PreOrder), dan validFrom untuk ketika tickets go pada sale.
  • performer (Person / PerformingGroup) dan organizer (Organization / Person, dengan name dan url).
  • description — Google’s guidance: “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.” (terjemahan) “Focus pada event detail dan tidak Anda situs’s fitur. jangan repeat lainnya facts like date dan location; alih-alih, tambahkan itu informasi untuk respective properties.” Note ini hanya menampilkan sebuah snippet.

Virtual dan hybrid events: apa Google’s saat ini docs sebenarnya say

ini adalah bagian itu separates saat ini guidance dari recycled 2020 advice masih semua di atas web, so baca ini dengan hati-hati.

Google’s saat ini documentation status, verbatim: “Virtual experiences that have no real-world component aren’t supported. Events must take place in a physical location.” (terjemahan) “Virtual experiences itu memiliki Tidak dunia nyata component tidak didukung. Events harus take place di sebuah physical location.” itu berarti sebuah purely virtual, online-hanya event memiliki Tidak path ke Google’s event rich hasil — regardless dari bagaimana Anda mark ini up.

Evidence for this claim Google's current Event rich-result documentation says purely virtual events without a real-world component are not supported. Scope: Google Search Event rich-result requirements; Schema.org still defines online-attendance and VirtualLocation vocabulary. Confidence: high · Verified: Google: Event structured data

Di sini’s nuance itu trips orang up. Back di March 2020, di mulai dari pandemic, Google announced baru Event properties so publishers dapat communicate itu events memiliki moved online atau telah canceled: sebuah eventAttendanceMode (dengan OnlineEventAttendanceMode / OfflineEventAttendanceMode / MixedEventAttendanceMode nilai), eventStatus nilai, dan mendukung untuk VirtualLocation. itu properties adalah masih valid schema.org vocabulary — tidak seorang pun dihapus them. tetapi saat ini Penelusuran Central Event doc Tidak lebih lama documents sebuah online-event contoh dan status outright itu virtual-hanya events tidak didukung untuk rich hasil.

So honest, saat ini position:

  • sebuah physical location adalah anchor. Virtual dan hybrid events mungkin masih perlu sebuah dunia nyata location component untuk qualify untuk event experience — karena Google memerlukan itu physical location.
  • eventAttendanceMode dan VirtualLocation tidak useless — mereka’re legitimate markup untuk sebuah hybrid event itu melakukan memiliki sebuah nyata venue, dan mereka’re berguna untuk lainnya consumers dari data (Anda own sistem, lainnya mesin pencari, dan AI/LLM understanding). mereka hanya jangan, oleh themselves, mendapatkan sebuah online-hanya event ke Google’s rich hasil.
  • jika Anda jalankan webinars atau online-hanya events, jangan expect event rich hasil. gunakan markup untuk machine-readability jika Anda like, tetapi plan Anda visibilitas sekitar rest dari Anda SEO, tidak event experience.

I ingin untuk menjadi precise di sini alih-alih sensational: ini adalah tidak “virtual events are banned.” (terjemahan) “virtual events adalah banned.” ini adalah itu sebuah virtual event dengan Tidak dunia nyata component tidak eligible untuk spesifik event rich hasil. sebagian besar dari competing konten pada ini topic masih memperlakukan OnlineEventAttendanceMode sebagai sebuah langsung Google fitur itu mendapatkan sebuah online event ke rich hasil pada -nya own. Straight dari Google’s saat ini docs, itu’s tidak bagaimana ini berfungsi.

Evidence for this claim Google's current Event rich-result documentation says purely virtual events without a real-world component are not supported. Scope: web Confidence: high · Verified: Event structured data

Menangani event status: EventScheduled, EventCancelled, EventPostponed, EventRescheduled

eventStatus takes satu dari four nilai, dan ada satu aturan itu dwarfs rest: tidak pernah hapus startDate atau location ketika status perubahan. Google warns: “When the event status changes, DON’T remove the startDate. The startDate property is required to help identify the unique event.” (terjemahan) “Saat status event berubah, JANGAN hapus startDate. Properti startDate diperlukan untuk membantu mengidentifikasi event yang unik.”

jika Anda tidak set eventStatus di semua, Google memperlakukan event sebagai EventScheduled ( wajar, going-ahead state). lainnya three:

  • EventCancelled — event tidak akan terjadi. 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.” (terjemahan) “Jangan hapus atau ubah properti lain (misalnya, jangan hapus startDate atau location); pertahankan semua nilai seperti sebelum pembatalan, lalu perbarui eventStatus menjadi EventCancelled. Mengapa? Properti seperti startDate dan location membantu mengidentifikasi event yang unik dan memastikan orang memahami status barunya.”
  • EventPostponed — event akan terjadi, tetapi tanggal baru belum diketahui. 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.” (terjemahan) “Event ditunda ke tanggal berikutnya, tetapi tanggalnya belum diketahui. Pertahankan tanggal asli di startDate event sampai Anda mengetahui kapan event berlangsung. Setelah informasi tanggal baru diketahui, ubah eventStatus menjadi EventRescheduled, lalu perbarui startDate dan endDate dengan informasi tanggal baru.”
  • EventRescheduled — tanggal baru sudah dikonfirmasi. 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.” (terjemahan) “Event dijadwalkan ulang ke tanggal berikutnya. Perbarui startDate dan endDate dengan tanggal baru yang sesuai. Anda juga dapat menandai field eventStatus sebagai rescheduled dan menambahkan previousStartDate.”

pembedaan orang sebagian besar sering blur: EventPostponed dan EventCancelled adalah tidak interchangeable. Cancelled berarti ini adalah off; postponed berarti ini adalah happening kemudian pada sebuah date Anda tidak know namun — dan Anda harus upgrade postponed untuk rescheduled (dengan previousStartDate) setelah Anda melakukan know.

Satu event, satu URL — mengapa listing halaman jangan qualify

Google adalah unambiguous: “Setiap event Harus memiliki a unique URL (a leaf halaman) dan markup pada itu URL,” (terjemahan) “setiap event harus memiliki sebuah unique URL (sebuah leaf halaman) dan markup pada itu URL,” dan “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.” (terjemahan) “ event experience pada Google hanya mendukung halaman itu focus pada sebuah single event. kami merekomendasikan focusing pada menambahkan markup untuk Anda event posting halaman alih-alih halaman itu list schedules atau multiple events.”

Evidence for this claim Google's event feature excludes promotional non-events and requires each event to have a unique page focused on that event. Scope: web Confidence: high · Verified: Event structured data

ini adalah satu dari paling umum implementation mistakes untuk venues dan ticketing platforms — marking up sebuah calendar atau “upcoming events” (terjemahan) “upcoming events” listing halaman dan expecting sebuah rich hasil untuk setiap event pada ini. itu halaman tidak qualify. setiap event perlu -nya own dedicated halaman dengan -nya own markup.

Multi-day events vs. multiple performances

ini adalah handled differently, dan ini trips up sebuah lot dari implementations:

  • sebuah single event itu spans several dayssatu Event dengan startDate dan endDate covering 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.” (terjemahan) “jika Anda event atau ticket info adalah untuk sebuah event itu berjalan di atas several days, specify keduanya mulai dan end dates dari event.”
  • Multiple distinct ticketed performances di seluruh days → sebuah terpisah Event untuk setiap. Google: “If there are several different performances across different days, each with individual tickets, add a separate Event element for each performance.” (terjemahan) “Jika ada beberapa pertunjukan berbeda pada hari yang berbeda, masing-masing dengan tiket sendiri, tambahkan elemen Event terpisah untuk setiap pertunjukan.”

untuk genuinely recurring series, schema.org memiliki EventSeries dan eventSchedule properties. mereka’re valid markup — tetapi I’d treat them sebagai “valid schema.org, unconfirmed rich-result impact” (terjemahan) “valid schema.org, unconfirmed rich-hasil impact” alih-alih sebuah guaranteed path untuk event experience. Ketika di doubt, ikuti Google’s terdokumentasi pattern: satu Event per performa.

konten policies — apa mendapatkan events disapproved (dan manually actioned)

Event markup memiliki sebuah nyata spam-enforcement history, so ini tidak hypothetical. Google memerlukan itu “Each event must accurately describe the event name, start date, and location,” (terjemahan) “setiap event harus accurately deskripsikan event name, mulai date, dan location,” dan ini spells out apa tidak untuk mark up sebagai sebuah event:

  • Non-events. Google: *“jangan promote non-event products atau services such sebagai ‘Trip package: San Diego/LA, 7 nights’ sebagai events. jangan tambahkan pendek-istilah discounts atau purchase opportunities, such sebagai: ‘Concert — buy Anda tickets now,’ atau ‘Concert
  • 50% off until Saturday.’ jangan mark business hours sebagai events, such sebagai: ‘Adventure park open 8 AM untuk 5PM.’ jangan mark coupons atau vouchers sebagai events, such sebagai: ‘5% off Anda pertama order.’”*
  • Membership/invitation-hanya events. Google: (terjemahan)
  • Membership/invitation-hanya events. Google: ”Events harus menjadi bookable untuk umum publik. Events itu memerlukan sebuah membership, atau invitation prior untuk purchasing ticket atau attending event adalah ineligible untuk event experience.”
  • School/minors pada-premise events. Google: (terjemahan)
  • School/minors pada-premise events. Google: ”Spectator events di mana utama participants dan audience adalah minors dan occur pada-premise dari sebuah school tidak eligible untuk event experience.”

dan ada teeth behind ini. 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.” (terjemahan) “jika Anda situs violates satu atau lebih dari ini guidelines, lalu Google dapat take manual tindakan terhadap ini. setelah Anda memiliki remedied masalah, Anda dapat submit Anda situs untuk reconsideration.” ini tidak theoretical — Google adalah reported untuk memiliki issued manual tindakan terhadap situs menggunakan Event markup untuk promote sales dan coupons alih-alih genuine events, yang adalah persis “don’t add short-term discounts” (terjemahan) “jangan tambahkan pendek-istilah discounts” dan “don’t mark coupons as events” (terjemahan) “jangan mark coupons sebagai events” guidance di atas. (I’d verify specifics terhadap sebuah utama sumber sebelum treating apa pun particular case sebagai canonical — enforcement pattern adalah well established regardless.)

Date dan time formatting

gunakan ISO-8601, dan sertakan timezone offset. Google’s guidance: specify timezone oleh including UTC/GMT offset — sebuah event di 7pm pada September 5 di baru York seharusnya carry -04:00 atau -05:00 offset. untuk sebuah genuinely day-panjang event di mana hour adalah unknown atau irrelevant, gunakan date hanya (Tidak time). dan jangan fake sebuah midnight mulai: sebuah nilai like 2019-08-15T00:00:00+00:00 untuk sebuah event milik siapa mulai time Anda tidak sebenarnya know membaca untuk Google sebagai secara harfiah midnight, yang adalah hampir certainly wrong.

Event subtypes: base Event vs. MusicEvent, BusinessEvent, dan seterusnya.

schema.org memiliki subtypes — MusicEvent, BusinessEvent, EducationEvent, SportsEvent, dan lebih. Anda jangan memiliki untuk gunakan them: base Event jenis adalah valid dan sufficient, dan Google’s terdokumentasi diperlukan/recommended properties apply yang sama cara regardless. Subtypes tambahkan lebih spesifik semantic tagging jika Anda ingin ini, tetapi “you must use MusicEvent(terjemahan) “Anda harus menggunakan MusicEvent” adalah sebuah mitos — base Event sudah memadai.

Bing dan Event schema

Bing tidak publish sebuah Event-spesifik structured-data help halaman cara Google melakukan. -nya umum reference — Marking Up Anda situs dengan Structured data — mengonfirmasi Bing mendukung schema.org vocabulary broadly (along dengan Microdata, RDFa, dan Open Graph), tanpa Event-spesifik diperlukan/recommended property lists. I’m tidak going untuk invent Bing Event mendukung itu tidak memiliki sebuah documentation halaman behind ini. honest framing: Bing rewards well-formed schema.org markup umumnya dan tidak akan punish Anda untuk including Event schema, tetapi ini memiliki Tidak equivalent dari Google’s dedicated event rich-hasil/penelusuran experience. So utama motivation untuk Event markup tetap Google — plus umum machine-readability untuk AI/LLM consumption.

Validating dan troubleshooting

Validate markup dengan Google’s Rich hasil Test, dan monitor Events report dan enhancements di Search Console. sebuah note pada regional availability: Google’s event penelusuran experience adalah tersedia di sebuah spesifik set dari countries/languages, dan itu list perubahan — verify saat ini availability secara langsung pada Google’s docs halaman di time Anda implement, alih-alih trusting sebuah stale list.

Di mana ini sits

Event schema adalah satu dari Social & Community schema jenis di lebih luas structured-data picture, alongside markup like DiscussionForumPosting, FAQPage, HowTo, QAPage, dan SoftwareApplication. untuk vocabulary sebagai sebuah seluruh dan bagaimana ini pieces fit together, see lebih luas Schema Markup dan data terstruktur hubs ini artikel nests di bawah.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.