Event Schema
Schema mô tả sự kiện với startDate, endDate, location, performer và offers.
Event Schema là gì?
Event Schema là một loại dữ liệu có cấu trúc (structured data) theo chuẩn Schema.org, dùng để mô tả chi tiết về một sự kiện — như buổi hòa nhạc, hội thảo, triển lãm, trận đấu thể thao hoặc lớp học trực tiếp. Nó giúp công cụ tìm kiếm hiểu rõ hơn về thời gian diễn ra, địa điểm, người tổ chức, nghệ sĩ biểu diễn, giá vé và các điều kiện mua vé.
Schema này thuộc nhóm Thing > Event, và hỗ trợ nhiều loại sự kiện con như MusicEvent, SportsEvent, TheaterEvent, EducationEvent… Mỗi loại có thể bổ sung thuộc tính riêng, nhưng các thuộc tính bắt buộc hoặc thường dùng nhất gồm: startDate, endDate, location, performer, offers và name.
Tại sao quan trọng trong SEO?
Event Schema giúp trang web xuất hiện trong các kết quả tìm kiếm nâng cao như Rich Results (kết quả mở rộng), đặc biệt trên Google. Khi được triển khai đúng, sự kiện có thể hiển thị dưới dạng thẻ thông tin nổi bật với ngày giờ, địa chỉ, nút đặt vé — tăng khả năng nhấp (CTR) lên 20–35% so với kết quả bình thường (theo báo cáo của Search Engine Journal, 2023).
Ngoài ra, dữ liệu có cấu trúc còn hỗ trợ lập chỉ mục chính xác hơn: Google dễ phân biệt giữa một bài viết nói về sự kiện và một trang bán vé thực tế. Điều này giảm nhiễu ngữ nghĩa và cải thiện độ tin cậy của trang trong mắt thuật toán.
Cách hoạt động
Event Schema hoạt động bằng cách gắn nhãn rõ ràng cho từng phần thông tin trên trang — ví dụ: đoạn văn "14h–17h ngày 12/04/2025" được đánh dấu là startDate, không phải chỉ là văn bản thuần. Công cụ tìm kiếm đọc mã JSON-LD (hoặc Microdata/RDFa) và trích xuất dữ liệu thành đồ thị tri thức.
Google không sử dụng Schema để xếp hạng trực tiếp, nhưng việc cung cấp dữ liệu rõ ràng giúp hệ thống hiểu nội dung sâu hơn — từ đó chọn đúng định dạng hiển thị, ưu tiên hiển thị Rich Result khi phù hợp, và kết nối sự kiện với các tính năng như Google Calendar, Google Maps hay Discover.
Hướng dẫn thực hiện
Dưới đây là các bước triển khai Event Schema chuẩn, ưu tiên dùng JSON-LD (được Google khuyến nghị mạnh mẽ):
- Xác định loại sự kiện: Chọn class phù hợp từ Schema.org (ví dụ:
MusicEventthay vì chung chungEventnếu là buổi biểu diễn âm nhạc). - Chuẩn bị dữ liệu bắt buộc: Đảm bảo có đầy đủ
@context,@type,name,startDate.endDatevàlocationnên có để đạt Rich Result. - Định dạng thời gian đúng chuẩn: Dùng định dạng ISO 8601:
"2025-04-12T14:00:00+07:00". Không dùng “12/04/2025” hay “14h ngày 12 tháng 4”. - Mô tả địa điểm rõ ràng: Dùng
PlacehoặcPostalAddress. Nếu có địa chỉ cụ thể, nên bao gồmaddressLocality,addressRegion,postalCode,streetAddress. - Thêm thông tin vé và người biểu diễn: Dùng
offers(vớiprice,priceCurrency,url), vàperformer(có thể làPersonhoặcOrganization). - Test trước khi đăng: Dùng Rich Results Test hoặc Schema Markup Validator.
Lỗi thường gặp
- Thiếu thuộc tính bắt buộc: Không có
startDatehoặcname→ Google bỏ qua Rich Result. Cách khắc phục: Kiểm tra lại danh sách yêu cầu tại tài liệu chính thức của Google. - Định dạng ngày giờ sai: Dùng “12/04/2025” hoặc thiếu múi giờ → dẫn đến lỗi parsing. Cách khắc phục: Luôn dùng ISO 8601 đầy đủ, kèm múi giờ (ví dụ:
+07:00cho Việt Nam). - Địa chỉ không rõ ràng: Chỉ ghi “Hà Nội” mà không có quận/phường/số nhà → Google không hiển thị bản đồ. Cách khắc phục: Điền tối thiểu 3 trong 4 trường:
streetAddress,addressLocality,addressRegion,postalCode. - Dữ liệu mâu thuẫn với nội dung trang: Trang ghi “sự kiện miễn phí”, nhưng Schema lại có
offers.price= “150000” → Google có thể coi là spam. Cách khắc phục: Đồng bộ hóa nội dung hiển thị và dữ liệu cấu trúc.
Ví dụ thực tế
Dưới đây là đoạn JSON-LD mô tả một buổi workshop lập trình tại TP.HCM:
{
"@context": "https://schema.org",
"@type": "EducationEvent",
"name": "Workshop Lập trình Python cho Người mới",
"description": "Học lập trình Python cơ bản trong 1 ngày với giảng viên giàu kinh nghiệm.",
"startDate": "2025-04-12T09:00:00+07:00",
"endDate": "2025-04-12T16:00:00+07:00",
"location": {
"@type": "Place",
"name": "Trung tâm Công nghệ ABC",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Đường Nguyễn Đình Chiểu",
"addressLocality": "Quận 3",
"addressRegion": "TP.HCM",
"postalCode": "700000"
}
},
"offers": {
"@type": "Offer",
"url": "https://example.com/ve-workshop-python",
"price": "495000",
"priceCurrency": "VND"
},
"performer": {
"@type": "Person",
"name": "Anh Nguyễn Văn A"
}
}
Câu hỏi thường gặp
Event Schema có làm tăng thứ hạng không?
Không trực tiếp. Google khẳng định Schema không phải yếu tố xếp hạng. Tuy nhiên, nó gián tiếp hỗ trợ SEO qua việc tăng CTR, cải thiện trải nghiệm người dùng và giúp Google hiểu đúng nội dung — từ đó chọn đúng định dạng hiển thị và giảm tỷ lệ thoát.
Có cần thêm Schema cho mọi sự kiện trên trang?
Chỉ nên triển khai cho các sự kiện có trang đích riêng (landing page), có thông tin đầy đủ và khả năng đặt vé/tham dự. Với danh sách sự kiện (event listing), nên dùng ItemList kết hợp hoặc chỉ đánh dấu sự kiện đang được xem chi tiết.
Event Schema có hỗ trợ tiếng Việt không?
Có. Google hỗ trợ đầy đủ ngôn ngữ tiếng Việt cho Event Schema — bao gồm cả tên sự kiện, mô tả, địa chỉ và tên người biểu diễn. Tuy nhiên, định dạng ngày giờ, mã tiền tệ (VND), và mã vùng (VN) phải tuân thủ chuẩn quốc tế.
Bảng so sánh thuộc tính bắt buộc và tùy chọn
| Thuộc tính | Bắt buộc? | Ghi chú |
|---|---|---|
name |
✓ | Tên sự kiện, tối đa 120 ký tự |
startDate |
✓ | Phải có múi giờ (VD: +07:00) |
location |
✓ để có Rich Result | Nên dùng Place hoặc PostalAddress |
description |
✗ | Nên có để tăng độ phong phú hiển thị |
offers |
✗ | Cần nếu có vé/mua hàng; bắt buộc phải có price và priceCurrency |
performer |
✗ | Tùy trường hợp — nên có với sự kiện biểu diễn |