Hướng dẫn về Event Schema
Cách implement schema.org/Event markup cho Google event rich kết quả — bắt buộc properties (name, startDate, location), vì sao virtual-chỉ events không eligible, đó four eventStatus các giá trị, và đó một-event-một-URL rule.
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này
- Công cụ trực tuyến liên quanSchema Markup Validator
Event schema (schema.org/Event) là dữ liệu có cấu trúc — thường JSON-LD — đó tells các công cụ tìm kiếm an tên sự kiện, date, location, và ticketing details so an individual trang sự kiện có thể qualify cho Google event rich kết quả. Google requires chính xác three properties: name, startDate, và location. Đó single biggest myth để bust: as of Google hiện tại (December 2025) tài liệu, virtual-chỉ events không eligible cho đó event rich kết quả — 'Virtual experiences đó có không thực tế component không supported. Events phải take place trong một physical location.' Đó contradicts một lot of vẫn-circulating 2020 pandemic-era advice đó xử lý eventAttendanceMode=OnlineEventAttendanceMode và VirtualLocation as sufficient on của họ own; những properties là vẫn hợp lệ schema.org nhưng không unlock đó rich kết quả cho an online-chỉ event. Other load-bearing rules: mỗi event cần của nó own unique leaf-trang URL (listing các trang không qualify), bạn phải không bao giờ strip startDate hoặc location khi updating eventStatus (EventScheduled, EventCancelled, EventPostponed, EventRescheduled), và marking lên sales, coupons, hoặc non-events có trong lịch sử triggered manual actions. Hợp lệ markup chỉ làm bạn eligible; Google vẫn decides liệu để cho thấy điều này.
TL;DR — Event schema là code bạn thêm để an trang sự kiện đó labels đó event details cho các công cụ tìm kiếm — “this is the event name,” (bản dịch) «đây là tên sự kiện,» “this is when it starts,” (bản dịch) «đây là thời điểm sự kiện bắt đầu,» “this is where it’s held,” (bản dịch) «đây là nơi sự kiện được tổ chức,» “here’s how to get tickets.” (bản dịch) «đây là cách nhận vé.» Thêm điều này correctly để an individual trang sự kiện có thể làm điều này eligible cho Google richer event listings. Đó catch hầu hết các hướng dẫn nhận sai: Google event rich kết quả cần một real, physical location — một purely online-chỉ event không eligible, không quan trọng cách bạn mark điều này lên.
Điều gì Event schema là
Khi bạn xem xét event trang, Bạn có thể tell tên sự kiện từ date từ
venue chỉ by reading. công cụ tìm kiếm sees đơn giản text và có để guess.
Event schema spells nó out trong code, sử dụng shared
schema.org vocabulary — nó tags mỗi piece của trang
với Điều gì nó thực ra là: name của event, startDate,
location, ticket offers, ai performing, và ai organizing.
nó gần như luôn được viết as JSON-LD — nhỏ block của code đó sits trong trang không có thay đổi Cách trang looks.
Vì sao nó worth đang làm
payoff là event rich kết quả: enhanced, visually rich listing (và dedicated event-tìm kiếm experience) Google hiển thị cho event-related searches. trang với sạch Event markup có thể earn nhiều hơn eye-catching listing đó hiển thị date, venue, và ticket info right trong kết quả — mà có thể help nó stand out. giống nhau structured markup cho AI các hệ thống cleaner, unambiguous đọc on chi tiết sự kiện cũng, though I không có dữ liệu cho thấy đó reliably translates vào nhiều hơn AI-sourced traffic hoặc citations cho bất kỳ particular event trang.
three điều bạn phải có
để là eligible tại all, Google requires chính xác three properties:
- name — đó đầy đủ tiêu đề of đó event (không đó venue, và không một promo như “50% off tickets” (bản dịch) «50% off tickets»).
- startDate — khi điều này bắt đầu, với đó date và time.
- location — nơi đây là held, as một
Placevới một name và an address.
Beyond những điều đó, nó worth thêm được khuyến nghị details — endDate,
image, ticket offers (price, currency, availability), performer, và
organizer — vì họ làm listing richer và nhiều hơn hữu ích.
điều phần lớn mọi người nhận sai
MỘT purely virtual, online-chỉ event không eligible cho Google event rich kết quả. Google hiện tại tài liệu là blunt về điều này: events “must take place in a physical location.” (bản dịch) «phải take place trong một physical location.» MỘT lot of advice vẫn floating khoảng từ 2020 — khi Google đã thêm online-event properties during đó pandemic — làm điều này sound như flipping an “online event” (bản dịch) «online event» switch là đủ. Điều này không, cho Google rich kết quả. Những online-event properties vẫn exist và là hợp lệ, nhưng on của họ own they không nhận một webinar vào đó event experience.
Hai nhiều hơn Người mới bắt đầu traps:
- Một event, một trang. Mark lên individual event các trang — không trang đó lists all của bạn upcoming events. listing/calendar trang không qualify.
- Hợp lệ markup ≠ guaranteed rich kết quả. nó làm bạn eligible; Google vẫn decides liệu để display nó.
- không fake events. Marking lên sale, coupon, hoặc của bạn business hours as “event” là so với Google rules và có gotten các trang trong trouble.
Muốn đầy đủ version — bắt buộc-so với-được khuyến nghị property split, Cách xử lý canceled và postponed events, multi-day so với. multi-performance events, và nội dung rules đó nhận events disapproved? Switch để Nâng cao tab.
TL;DR — schema.org/Event markup (thường JSON-LD) on an individual event trang có thể làm điều này eligible cho Google event rich kết quả. Google requires three properties:
name,startDate,location. Đó load-bearing fact of này toàn bộ topic: theo Google hiện tại (Dec 2025) tài liệu, virtual-chỉ events không supported — “Events must take place in a physical location.” (bản dịch) «Events phải take place trong một physical location.»eventAttendanceModevàVirtualLocationlà hợp lệ schema.org (đã thêm trong đó 2020 COVID era) nhưng không unlock đó rich kết quả cho an online-chỉ event. Other rules mọi người miss: một event = một unique leaf URL (listing các trang không qualify); khi bạn thay đổieventStatus(EventScheduled / EventCancelled / EventPostponed / EventRescheduled) bạn phải không bao giờ stripstartDatehoặclocation; multi-day là mộtEvent, multiple ticketed performances là tách biệtEvents; và marking lên sales, coupons, hoặc non-events là so với policy và có drawn manual actions. Hợp lệ markup chỉ earns eligibility.
Điều gì Event schema làm — và Điều gì nó không
Event schema là schema.org/Event vocabulary bạn put on event trang so tìm kiếm engines có thể đọc tên sự kiện, timing, location, và ticketing. On Google, correctly implemented markup on individual event trang làm nó eligible cho event rich kết quả — enhanced listing và dedicated event-tìm kiếm experience Google chạy cho event-related các truy vấn.
Điều gì nó không làm: nó không phải xếp hạng factor, và nó không phải magic switch. Như mỗi kind của dữ liệu có cấu trúc, nó làm trang eligible cho cụ thể tìm kiếm feature — nó không lift của bạn organic positions và nó không bảo đảm feature hiển thị. 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
Bắt buộc properties: name, startDate, location
Google là rõ ràng đó bạn phải bao gồm đó bắt buộc properties: “You must include the required properties for your content to be eligible for display in enhanced search results.” (bản dịch) «Bạn phải bao gồm đó bắt buộc properties cho nội dung của bạn để là eligible cho display trong enhanced kết quả tìm kiếm.» Cho Event, đó là three:
name(Text) — đó đầy đủ tiêu đề of đó event. Google rule là cụ thể: không dùng đó name of đó venue as đó tên sự kiện (đó là điều gìlocation.namelà cho), không dùng đó loại of event (“Concert” không phải một descriptive name), và không stuff điều này với URLs, prices, performers, hoặc “short-term promotions (for example, ‘buy your tickets now’).” (bản dịch) «ngắn-term promotions (ví dụ, ‘buy của bạn tickets hiện tại’).» Google own trước/sau: không “Bill Graham Civic Auditorium” (bản dịch) «Bill Graham Civic Auditorium» và không “LIMITED TIME SALE - Kesha and Macklemore Concert - $25” (bản dịch) «LIMITED TIME SALE - Kesha và Macklemore Concert - $25 USD», nhưng “The Adventures of Kesha and Macklemore” (bản dịch) «Đó Adventures of Kesha và Macklemore» hoặc “Meet and Greet: Kesha and Macklemore.” (bản dịch) «Đáp ứng và Greet: Kesha và 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.” (bản dịch) «Đó bắt đầu date và bắt đầu time of đó event trong ISO-8601 format. Thêm cả hai đó date và time so người dùng có thể tìm events đó fit vào của họ schedule.»location(Place) — set@typeđểPlacevà thêmlocation.namevàlocation.address. Google steer on đó address: là cụ thể — không chỉ “Sydney” nhưng “Bennelong Point, Sydney NSW 2000, Australia.” (bản dịch) «Bennelong Point, Sydney NSW 2000, Australia.» Và của nó best-practice notes cho 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.” (bản dịch) «Nếu đó event happens across several streets, define đó starting location và mention đó đầy đủ details trong mô tả. Nếu đó event happens không có một well-được định nghĩa location, dùng đó city name hoặc đó hầu hết representative location. Nếu đó event happens tại multiple locations đồng thời, tạo khác nhau events cho mỗi location.»
Được khuyến nghị properties đó improve kết quả
Beyond bắt buộc three, những điều này làm listing fuller và là worth thêm:
endDate— giống nhau ISO-8601 format asstartDate.eventStatus— đó scheduled/canceled/postponed/rescheduled state (see đó dedicated section dưới).image— Google chung image hướng dẫn áp dụng; cung cấp multiple images tại 1x1, 4x3, và 16x9 aspect ratios.offers(anOffer) —url,price,priceCurrency,availability(e.g.InStock,SoldOut,PreOrder), vàvalidFromcho khi tickets go on sale.performer(Person / PerformingGroup) vàorganizer(Organization / Person, vớinamevàurl).description— Google hướng dẫn: “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.” (bản dịch) «Focus on đó chi tiết sự kiện và không trang web của bạn features. không repeat other facts như date và location; thay vì, thêm đó information để đó respective properties.» Note điều này chỉ cho thấy một snippet.
Virtual và hybrid events: Điều gì Google hiện tại tài liệu thực ra chẳng hạn
Đây là section đó separates hiện tại hướng dẫn từ recycled 2020 advice vẫn all over web, so đọc nó cẩn thận.
Google hiện tại tài liệu trạng thái, verbatim: “Virtual experiences that have no real-world component aren’t supported. Events must take place in a physical location.” (bản dịch) «Virtual experiences đó có không thực tế component không supported. Events phải take place trong một physical location.» Đó có nghĩa là một purely virtual, online-chỉ event có không path vào Google event rich kết quả — regardless of cách bạn mark điều này lên.
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Ở đây nuance đó trips mọi người lên. Back trong March 2020, tại bắt đầu của
pandemic, Google announced new Event
properties
so publishers có thể communicate đó events có moved online hoặc là canceled:
eventAttendanceMode (với OnlineEventAttendanceMode /
OfflineEventAttendanceMode / MixedEventAttendanceMode các giá trị),
eventStatus các giá trị, và hỗ trợ cho VirtualLocation. những điều đó properties là
vẫn hợp lệ schema.org vocabulary — không ai đã xóa them. nhưng hiện tại
Tìm kiếm Central Event doc không lâu hơn documents online-event ví dụ và trạng thái
outright đó virtual-chỉ events không phải supported cho rich kết quả.
So honest, hiện tại position:
- ** physical location là anchor.** Virtual và hybrid events có khả năng vẫn cần thực-world location component để qualify cho event experience — vì Google requires đó physical location.
eventAttendanceModevàVirtualLocationkhông phải useless — họ’re legitimate markup cho hybrid event đó làm có thực venue, và họ’re hữu ích cho khác consumers của dữ liệu (của bạn own các hệ thống, khác các công cụ tìm kiếm, và AI/LLM understanding). họ chỉ không, by themselves, nhận online-chỉ event vào Google rich kết quả.- nếu bạn chạy webinars hoặc online-chỉ events, không expect event rich kết quả. sử dụng markup cho machine-readability nếu bạn như, nhưng plan của bạn visibility khoảng rest của bạn SEO, không event experience.
I muốn để là precise ở đây thay vì sensational: này là không “virtual events
are banned.” (bản dịch) «virtual events là banned.» đây là đó một virtual event với không thực tế component không
eligible cho đó cụ thể event rich kết quả. Hầu hết of đó competing nội dung on này
topic vẫn xử lý OnlineEventAttendanceMode as một trực tiếp Google feature đó nhận
an online event vào đó rich kết quả on của nó own. Straight từ Google hiện tại
tài liệu, đó là không cách nó hoạt động.
Xử lý event status: EventScheduled, EventCancelled, EventPostponed, EventRescheduled
eventStatus takes một of four các giá trị, và có một rule đó dwarfs đó rest:
không bao giờ xóa startDate hoặc location khi đó status thay đổi. Google warns:
“When the event status changes, DON’T remove the startDate. The startDate
property is required to help identify the unique event.” (bản dịch) «Khi đó event status thay đổi, không xóa đó startDate. Đó startDate property là bắt buộc để help identify đó unique event.»
nếu bạn không đặt eventStatus tại all, Google xử lý event as EventScheduled
( thông thường, going-ahead state). khác three:
EventCancelled— đó event sẽ không happen. Google: “Don’t remove or change other properties (for example, don’t removestartDateorlocation); instead, keep all values as the same as they were before the cancelation, and update theeventStatustoEventCancelled. Why? Properties likestartDateandlocationhelp identify the unique event and make sure people understand the new status of the event.” (bản dịch) «không xóa hoặc thay đổi other properties (ví dụ, không xóastartDatehoặclocation); thay vì, giữ all các giá trị as đó giống nhau as they đã là trước đó cancelation, và cập nhật đóeventStatusđểEventCancelled. Vì sao? Properties nhưstartDatevàlocationhelp identify đó unique event và hãy bảo đảm mọi người understand đó new status of đó event.»EventPostponed— điều này sẽ happen, nhưng đó new date không known tuy vậy. Google: “The event has been postponed to a later date, but the date isn’t known yet. Keep the original date in thestartDateof the event until you know when the event will take place. Once you know the new date information, change theeventStatustoEventRescheduledand update thestartDateandendDatewith the new date information.” (bản dịch) «Đó event đã được postponed để một sau đó date, nhưng đó date không known tuy vậy. Giữ đó original date trong đóstartDateof đó event until bạn know khi đó event sẽ take place. Khi bạn know đó new date information, thay đổi đóeventStatusđểEventRescheduledvà cập nhật đóstartDatevàendDatevới đó new date information.»EventRescheduled— một new date là confirmed. Google: “The event has been rescheduled to a later date. Update thestartDateandendDatewith the relevant new dates. Optionally, you can also mark theeventStatusfield as rescheduled and add thepreviousStartDate.” (bản dịch) «Đó event đã được rescheduled để một sau đó date. Cập nhật đóstartDatevàendDatevới đó relevant new dates. Tùy chọn, bạn có thể cũng mark đóeventStatustrường as rescheduled và thêm đópreviousStartDate.»
phân biệt mọi người phần lớn thường blur: EventPostponed và EventCancelled là
không interchangeable. Cancelled có nghĩ là nó off; postponed có nghĩ là nó happening
sau đó on date bạn không know tuy vậy — và bạn nên upgrade postponed để
rescheduled (với previousStartDate) sau khi bạn làm know.
Một event, một URL — Vì sao listing các trang không qualify
Google là unambiguous: “Each event MUST have a unique URL (a leaf page) and markup on that URL,” (bản dịch) «Mỗi event PHẢI có một unique URL (một leaf trang) và markup on đó URL,» và “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.” (bản dịch) «Đó event experience on Google chỉ hỗ trợ các trang đó focus on một single event. We khuyến nghị focusing on thêm markup để của bạn event posting các trang thay vì các trang đó list schedules hoặc 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 dataNày là một of đó hầu hết phổ biến implementation mistakes cho venues và ticketing các nền tảng — marking lên một calendar hoặc “upcoming events” (bản dịch) «upcoming events» listing trang và expecting một rich kết quả cho mỗi event on điều này. Đó trang không qualify. Mỗi event cần của nó own dedicated trang với của nó own markup.
Multi-day events so với. multiple performances
những điều này là handled differently, và nó trips lên lot của implementations:
- MỘT single event đó spans several days → một
Eventvới đóstartDatevàendDatecovering đó 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.” (bản dịch) «Nếu của bạn event hoặc ticket info là cho an event đó chạy over several days, specify cả hai đó bắt đầu và end dates of đó event.» - Multiple distinct ticketed performances across days → một tách biệt
Eventcho mỗi. Google: “If there are several different performances across different days, each with individual tickets, add a separateEventelement for each performance.” (bản dịch) «Nếu có several khác nhau performances across khác nhau days, mỗi với individual tickets, thêm một tách biệtEventelement cho mỗi performance.»
Cho genuinely recurring series, schema.org có EventSeries và eventSchedule
properties. họ là hợp lệ markup — nhưng I’d treat them as “valid schema.org,
unconfirmed rich-result impact” (bản dịch) «hợp lệ schema.org, unconfirmed rich-kết quả impact» thay vì một guaranteed path để đó event
experience. Khi trong doubt, follow Google được ghi lại pattern: một Event theo
performance.
nội dung policies — Điều gì nhận events disapproved (và manually actioned)
Event markup có một real spam-enforcement history, so này không hypothetical. Google requires đó “Each event must accurately describe the event name, start date, and location,” (bản dịch) «Mỗi event phải accurately mô tả đó tên sự kiện, bắt đầu date, và location,» và điều này spells out điều gì không để mark lên as an event:
- 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.’” (bản dịch) «không promote non-event các sản phẩm hoặc services such as ‘Trip package: San Diego/LA, 7 nights’ as events. không thêm ngắn-term discounts hoặc purchase opportunities, such as: ‘Concert — buy của bạn tickets hiện tại,’ hoặc ‘Concert - 50% off until Saturday.’ không mark business hours as events, such as: ‘Adventure park open 8 AM để 5PM.’ không mark coupons hoặc vouchers as events, such as: ‘5% off của bạn đầu tiên order.’»*
- Membership/invitation-chỉ 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.” (bản dịch) «Events phải được bookable để đó chung công khai. Events đó require một membership, hoặc invitation prior để purchasing đó ticket hoặc attending đó event là ineligible cho đó event experience.»
- 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.” (bản dịch) «Spectator events nơi đó chính participants và audience là minors và occur on-premise of một school không eligible cho đó event experience.»
Và có teeth behind này. 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.” (bản dịch) «Nếu trang web của bạn violates một hoặc hơn of những guidelines, thì Google có thể take manual hành động so với điều này. Khi bạn có remedied đó vấn đề, bạn có thể submit trang web của bạn cho reconsideration.» Này không theoretical — Google đã là reported để có issued manual actions so với các trang dùng Event markup để promote sales và coupons thay vì genuine events, mà là chính xác đó “don’t add short-term discounts” (bản dịch) «không thêm ngắn-term discounts» và “don’t mark coupons as events” (bản dịch) «không mark coupons as events» hướng dẫn trên. (I’d verify đó specifics so với một chính nguồn trước treating bất kỳ particular case as canonical — đó enforcement pattern là well established regardless.)
Date và time formatting
sử dụng ISO-8601, và bao gồm timezone offset. Google hướng dẫn: specify
timezone by including UTC/GMT offset — event tại 7pm on September 5 trong New
York nên carry -04:00 hoặc -05:00 offset. cho genuinely day-dài event
nơi hour là unknown hoặc irrelevant, sử dụng date chỉ (không time). và không
fake midnight bắt đầu: giá trị như 2019-08-15T00:00:00+00:00 cho event whose
bắt đầu time bạn không thực ra know đọc để Google as theo nghĩa đen midnight, mà là
gần như certainly sai.
Event subtypes: base Event so với. MusicEvent, BusinessEvent, etc.
schema.org có subtypes — MusicEvent, BusinessEvent, EducationEvent,
SportsEvent, và hơn. Bạn không có để dùng them: đó base Event loại là
hợp lệ và sufficient, và Google được ghi lại bắt buộc/được khuyến nghị properties apply
cùng cách regardless. Subtypes thêm hơn cụ thể semantic tagging nếu bạn muốn
điều này, nhưng “you must use MusicEvent” (bản dịch) «bạn phải dùng MusicEvent» là một myth — base Event là fine.
Bing và Event schema
Bing không publish Event-cụ thể structured-dữ liệu help trang way Google làm. Của nó chung reference — Marking Lên của bạn trang web với Structured Dữ liệu — xác nhận Bing hỗ trợ schema.org vocabulary broadly (along với Microdata, RDFa, và Open Graph), không có Event-cụ thể bắt buộc/được khuyến nghị property lists. I’m không going để invent Bing Event hỗ trợ đó không có tài liệu trang behind nó. honest framing: Bing rewards well-formed schema.org markup generally và sẽ không punish bạn cho including Event schema, nhưng nó có không tương đương của Google dedicated event rich-kết quả/tìm kiếm experience. So chính motivation cho Event markup vẫn Google — plus chung machine-readability cho AI/LLM consumption.
Validating và khắc phục sự cố
Validate markup với Google Rich Kết quả Kiểm thử, và monitor Events báo cáo và enhancements trong Search Console. note on regional availability: Google event tìm kiếm experience là khả dụng trong cụ thể đặt của countries/languages, và đó list thay đổi — verify hiện tại availability trực tiếp on tài liệu củ Google trang tại time bạn implement, thay vì trusting stale list.
nơi điều này sits
Event schema là một của Social & Community schema types trong rộng hơn structured-dữ liệu picture, alongside markup như DiscussionForumPosting, FAQPage, HowTo, QAPage, và SoftwareApplication. cho vocabulary as toàn bộ và Cách những điều này pieces fit together, see rộng hơn Schema Markup và Dữ liệu có cấu trúc hubs điều này bài viết nests dưới.
AI summary
condensed take on Nâng cao version:
- Điều gì điều này là:
schema.org/Eventmarkup (thường JSON-LD) on an individual trang sự kiện đó labels đó tên sự kiện, date, location, và ticketing so đó trang có thể qualify cho Google event rich kết quả và event-tìm kiếm experience. - Bắt buộc properties (three):
name,startDate,location.namelà đó event tiêu đề (không đó venue, không đó event loại, không promos);startDatelà ISO-8601 với date và time;locationlà mộtPlacevới một name và một cụ thể address. - Đó load-bearing myth-bust: theo Google hiện tại (Dec 2025) tài liệu,
virtual-chỉ events không supported — “Events must take place in a physical
location.” (bản dịch) «Events phải take place trong một physical location.»
eventAttendanceModevàVirtualLocationlà hợp lệ schema.org (đã thêm March 2020, COVID era) nhưng không nhận an online-chỉ event vào đó rich kết quả on của họ own. Hybrid/virtual events có khả năng vẫn cần một thực tế location component. - Một event = một unique leaf URL. Listing/schedule/calendar các trang với multiple events không qualify.
eventStatus(four các giá trị): defaultEventScheduled;EventCancelled(off),EventPostponed(happening sau đó, date unknown),EventRescheduled(new date set, thêmpreviousStartDate). Không bao giờ stripstartDatehoặclocationkhi đó status thay đổi.- Multi-day so với. multi-performance: một single multi-day event là một
EventvớistartDate/endDate; multiple ticketed performances là một tách biệtEventmỗi.EventSeries/eventSchedulelà hợp lệ nhưng unconfirmed cho đó rich kết quả. - Nội dung policy có teeth: không mark lên sales, coupons, business hours, hoặc other non-events; membership/invitation-chỉ và school-minors-on-premise events là ineligible; violations có thể draw manual actions.
- Dates: ISO-8601 với timezone offset; date-chỉ cho day-dài events; không fake một midnight bắt đầu.
- Subtypes tùy chọn: base
Eventlà hợp lệ và sufficient —MusicEvent,BusinessEvent, etc. thêm semantics nhưng không bắt buộc. - Bing: không dedicated Event doc; hỗ trợ schema.org broadly; không event rich kết quả. Chính motivation cho Event markup là Google (plus AI/LLM readability).
- Eligibility ≠ display: hợp lệ markup chỉ làm đó trang eligible; Google vẫn decides liệu để cho thấy điều này.
Tài liệu chính thức
Chính-nguồn tài liệu từ các công cụ tìm kiếm.
- Event (Event) dữ liệu có cấu trúc — đó authoritative reference: bắt buộc/được khuyến nghị properties,
eventStatus, đó một-event-một-URL rule, nội dung policies, và đó virtual-events statement. (Footer: “Last updated 2025-12-10 UTC.” (bản dịch) «Cuối cùng đã cập nhật 2025-12-10 UTC.») - New properties cho virtual, postponed, và canceled events (March 2020) — đó COVID-era rollout of
eventAttendanceMode,eventStatus, vàVirtualLocation. Hữu ích cho understanding vì sao so nhiều virtual-event advice tồn tại — và vì sao đó hiện tại tài liệu có moved on. - Chung Dữ liệu có cấu trúc Guidelines — đó site-wide structured-dữ liệu policies (độ chính xác, không spam) đó Event markup phải cũng follow.
- Rich Kết quả Kiểm thử — validate Event markup và kiểm tra rich-kết quả eligibility.
Schema.org ( vocabulary)
- schema.org/Event — đầy đủ Event loại reference và của nó properties.
- schema.org/eventAttendanceMode — online/offline/mixed attendance-chế độ property (hợp lệ vocabulary, chư đủ alone cho Google rich kết quả).
- schema.org/EventSeries và schema.org/eventSchedule — recurring-series vocabulary (hợp lệ markup, unconfirmed rich-kết quả impact).
Bing / Microsoft
- Marking Lên của bạn trang web với Dữ liệu có cấu trúc — Bing chung structured-dữ liệu hỗ trợ (schema.org, JSON-LD, Microdata, RDFa). Note: Bing có không dedicated Event structured-dữ liệu tài liệu.
Quotes từ nguồn
On—record statements từ tài liệu củ Google. mỗi link là deep link đó jumps để quoted passage on nguồn trang.
Google — bắt buộc properties
- “You must include the required properties for your content to be eligible for display in enhanced search results.” (bản dịch) «Bạn phải bao gồm đó bắt buộc properties cho nội dung của bạn để là eligible cho display trong enhanced kết quả tìm kiếm.» — Google Search Central, Event dữ liệu có cấu trúc. Nhảy đến trích dẫn
- “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.” (bản dịch) «Đó bắt đầu date và bắt đầu time of đó event trong ISO-8601 format. Thêm cả hai đó date và time so người dùng có thể tìm events đó fit vào của họ schedule.» Nhảy đến trích dẫn
- On đó tên sự kiện: “Not recommended: Bill Graham Civic Auditorium.” (bản dịch) «Không được khuyến nghị: Bill Graham Civic Auditorium.» Nhảy đến trích dẫn
- On addresses: “If the event happens across several streets, define the starting location and mention the full details in description.” (bản dịch) «Nếu đó event happens across several streets, define đó starting location và mention đó đầy đủ details trong mô tả.» Nhảy đến trích dẫn
Google — virtual events ( độ chính xác spine)
- “Virtual experiences that have no real-world component aren’t supported. Events must take place in a physical location.” (bản dịch) «Virtual experiences đó có không thực tế component không supported. Events phải take place trong một physical location.» Nhảy đến trích dẫn
Google — event status thay đổi
- “Warning: When the event status changes, DON’T remove the
startDate. ThestartDateproperty is required to help identify the unique event.” (bản dịch) «Warning: Khi đó event status thay đổi, không xóa đóstartDate. ĐóstartDateproperty là bắt buộc để help identify đó unique event.» Nhảy đến trích dẫn - On cancellations: “Don’t remove or change other properties (for example, don’t remove
startDateorlocation); instead, keep all values as the same as they were before the cancelation, and update theeventStatustoEventCancelled.” (bản dịch) «không xóa hoặc thay đổi other properties (ví dụ, không xóastartDatehoặclocation); thay vì, giữ all các giá trị as đó giống nhau as they đã là trước đó cancelation, và cập nhật đóeventStatusđểEventCancelled.» Nhảy đến trích dẫn - On postponement: “The event has been postponed to a later date, but the date isn’t known yet. Keep the original date in the
startDateof the event until you know when the event will take place.” (bản dịch) «Đó event đã được postponed để một sau đó date, nhưng đó date không known tuy vậy. Giữ đó original date trong đóstartDateof đó event until bạn know khi đó event sẽ take place.» Nhảy đến trích dẫn - On rescheduling: “The event has been rescheduled to a later date. Update the
startDateandendDatewith the relevant new dates.” (bản dịch) «Đó event đã được rescheduled để một sau đó date. Cập nhật đóstartDatevàendDatevới đó relevant new dates.» Nhảy đến trích dẫn
Google — một event, một URL, và multi-day events
- “Each event MUST have a unique URL (a leaf page) and markup on that URL.” (bản dịch) «Mỗi event PHẢI có một unique URL (một leaf trang) và markup on đó URL.» Nhảy đến trích dẫn
- “Mark up multi-day events correctly: 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.” (bản dịch) «Mark lên multi-day events correctly: Nếu của bạn event hoặc ticket info là cho an event đó chạy over several days, specify cả hai đó bắt đầu và end dates of đó event.» Nhảy đến trích dẫn
Google — nội dung policies
- “Don’t promote non-event products or services such as ‘Trip package: San Diego/LA, 7 nights’ as events.” (bản dịch) «không promote non-event các sản phẩm hoặc services such as ‘Trip package: San Diego/LA, 7 nights’ as events.» Nhảy đến trích dẫn
- “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.” (bản dịch) «Events phải được bookable để đó chung công khai. Events đó require một membership, hoặc invitation prior để purchasing đó ticket hoặc attending đó event là ineligible cho đó event experience.» Nhảy đến trích dẫn
- “Spectator events where the primary participants and audience are minors and occur on-premise of a school aren’t eligible for the event experience.” (bản dịch) «Spectator events nơi đó chính participants và audience là minors và occur on-premise of một school không eligible cho đó event experience.» Nhảy đến trích dẫn
- “If your site violates one or more of these guidelines, then Google may take manual action against it.” (bản dịch) «Nếu trang web của bạn violates một hoặc hơn of những guidelines, thì Google có thể take manual hành động so với điều này.» Nhảy đến trích dẫn
Event schema bảng tra nhanh
** minimum cho event rich kết quả**
Event.name + startDate + location ( Place với name và
address). Individual event các trang chỉ — một event theo leaf URL.
Bắt buộc so với. được khuyến nghị
| Property | Status | Notes |
|---|---|---|
name | Bắt buộc | Event tiêu đề — không venue, không “Concert,” không promos |
startDate | Bắt buộc | ISO-8601, date và time, với timezone offset |
location | Bắt buộc | Place + location.name + location.address |
endDate | Được khuyến nghị | ISO-8601 |
eventStatus | Được khuyến nghị | Defaults để EventScheduled nếu omitted |
image | Được khuyến nghị | Multiple; 1x1, 4x3, 16x9 aspect ratios |
offers | Được khuyến nghị | url, price, priceCurrency, availability, validFrom |
performer | Được khuyến nghị | Person / PerformingGroup |
organizer | Được khuyến nghị | Organization / Person (name, url) |
description | Được khuyến nghị | Chi tiết sự kiện chỉ; không repeat date/location |
** four eventStatus các giá trị**
| Giá trị | Meaning | mấu chốt rule |
|---|---|---|
EventScheduled | Going ahead ( default) | Assumed nếu eventStatus là absent |
EventCancelled | sẽ không happen | giữ startDate + location; chỉ thay đổi status |
EventPostponed | Happening sau đó, date unknown | giữ gốc startDate cho đến khi bạn know |
EventRescheduled | New date confirmed | Cập nhật startDate/endDate; thêm previousStartDate |
Multi-day so với. multiple performances
| Situation | Markup |
|---|---|
| Một event over several days | Một Event, startDate + endDate |
| Several ticketed performances | Tách biệt Event theo performance |
| Recurring series | EventSeries/eventSchedule — hợp lệ, rich-kết quả impact unconfirmed |
Fast facts
- Format: JSON-LD (được khuyến nghị).
- Virtual-chỉ events không phải eligible cho Google event rich kết quả — physical location bắt buộc.
eventAttendanceMode/VirtualLocation: hợp lệ schema.org, chư đủ alone.- không bao giờ strip
startDate/locationKhi updatingeventStatus. - Base
Eventlà fine — subtypes (MusicEvent, etc.) là tùy chọn. - Bing: không dedicated Event tài liệu, không event rich kết quả.
- Hợp lệ markup = eligible, không guaranteed để hiển thị.
là my event eligible cho Google event rich kết quả?
Hoạt động xuống các câu hỏi:
Is my event eligible for Google's event rich result — and what should I mark up?
Event schema myths và mistakes để tránh
Myth: “Add eventAttendanceMode: OnlineEventAttendanceMode and your virtual-only
event will show in Google’s event rich result.” (bản dịch) «Thêm eventAttendanceMode: OnlineEventAttendanceMode và của bạn virtual-chỉ event sẽ cho thấy trong Google event rich kết quả.»
Sai theo Google hiện tại tài liệu — virtual-chỉ events với không physical component
không supported cho đó event experience, regardless of eventAttendanceMode hoặc
VirtualLocation. Những properties là hợp lệ schema.org và fine cho hybrid
events (mà có một real venue) hoặc non-Google consumers, nhưng they không nhận một
purely online event vào Google rich kết quả.
Myth: “You must use a specific subtype like MusicEvent or BusinessEvent
instead of the base Event type.” (bản dịch) «Bạn phải dùng một cụ thể subtype như MusicEvent hoặc BusinessEvent thay vì đó base Event loại.»
Không bắt buộc — đó base Event loại là hợp lệ và sufficient, và Google
được ghi lại bắt buộc/được khuyến nghị properties apply cùng cách. Subtypes thêm
semantics nếu bạn muốn them, không có gì hơn.
Myth: “Cancelled or expired events should have their schema removed.” (bản dịch) «Cancelled hoặc expired events nên có của họ schema đã xóa.»
Sai, và explicitly warned so với. Giữ startDate và location trong place và
chỉ cập nhật eventStatus để EventCancelled, EventPostponed, hoặc
EventRescheduled. Google cần những properties để identify đó unique event và
communicate đó new status.
Myth: “You can mark up a page listing all your upcoming events and get a rich result for each one.” (bản dịch) «Bạn có thể mark lên một trang listing all của bạn upcoming events và nhận một rich kết quả cho mỗi một.» Unsupported — mỗi event cần của nó own unique leaf-trang URL với của nó own markup. Listing/schedule/calendar các trang không qualify.
Myth: “Event schema is a ranking factor.” (bản dịch) «Event schema là một xếp hạng factor.» Overstated — như other dữ liệu có cấu trúc, điều này làm một trang eligible cho một cụ thể rich kết quả; điều này không một chung organic-tín hiệu xếp hạng.
Myth: “EventPostponed and EventCancelled are interchangeable.” (bản dịch) «EventPostponed và EventCancelled là interchangeable.»
họ là không. EventCancelled có nghĩa là đó event là off; EventPostponed có nghĩa là điều này’ll
happen nhưng đó new date không known tuy vậy — và nên là upgraded để
EventRescheduled (với previousStartDate) khi đó date là confirmed.
Mistake: marking lên một sale, coupon, hoặc “limited time offer” (bản dịch) «limited time offer» as an event. So với policy — Google explicitly calls out ngắn-term discounts, coupons, business hours, và non-event các sản phẩm/services as ineligible/violating. Này có trong lịch sử triggered manual actions.
Mistake: putting đó venue name (hoặc một promo) trong đó event name.
Đó event name là đó event tiêu đề. Dùng location.name cho đó venue, và giữ
promos, prices, và “buy your tickets now” (bản dịch) «buy của bạn tickets hiện tại» out of đó name hoàn toàn.
Mistake: faking bắt đầu time.
giá trị như 2019-08-15T00:00:00+00:00 cho event whose bắt đầu time bạn không
know đọc as theo nghĩa đen midnight. cho day-dài events với unknown/irrelevant
hour, sử dụng date chỉ — không time.
Tools cho validating Event schema
- Schema Markup Validator — paste Event JSON-LD hoặc đầy đủ trang để catch syntax, schema.org vocabulary, và graph-reference các vấn đề trước khi kiểm tra Google Event-cụ thể requirements.
- Rich-Kết quả Eligibility Checker — verify
đó Event bao gồm bắt buộc
name,startDate, và physicallocation, sau đó review bị thiếu được khuyến nghị properties. - Google Rich Kết quả Kiểm thử — kiểm thử deployed event URL với Google renderer và xác nhận Event markup nó thực ra detects.
phổ biến Event schema các vấn đề
markup validates, nhưng online event không phải eligible
- Symptom — virtual-chỉ event có hợp lệ schema.org markup nhưng không eligible Google event rich kết quả.
- có khả năng nguyên nhân —
VirtualLocationvàOnlineEventAttendanceModelà hợp lệ vocabulary, nhưng Google hiện tại Event tài liệu requires thực-world physical location cho điều này rich kết quả. - khắc phục — không fabricate venue. giữ markup cho machine-readability nếu nó accurately mô tả event, nhưng dừng treating Google event experience as khả dụng channel cho đó online-chỉ event.
cancelled hoặc postponed event develops bắt buộc-property các lỗi
- Symptom — Event đó previously qualified hiện tại các báo cáo bị thiếu
startDatehoặclocationsau khi của nó status changed. - có khả năng nguyên nhân — cập nhật xử lý đã xóa identifying properties Khi nó đặt
EventCancelledhoặcEventPostponed. - khắc phục — Restore gốc
startDatevàlocation. Thay đổieventStatustrong khi retaining những điều đó các giá trị; sau khi postponed event có new date, sử dụngEventRescheduled, cập nhật dates, và thêmpreviousStartDate.
Event markup triggers policy vấn đề hoặc manual hành động
- Symptom — Event enhancements disappear broadly, hoặc Search Console các báo cáo structured-dữ liệu manual hành động.
- có khả năng nguyên nhân — các trang là marking lên sales, coupons, business hours, invitation-chỉ activity, hoặc khác non-events as Event nội dung.
- khắc phục — Xóa Event markup từ bất cứ điều gì Đó là không genuine, publicly bookable event, đúng affected các trang, validate them again, và follow Tìm kiếm Console reconsideration xử lý nếu manual hành động là present.
Prove Event markup thay đổi took effect
Kiểm thử 1 — new trong-person event là eligible trong được kết xuất trang
- Kiểm thử để chạy — Kiểm thử deployed leaf-trang URL với Rich-Kết quả Eligibility Checker và Google Rich Kết quả Kiểm thử.
- Dự kiến kết quả — Cả hai detect một Event với
name,startDate, và physicalPlacelocation; Google các báo cáo không cốt yếu Event các lỗi. - thất bại interpretation — virtual-chỉ location, bị thiếu bắt buộc trường, listing-trang implementation, hoặc client-side kết xuất thất bại ngăn dự kiến eligibility.
- Monitoring window — Immediate trong các validator; cho phép tiếp theo Google crawl trước khi expecting Search Console reporting để thay đổi.
- Rollback trigger — không ship markup đó invents physical venue hoặc mô tả khác event hơn visible trang. Xóa block cho đến khi trang và markup có thể agree.
Kiểm thử 2 — status cập nhật preserves event identity
- Kiểm thử để chạy — sau khi setting
EventCancelled,EventPostponed, hoặcEventRescheduled, so sánh được kết xuất JSON-LD với prior version và validate trực tiếp URL again. - Dự kiến kết quả —
startDatevàlocationvẫn present; rescheduled event có new dates vàpreviousStartDatetrong khi status dùng đúng schema.org enumeration. - thất bại interpretation — Bị thiếu identifying các trường có nghĩ là cập nhật job hoặc template stripped dữ liệu đó Google nói để retain.
- Monitoring window — Immediate sau khi status deployment và bộ nhớ đệm clearance.
- Rollback trigger — Revert status-template thay đổi nếu nó xóa
startDatehoặclocationacross event các trang, sau đó redeploy corrected mapping.
Event JSON-LD các ví dụ
tiêu chuẩn trong-person event (Google own ví dụ)
single, scheduled, physically-located event với bắt buộc three properties plus được khuyến nghị extras. Đây là reproduced từ Google Event tài liệu:
{
"@context": "https://schema.org",
"@type": "Event",
"name": "The Adventures of Kira and Morrison",
"startDate": "2025-07-21T19:00-05:00",
"endDate": "2025-07-21T23:00-05:00",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "Place",
"name": "Snickerpark Stadium",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 West Snickerpark Dr",
"addressLocality": "Snickertown",
"postalCode": "19019",
"addressRegion": "PA",
"addressCountry": "US"
}
},
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/event_offer/12345_202403180430",
"price": 30,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2024-05-21T12:00"
},
"performer": {
"@type": "PerformingGroup",
"name": "Kira and Morrison"
},
"organizer": {
"@type": "Organization",
"name": "Kira and Morrison Music",
"url": "https://kiraandmorrisonmusic.com"
}
}Note đó details đó quan trọng: location là một real Place với một đầy đủ address, đó
availability và eventStatus dùng đó schema.org enum URL form (không đơn giản
strings), và đó name là đó event tiêu đề — không đó venue “Snickerpark Stadium,” (bản dịch) «Snickerpark Stadium,»
mà correctly lives trong location.name.
giống nhau event, cancelled — Điều gì thay đổi và Điều gì không
Khi event là được gọi là off, bạn giữ startDate và location chính xác as
họ là và chỉ flip eventStatus:
{
"@context": "https://schema.org",
"@type": "Event",
"name": "The Adventures of Kira and Morrison",
"eventStatus": "https://schema.org/EventCancelled",
"startDate": "2025-07-21T19:00-05:00",
"endDate": "2025-07-21T23:00-05:00",
"location": {
"@type": "Place",
"name": "Snickerpark Stadium",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 West Snickerpark Dr",
"addressLocality": "Snickertown",
"postalCode": "19019",
"addressRegion": "PA",
"addressCountry": "US"
}
}
}một thay đổi là eventStatus → https://schema.org/EventCancelled. Deleting
startDate hoặc location ở đây sẽ là mistake — Google cần them để identify
unique event và tell người dùng nó off.
rescheduled event — new dates, với previousStartDate
sau khi postponed event có confirmed new date, switch để EventRescheduled,
cập nhật dates, và record old một:
{
"@context": "https://schema.org",
"@type": "Event",
"name": "The Adventures of Kira and Morrison",
"eventStatus": "https://schema.org/EventRescheduled",
"previousStartDate": "2025-07-21T19:00-05:00",
"startDate": "2025-09-14T19:00-05:00",
"endDate": "2025-09-14T23:00-05:00",
"location": {
"@type": "Place",
"name": "Snickerpark Stadium",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 West Snickerpark Dr",
"addressLocality": "Snickertown",
"postalCode": "19019",
"addressRegion": "PA",
"addressCountry": "US"
}
}
}Individual event trang so với. listing trang
Đây là phân biệt đó trips lên venues và ticketing các nền tảng:
- ✅ Eligible — individual event trang:
example.com/events/kira-morrison-july-21/với singleEventobject describing đó một hiển thị. Đây là Điều gì qualifies. - ❌ không eligible — listing trang:
example.com/events/cho thấy calendar hoặc grid của ten upcoming hiển thị, marked lên (hoặc không) as batch. Google event experience chỉ hỗ trợ các trang đó focus on single event — so mark lên individual event các trang, không listing.
( JSON-LD chặn trên là simplified illustrative các ví dụ được xây dựng on Google được ghi lại tiêu chuẩn-event ví dụ; validate của bạn own markup với Rich Kết quả Kiểm thử trước khi shipping.)
Tự kiểm tra: Event Schema
Five nhanh các câu hỏi on schema.org/Event, physical-location rule, và event status xử lý. Pick câu trả lời cho mỗi, sau đó kiểm tra.
các tài nguyên worth của bạn time
My writing on điều này topic
I haven’t published standalone Event schema hướng dẫn của my own — so thay vì point bạn tại điều gì đó không exist, honest move là để gửi bạn để chính sources dưới và để related structured-dữ liệu hoạt động on điều này trang web. cho rộng hơn vocabulary và nơi Event fits, see Schema Markup và Structured Dữ liệu hubs; cho AI angle, Schema Markup cho AI.
từ khoảng ngành
- Event (Event) dữ liệu có cấu trúc (Google Search Central) — authoritative reference cho bắt buộc/được khuyến nghị properties,
eventStatus, một-event-một-URL rule, nội dung policies, và virtual-events statement. - New properties cho virtual, postponed, và canceled events (Google Search Central Blog, March 2020) — COVID-era rollout đó nguồn của phần lớn virtual-event advice; đọc nó alongside hiện tại tài liệu để see Cách hướng dẫn evolved.
- Chung Dữ liệu có cấu trúc Guidelines (Google) — trang web-wide độ chính xác/spam policies Event markup phải cũng satisfy.
- schema.org/Event — đầy đủ vocabulary reference cho Event loại và của nó properties.
- Rich Kết quả Kiểm thử (Google) — validate Event markup và kiểm tra eligibility.
- Marking Lên của bạn trang web với Dữ liệu có cấu trúc (Bing Quản trị viên web Tools) — Bing chung (non-Event-cụ thể) structured-dữ liệu hỗ trợ.
- đơn giản SEO Hướng dẫn cho thành công Event Marketing (Ahrefs) — rộng hơn xem xét SEO cho events, với event dữ liệu có cấu trúc as một implementation tactic.
- Điều gì là Schema Markup? Cách Thêm nó & Vì sao điều này quan trọng (Ahrefs) — chung schema hướng dẫn với hữu ích AI-agent/phát hiện angle.
Nhật ký thay đổi
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 17 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.