Trong thế giới ngày càng cạnh tranh của marketing trực tuyến, việc tối ưu hóa thông tin về các sự kiện trên website để hiển thị hiệu quả trong kết quả tìm kiếm của Google là điều vô cùng quan trọng. Một trong những cách tốt nhất để đạt được điều này là sử dụng dữ liệu có cấu trúc loại sự kiện. Bài viết này sẽ giúp bạn hiểu rõ hơn về cách sử dụng dữ liệu có cấu trúc để tăng cường khả năng hiển thị sự kiện trên Google, từ đó thu hút nhiều người tham dự hơn.
Trải nghiệm sự kiện trên Google cung cấp một phương thức tối ưu hóa giúp người dùng dễ dàng tìm kiếm và tham dự các sự kiện thông qua kết quả tìm kiếm trên Google và các sản phẩm khác như Google Maps. Tính năng này mang lại nhiều giá trị đáng kể cho chiến lược SEO của bạn:
- Tối ưu hóa kết quả tìm kiếm tương tác: Khi sự kiện của bạn được đánh dấu đúng cách, nó có thể xuất hiện trong trải nghiệm sự kiện trên Google, bao gồm logo, mô tả sự kiện và nhiều thông tin bổ sung, giúp tăng cường khả năng hiển thị và tương tác với người dùng.
- Tăng cơ hội hiển thị và tỷ lệ chuyển đổi: Người dùng sẽ có thêm cách để tương tác với nội dung sự kiện trên website của bạn, từ đó tăng cường lưu lượng truy cập và khả năng chuyển đổi. Điển hình là Eventbrite, họ đã đạt được mức tăng trưởng 100% về lưu lượng truy cập thông qua Google Tìm kiếm so với cùng kỳ năm trước.
Lưu ý: Giao diện thực tế của kết quả tìm kiếm có thể khác nhau tùy vào nhiều yếu tố. Bạn có thể sử dụng công cụ Kiểm tra kết quả nhiều định dạng để xem trước và điều chỉnh cho phù hợp.
Có ba phương pháp chính để đảm bảo sự kiện của bạn đủ điều kiện xuất hiện trên Google:
- Sử dụng trang web của bên thứ ba: Nếu bạn đăng sự kiện thông qua các trang web của bên thứ ba như các nền tảng bán vé hoặc mạng xã hội, hãy kiểm tra xem các trang này đã được tích hợp với Google chưa. Nếu đã tích hợp, bạn chỉ cần tiếp tục đăng sự kiện trên các nền tảng này mà không cần thực hiện thêm bất kỳ thao tác nào.
- Sử dụng hệ thống quản lý nội dung (CMS): Nếu bạn không có quyền truy cập vào HTML của trang web, hãy kiểm tra xem CMS của bạn có hỗ trợ plugin để thêm dữ liệu có cấu trúc không. Ngoài ra, bạn có thể sử dụng công cụ Đánh dấu dữ liệu của Google để cung cấp thông tin sự kiện mà không cần chỉnh sửa HTML.
- Chỉnh sửa HTML trực tiếp: Nếu bạn có khả năng truy cập và chỉnh sửa mã HTML của trang web, bạn có thể thêm dữ liệu có cấu trúc trực tiếp vào mã của trang sự kiện. Việc này sẽ giúp tích hợp sự kiện của bạn với Google một cách tối ưu, đảm bảo sự kiện được hiển thị đúng cách trong kết quả tìm kiếm.
Cách thêm dữ liệu có cấu trúc
Dữ liệu có cấu trúc là một tiêu chuẩn quan trọng trong SEO, giúp cung cấp thông tin rõ ràng về nội dung trang web và phân loại nội dung đó một cách hiệu quả. Nếu bạn chưa quen với khái niệm này, việc tìm hiểu về cách thức hoạt động của dữ liệu có cấu trúc sẽ giúp bạn nắm bắt tốt hơn và áp dụng vào chiến lược SEO của mình.
Dưới đây là hướng dẫn tổng quan về quy trình xây dựng, kiểm tra và phát hành dữ liệu có cấu trúc. Để biết thêm chi tiết, bạn có thể tham khảo tài liệu học tập chuyên sâu về cách tích hợp dữ liệu có cấu trúc vào trang web.
- Thêm các thuộc tính bắt buộc: Dựa trên định dạng schema.org mà bạn đang sử dụng, hãy xác định vị trí chính xác để chèn dữ liệu có cấu trúc trên trang web của bạn. Nếu bạn đang sử dụng một hệ thống quản lý nội dung (CMS), việc tích hợp dữ liệu có thể được đơn giản hóa thông qua các plugin hỗ trợ sẵn có trong CMS. Nếu bạn sử dụng JavaScript, hãy tìm hiểu cách tạo dữ liệu có cấu trúc trực tiếp bằng ngôn ngữ này.
- Tuân thủ các nguyên tắc: Hãy đảm bảo rằng dữ liệu có cấu trúc của bạn tuân theo các nguyên tắc do Google và schema.org đặt ra để đảm bảo tính hợp lệ và hiệu quả trong việc hiển thị.
- Xác thực mã: Sử dụng công cụ Kiểm tra kết quả nhiều định dạng của Google để xác thực mã dữ liệu có cấu trúc của bạn. Sửa chữa các lỗi nghiêm trọng ngay lập tức và xem xét các cảnh báo để cải thiện chất lượng dữ liệu, đảm bảo rằng nội dung của bạn đủ điều kiện xuất hiện trong kết quả tìm kiếm nâng cao.
- Kiểm tra và triển khai: Triển khai dữ liệu có cấu trúc trên một số trang và sử dụng Công cụ kiểm tra URL của Google để xác minh cách Google nhìn thấy và hiểu nội dung trên trang của bạn. Đảm bảo rằng trang của bạn không bị chặn bởi tệp robots.txt, thẻ noindex, hoặc yêu cầu đăng nhập. Nếu trang không gặp vấn đề gì, hãy yêu cầu Google thu thập lại dữ liệu và lập chỉ mục URL mới.Lưu ý: Quá trình thu thập lại dữ liệu và lập chỉ mục có thể mất vài ngày, do đó hãy kiên nhẫn chờ đợi Google cập nhật thông tin mới từ trang web của bạn.
- Thông báo các thay đổi với Google: Mỗi khi có thay đổi quan trọng, hãy gửi lại sơ đồ trang web (sitemap) để thông báo với Google. Bạn có thể tự động hóa quy trình này thông qua Search Console Sitemap API, giúp Google nhanh chóng nhận diện và lập chỉ mục các thay đổi trên trang của bạn.
Ví dụ
Sự kiện tiêu chuẩn
Dưới đây là một ví dụ về cách triển khai dữ liệu có cấu trúc cho một sự kiện tiêu chuẩn sử dụng định dạng JSON-LD. Sự kiện tiêu chuẩn là các sự kiện diễn ra tại một địa điểm cụ thể theo lịch đã được lên kế hoạch. Ngoài ra, bạn cũng có thể sử dụng cú pháp Microdata hoặc RDFa để đánh dấu dữ liệu.
<html>
<head>
<title>The Adventures of Kira and Morrison</title>
<script type="application/ld+json">
{
"@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",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"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"
}
}
</script>
</head>
<body>
</body>
</html>
Sự kiện diễn ra qua mạng
Ví dụ sau minh họa cách triển khai dữ liệu có cấu trúc cho một sự kiện diễn ra hoàn toàn qua mạng.
<html>
<head>
<title>The Adventures of Kira and Morrison</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "The Adventures of Kira and Morrison",
"startDate": "2025-07-21T19:00:00-05:00",
"endDate": "2025-07-21T23:00-05:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
},
"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"
}
}
</script>
</head>
<body>
</body>
</html>
Sự kiện kết hợp cả qua mạng và tại địa điểm thực tế
Dưới đây là ví dụ về sự kiện vừa có hoạt động diễn ra qua mạng vừa có hoạt động tại một địa điểm thực tế.
<html>
<head>
<title>The Adventures of Kira and Morrison</title>
<script type="application/ld+json">
{
"@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",
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"location": [{
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
},
{
"@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"
}
}
</script>
</head>
<body>
</body>
</html>Sự kiện đã thay đổi trạng thái
Trong SEO, việc cập nhật trạng thái sự kiện là rất quan trọng để đảm bảo thông tin hiển thị chính xác trong kết quả tìm kiếm. Dưới đây là một số ví dụ phổ biến về cách cập nhật trạng thái của sự kiện. Để biết thêm chi tiết, bạn có thể tham khảo thuộc tính eventStatus trong schema.org.
Sự kiện bị hủy
Khi một sự kiện bị hủy, bạn cần cập nhật eventStatus thành EventCancelled trong dữ liệu có cấu trúc. Dưới đây là ví dụ về cách thực hiện:
<html>
<head>
<title>The Adventures of Kira and Morrison</title>
<script type="application/ld+json">
{
"@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/EventCancelled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"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"
}
}
</script>
</head>
<body>
</body>
</html>
Sự kiện được dời lịch
Nếu sự kiện được dời lịch, bạn cần sử dụng EventRescheduled cho eventStatus và thêm thuộc tính previousStartDate để chỉ rõ ngày diễn ra ban đầu của sự kiện.
<html>
<head>
<title>The Adventures of Kira and Morrison</title>
<script type="application/ld+json">
{
"@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/EventRescheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"previousStartDate": "2025-03-21T19: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"
}
},
"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"
}
}
</script>
</head>
<body>
</body>
</html>
Sự kiện chuyển sang hình thức trực tuyến và dời lịch
Trong trường hợp sự kiện được chuyển từ hình thức trực tiếp sang trực tuyến và dời lịch, bạn cần sử dụng cả EventRescheduled và EventMovedOnline trong eventStatus, đồng thời cập nhật previousStartDate và location để phản ánh sự thay đổi.
<html>
<head>
<title>The Adventures of Kira and Morrison</title>
<script type="application/ld+json">
{
"@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",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"eventStatus": [
"https://schema.org/EventRescheduled",
"https://schema.org/EventMovedOnline"
],
"previousStartDate": "2025-03-21T19:00-05:00",
"location": {
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
},
"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-05:00"
},
"performer": {
"@type": "PerformingGroup",
"name": "Kira and Morrison"
},
"organizer": {
"@type": "Organization",
"name": "Kira and Morrison Music",
"url": "https://kiraandmorrisonmusic.com"
}
}
</script>
</head>
<body>
</body>
</html>Phạm vi cung cấp dịch vụ theo quốc gia và ngôn ngữ
Google hiện đang mở rộng trải nghiệm tìm kiếm sự kiện để phục vụ nhiều khu vực và ngôn ngữ trên toàn cầu. Hiện tại, dịch vụ này đang được hỗ trợ tại các khu vực và ngôn ngữ sau:
| Khu vực | Ngôn ngữ hỗ trợ |
|---|---|
| Úc | Tiếng Anh |
| Brazil | Tiếng Bồ Đào Nha |
| Canada | Tiếng Anh |
| Đức | Tiếng Đức |
| Ấn Độ | Tiếng Anh |
| Châu Mỹ La Tinh | Tiếng Tây Ban Nha |
| Tây Ban Nha | Tiếng Tây Ban Nha |
| Vương quốc Anh | Tiếng Anh |
| Hoa Kỳ | Tiếng Anh |
Nguyên tắc
Để đảm bảo sự kiện của bạn đủ điều kiện xuất hiện trong trải nghiệm tìm kiếm sự kiện của Google, bạn cần tuân thủ nghiêm ngặt các nguyên tắc mà Google đặt ra.
Cảnh báo: Nếu trang web của bạn vi phạm bất kỳ nguyên tắc nào, Google có thể áp dụng các biện pháp xử phạt thủ công đối với trang web đó. Sau khi khắc phục xong các vấn đề, bạn có thể yêu cầu Google xem xét lại trang web của mình.
- Nguyên tắc kỹ thuật
- Nguyên tắc về nội dung
- Nguyên tắc về ngày và giờ
- Nguyên tắc cơ bản của Tìm kiếm
- Nguyên tắc chung về dữ liệu có cấu trúc
Nguyên tắc kỹ thuật
Trang đích phải chứa các mục dữ liệu có cấu trúc phù hợp với loại sự kiện được định nghĩa trên Schema.org. Mỗi sự kiện PHẢI có một URL riêng biệt (trang chi tiết) và mã đánh dấu tương ứng trên URL đó. Trải nghiệm sự kiện trên Google chỉ hỗ trợ các trang tập trung vào một sự kiện duy nhất. Do đó, bạn nên ưu tiên thêm thẻ đánh dấu vào các trang đăng sự kiện thay vì các trang liệt kê lịch trình hoặc nhiều sự kiện.
Nguyên tắc về nội dung
Mỗi sự kiện phải được mô tả chính xác với đầy đủ tên sự kiện, ngày bắt đầu và địa điểm tổ chức. Tránh việc đánh dấu sự kiện cho các nội dung không phải là sự kiện thực tế:
- Không quảng bá các sản phẩm hoặc dịch vụ không phải là sự kiện, ví dụ như “Du lịch trọn gói: San Diego/LA, 7 đêm” dưới dạng sự kiện.
- Không thêm các ưu đãi giảm giá hoặc cơ hội mua hàng ngắn hạn, ví dụ như: “Đại nhạc hội – mua vé ngay kẻo lỡ” hoặc “Đại nhạc hội – giảm giá vé 50% cho đến Thứ Bảy”.
- Không đánh dấu giờ làm việc là sự kiện, chẳng hạn như: “Công viên phiêu lưu mở cửa từ 8 giờ sáng đến 5 giờ chiều”.
- Không đánh dấu phiếu giảm giá hoặc phiếu thưởng là sự kiện, chẳng hạn như: “Giảm 5% cho đơn hàng đầu tiên”.
Đánh dấu chính xác các sự kiện dài ngày:
- Nếu thông tin về sự kiện hoặc vé của bạn liên quan đến một sự kiện diễn ra trong nhiều ngày, hãy chỉ định rõ cả ngày bắt đầu và ngày kết thúc của sự kiện đó.
- Nếu có nhiều buổi biểu diễn khác nhau diễn ra vào các ngày khác nhau và mỗi ngày có vé riêng, hãy tạo một phần tử Event riêng cho từng buổi biểu diễn.
Nguyên tắc về ngày và giờ
Khi triển khai các thuộc tính startDate, endDate, và previousStartDate, hãy tuân thủ những nguyên tắc về ngày và giờ sau đây:
Cách chỉ định múi giờ
Chỉ định múi giờ bằng cách nêu rõ số giờ lệch so với giờ UTC hoặc GMT. Ví dụ, nếu sự kiện bắt đầu lúc 7 giờ tối ngày 5 tháng 9 tại New York, giá trị startDate sẽ là GMT/UTC-5 theo giờ chuẩn và GMT/UTC-4 theo giờ mùa hè. Khi theo giờ chuẩn, giá trị startDate sẽ là “2019-09-05T19:00:00-05:00” hoặc “2019-09-05T19:00:00-04:00”. Nếu không có thuộc tính múi giờ, Google sẽ sử dụng múi giờ của địa điểm diễn ra sự kiện như được chỉ định trong thuộc tính location. Đối với các sự kiện trực tuyến, bắt buộc phải có thuộc tính múi giờ vì Google không thể dựa vào thông tin vị trí để xác định thời điểm sự kiện bắt đầu.
Các phương pháp hay nhất
- Sự kiện diễn ra trong nhiều ngày: Nếu sự kiện diễn ra trong nhiều ngày, hãy chỉ định rõ cả ngày bắt đầu và ngày kết thúc. Không cần chỉ định giờ nếu không biết giờ cụ thể.Nên:
"startDate": "2019-07-01T10:00:00-05:00",
"endDate": "2019-07-26T17:00:00-05:00"
Nên:
"startDate": "2019-07-01",
"endDate": "2019-07-26"
Không nên:
"startDate": "2019-07-01T00:00:00+00:00",
"endDate": "2019-07-26T23:59:59+00:00"
- Sự kiện bắt đầu vào một giờ cụ thể: Nếu sự kiện bắt đầu vào một thời điểm cụ thể, chẳng hạn như 5 giờ chiều theo giờ địa phương, hãy sử dụng định dạng
"2019-07-20T17:00:00". Hãy nêu rõ số giờ lệch so với giờ UTC (ví dụ: sử dụng"2019-07-20T17:00:00-07:00"nếu sự kiện diễn ra ở California). - Sự kiện kéo dài cả ngày: Nếu sự kiện diễn ra cả ngày, không cần chỉ định giờ chi tiết cho ngày bắt đầu. Ví dụ, bạn có thể sử dụng
"2019-08-15"cho cả startDate và endDate đối với một sự kiện kéo dài cả ngày. - Giờ bắt đầu sự kiện chưa xác định: Nếu không biết thời gian bắt đầu cụ thể, không cần chỉ định giờ chi tiết. Ví dụ, bạn có thể sử dụng
"2019-08-15"cho cả startDate và endDate.Nên:"startDate": "2025-07-21"
Không nên:
"startDate": "2019-08-15T00:00:00+00:00"
Không nên:
"startDate": "2019-07-20T00:00:00"
Ví dụ về cách Google diễn giải ngày tháng
Dưới đây là một số ví dụ về cách Google diễn giải ngày và giờ:
- 2019-08-15T00:00:00+00:00: Google diễn giải startTime là
"2019-08-14T17:00:00-07:00"(nếu location được thiết lập tại California) hoặc"2019-08-15T09:00:00"(nếu location được thiết lập tại Hàn Quốc). - 2019-08-15T23:59:59+00:00: Giá trị này không biểu thị thời điểm cuối ngày 2019-08-15, trừ khi sự kiện xảy ra trong múi giờ GMT. Google diễn giải startTime là
"2019-08-15T16:59:59-07:00"(nếu location được thiết lập tại California) hoặc"2019-08-16T08:59:59"(nếu location được thiết lập tại Hàn Quốc). - 2019-07-10: Giá trị này chỉ định ngày mà không phụ thuộc vào múi giờ. Khi được sử dụng trong startDate, giá trị này có nghĩa là sự kiện sẽ bắt đầu tại location vào một thời điểm nhất định trong ngày đó. Khi được sử dụng trong endDate, giá trị này có nghĩa là sự kiện sẽ kết thúc tại location vào một thời điểm nhất định trong ngày đó.
- 2019-07-20T00:00:00: Giá trị này chỉ thời điểm nửa đêm vào ngày 2019-07-20 theo múi giờ của nơi diễn ra sự kiện. Giá trị này có thể không chính xác trừ khi sự kiện dự kiến bắt đầu lúc nửa đêm.
Định nghĩa các kiểu dữ liệu có cấu trúc
Bạn có thể tham khảo định nghĩa chi tiết về Event tại schema.org/Event.
Để nội dung của bạn đủ điều kiện xuất hiện trong kết quả tìm kiếm nâng cao, bạn phải cung cấp các thuộc tính bắt buộc. Ngoài ra, việc sử dụng các thuộc tính nên có sẽ bổ sung thêm thông tin hữu ích, mang lại trải nghiệm tốt hơn cho người dùng.
Thuộc tính bắt buộc
- location
- Place hoặc VirtualLocation
Đây là địa điểm diễn ra sự kiện. Các yêu cầu sẽ khác nhau tùy thuộc vào việc sự kiện diễn ra trực tuyến hay tại một địa điểm thực tế:
- Địa điểm thực tế: Nếu sự kiện diễn ra tại một địa điểm thực, hãy đặt @type thành Place. Thêm thuộc tính location.address và location.name.
- Sự kiện trực tuyến: Nếu sự kiện diễn ra qua mạng, hãy đặt @type thành VirtualLocation. Thêm thuộc tính location.url.
- Kết hợp địa điểm thực tế và trực tuyến: Nếu bạn tổ chức sự kiện kết hợp cả qua mạng và tại địa điểm thực tế, hãy lồng cả hai thuộc tính này vào trong một mảng. Ví dụ:
"location": [
{
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
},
{
"@type": "Place",
"name": "Snickerpark Stadium",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 West Snickerpark Dr",
"addressLocality": "Snickertown",
"postalCode": "19019",
"addressRegion": "PA",
"addressCountry": "US"
}
}
]
- location.address
- PostalAddress
Địa chỉ chi tiết của nơi diễn ra sự kiện. Thuộc tính này chỉ bắt buộc đối với các sự kiện diễn ra tại địa điểm thực tế.
- Không nên: “Sydney”
- Nên: “Bennelong Point, Sydney NSW 2000, Úc”
Ví dụ tại Hoa Kỳ:
"location": {
"@type": "Place",
"name": "Snickerpark Stadium",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 West Snickerpark Dr",
"addressLocality": "Snickertown",
"postalCode": "19019",
"addressRegion": "PA",
"addressCountry": "US"
}
}
Ví dụ tại Nhật Bản:
Bạn có thể viết địa chỉ tại Nhật Bản theo nhiều cách và Google vẫn sẽ hiểu được địa chỉ của bạn. Ví dụ:
"location": {
"@type": "Place",
"name": "ダイバーシティ東京",
"address": {
"@type": "PostalAddress",
"streetAddress": "江東区青海1-10",
"addressLocality": "東京",
"addressCountry": "日本"
}
}
- location.url
- URL
URL của sự kiện trực tuyến để người dùng có thể tham gia. Thuộc tính này là bắt buộc nếu sự kiện diễn ra qua mạng. Nếu URL chỉ có sau khi đăng ký sự kiện, hãy cung cấp URL đăng ký.
"location": {
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
}
- name
- Text
Tiêu đề đầy đủ của sự kiện. ĐỪNG ghi tên địa điểm tổ chức sự kiện trong trường này, thay vào đó hãy sử dụng thuộc tính location.name.
- Không nên: “Bill Graham Civic Auditorium”
- Không nên: “GIẢM GIÁ TRONG THỜI GIAN CÓ HẠN – Buổi biểu diễn của Kesha và Macklemore – $25”
- Nên: “Cuộc phiêu lưu của Kesha và Macklemore”
- Nên: “Giao lưu và gặp gỡ Kesha và Macklemore”
Các phương pháp hay nhất:
- Không sử dụng loại sự kiện làm tên của sự kiện. Ví dụ: “Buổi hòa nhạc” không phải là tên mô tả thích hợp.
- Không bao gồm thông tin không liên quan như URL, giá hoặc người biểu diễn; hãy sử dụng các thuộc tính thích hợp cho các giá trị đó.
- Nêu bật nét độc đáo của sự kiện trong tiêu đề để giúp người dùng quyết định nhanh hơn (ví dụ: “có phiên Hỏi đáp với nghệ sĩ”).
- Không thêm các quảng cáo ngắn hạn (ví dụ: “mua vé ngay”).
- startDate
- DateTime
Ngày và giờ bắt đầu của sự kiện theo định dạng ISO-8601. Hãy chỉ định đầy đủ ngày và giờ để người dùng có thể tìm thấy các sự kiện phù hợp với lịch trình của họ. Đối với các sự kiện trực tuyến, bạn phải chỉ định múi giờ bằng cách nêu rõ số giờ chênh lệch so với giờ UTC hoặc GMT.
Hãy nhớ tuân theo Nguyên tắc về ngày và giờ.
"startDate": "2025-07-21T19:00"
Thuộc tính nên có
- description
- Text
Mô tả về sự kiện. Cung cấp một mô tả rõ ràng và ngắn gọn để người dùng dễ dàng hiểu và tham gia sự kiện.
Các phương pháp hay nhất:
- Tập trung vào các chi tiết về sự kiện chứ không phải các tính năng trên trang web của bạn.
- Đừng lặp lại các thông tin như ngày và địa điểm, hãy thêm những thông tin đó vào các thuộc tính thích hợp.
"description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance."
Google chỉ hiển thị một đoạn trích từ phần mô tả đầy đủ.
- endDate
- DateTime
Ngày và thời gian kết thúc của sự kiện theo định dạng ISO-8601. Sử dụng định dạng tương tự như startDate.
Hãy nhớ tuân theo Nguyên tắc về ngày và giờ.
"endDate": "2025-07-21T23:00"
- eventAttendanceMode
- EventAttendanceModeEnumeration
Chỉ rõ rằng sự kiện diễn ra trực tuyến, tại địa điểm thực tế hay kết hợp cả hai hình thức. Nếu không cung cấp thuộc tính này, Google sẽ mặc định hiểu rằng sự kiện có trạng thái OfflineEventAttendanceMode (diễn ra tại địa điểm thực tế).
- OfflineEventAttendanceMode: Sự kiện có thể tham dự trực tiếp tại địa điểm thực.
- OnlineEventAttendanceMode: Sự kiện có thể tham dự trực tuyến.
- MixedEventAttendanceMode: Sự kiện có thể tham dự cả trực tuyến và tại địa điểm thực.
Bạn có thể bắt đầu sử dụng thuộc tính eventAttendanceMode mặc dù nó đang chờ được xử lý trên schema.org.
Ví dụ về sự kiện trực tuyến:
{
"@context": "https://schema.org",
"@type": "Event",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
}
}
Ví dụ về sự kiện kết hợp:
{
"@context": "https://schema.org",
"@type": "Event",
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"location": [
{
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
},
{
"@type": "Place",
"name": "Snickerpark Stadium",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 West Snickerpark Dr",
"addressLocality": "Snickertown",
"postalCode": "19019",
"addressRegion": "PA",
"addressCountry": "US"
}
}
]
}
- eventStatus
- EventStatusType
Trạng thái của sự kiện. Nếu không sử dụng trường này, Google sẽ mặc định hiểu eventStatus là EventScheduled. Dưới đây là các giá trị được hỗ trợ:
- EventCancelled: Sự kiện đã bị hủy.Đừng xóa hoặc thay đổi các thuộc tính khác (ví dụ: startDate hoặc location); hãy giữ nguyên các giá trị và cập nhật thuộc tính eventStatus thành EventCancelled.
{
"@context": "https://schema.org",
"@type": "Event",
"eventStatus": "https://schema.org/EventCancelled",
"startDate": "2020-07-21T19:00"
}
- EventMovedOnline: Sự kiện đã chuyển từ tham dự trực tiếp sang tham dự trực tuyến.
{
"@context": "https://schema.org",
"@type": "Event",
"eventStatus": "https://schema.org/EventMovedOnline",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
},
"startDate": "2020-07-21T19:00"
}
- EventPostponed: Sự kiện bị hoãn sang một ngày khác, nhưng chưa biết ngày nào. Giữ nguyên ngày ban đầu trong thuộc tính startDate cho đến khi biết ngày tổ chức mới. Sau khi biết thông tin, hãy cập nhật thuộc tính eventStatus thành EventRescheduled và thay đổi startDate và endDate.
{
"@context": "https://schema.org",
"@type": "Event",
"eventStatus": "https://schema.org/EventPostponed",
"startDate": "2020-07-21T19:00"
}
- EventRescheduled: Sự kiện đã đổi lịch sang ngày khác. Hãy cập nhật ngày mới cho thuộc tính startDate và endDate. Nếu muốn, bạn có thể thêm thuộc tính previousStartDate.
{
"@context": "https://schema.org",
"@type": "Event",
"eventStatus": "https://schema.org/EventRescheduled",
"startDate": "2020-07-21T19:00",
"endDate": "2025-07-21T23:00",
"previousStartDate": "2025-03-21T19:00"
}
- EventScheduled: Sự kiện đã được lên lịch. Đây là trạng thái mặc định nếu không đặt thuộc tính eventStatus.
{
"@context": "https://schema.org",
"@type": "Event",
"eventStatus": "https://schema.org/EventScheduled",
"startDate": "2020-07-21T19:00"
}
- image
- ImageObject hoặc URL
URL của hình ảnh hoặc biểu trưng cho sự kiện. Hãy sử dụng hình ảnh giúp người dùng hiểu và tương tác với sự kiện của bạn. Hình ảnh nên có chiều rộng tối thiểu là 720px và chiều rộng đề xuất là 1920px.
Nguyên tắc bổ sung về hình ảnh:
- Mỗi trang phải chứa ít nhất một hình ảnh, cho dù có đánh dấu hình ảnh đó hay không.
- URL của hình ảnh phải cho phép Google thu thập dữ liệu và lập chỉ mục.
- Hình ảnh phải mang tính đại diện cho nội dung được đánh dấu.
- Định dạng hình ảnh phải được Google Hình ảnh hỗ trợ.
- Để có kết quả tốt nhất, bạn nên cung cấp nhiều hình ảnh có độ phân giải cao và theo tỷ lệ khung hình 16×9, 4×3, hoặc 1×1.
Ví dụ:
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
]
- location.name
- Text
Tên chi tiết của địa điểm tổ chức sự kiện. Bạn chỉ nên dùng thuộc tính này cho những sự kiện diễn ra ở địa điểm thực.
- Không nên: “San Francisco, CA”
- Nên: “Khán phòng Bill Graham Civic Auditorium”
Các phương pháp hay nhất:
- Không bao gồm tên thành phố trừ khi đó là sự kiện diễn ra trên toàn thành phố.
- Thuộc tính location.name phải là tên của địa điểm diễn ra sự kiện, không phải thuộc tính trùng lặp với tiêu đề của sự kiện.
- offers
- Offer
Một mục Offer được lồng, một mục cho mỗi loại vé.
"offers": {
"@type": "Offer"
}
- offers.availability
- Text
Một trong những giá trị sau:
- InStock: Còn vé.
- SoldOut: Đã bán hết vé.
- PreOrder: Có thể đặt trước vé.
"offers": {
"@type": "Offer",
"availability": "https://schema.org/InStock"
}
- offers.price
- Number
Giá thấp nhất hiện có, bao gồm cả phí dịch vụ và các loại phí khác. Nếu sự kiện không yêu cầu thanh toán, hãy đặt price thành 0.
"offers": {
"@type": "Offer",
"price": "30"
}
- offers.priceCurrency
- Text
Mã tiền tệ ISO 4217 gồm 3 chữ cái.
"offers": {
"@type": "Offer",
"priceCurrency": "USD"
}
- offers.validFrom
- DateTime
Ngày giờ bán vé (bắt buộc nếu bạn bán vé trong một khung thời gian có hạn), theo định dạng ISO-8601.
"offers": {
"@type": "Offer",
"validFrom": "2024-05-21T12:00"
}
- offers.url
- URL
URL của một trang cho phép người dùng mua vé.
"offers": {
"@type": "Offer",
"url": "https://www.example.com/event_offer/12345_201803180430"
}
Yêu cầu đối với URL này:
- Liên kết trực tiếp đến trang đích rõ ràng cung cấp cơ hội mua vé.
- Cho phép Googlebot thu thập dữ liệu (không bị chặn bởi robots.txt).
- organizer
- Organization hoặc Person
Người hoặc tổ chức đứng ra tổ chức sự kiện. Thuộc tính này đặc biệt quan trọng với các sự kiện trực tuyến không có thông tin về địa điểm. Nếu dùng organizer, hãy thêm các thuộc tính sau:
- organizer.name
- organizer.url
- performer
- Person
Những người tham gia biểu diễn tại sự kiện, chẳng hạn như nghệ sĩ và diễn viên hài. Sử dụng thuộc tính PerformingGroup hoặc Person.
"performer": {
"@type": "PerformingGroup"
}
- performer.name
- Text
Tên của những người tham gia biểu diễn tại sự kiện.
"performer": {
"@type": "PerformingGroup",
"name": "Kira and Morrison"
}
- previousStartDate
- DateTime
Ngày bắt đầu theo lịch trước đó nếu sự kiện này đã được lên lịch lại. Nếu thêm previousStartDate, bạn cũng phải thêm thuộc tính eventStatus và đặt giá trị EventRescheduled.
{
"@context": "https://schema.org",
"@type": "Event",
"previousStartDate": ["2020-03-21T19:00-05:00", "2020-03-20T19:00-05:00"],
"eventStatus": "https://schema.org/EventRescheduled",
"startDate": "2020-07-21T19:00-05:00"
}Theo dõi kết quả nhiều định dạng bằng Search Console
Search Console là công cụ giúp bạn theo dõi hiệu quả hoạt động của các trang web trong Google Tìm kiếm. Mặc dù bạn không bắt buộc phải đăng ký sử dụng Search Console để trang web xuất hiện trên Google Tìm kiếm, nhưng việc này có thể giúp bạn hiểu và cải thiện cách Google nhìn nhận trang web của bạn. Bạn nên kiểm tra Search Console trong các trường hợp sau:
- Sau lần đầu triển khai dữ liệu có cấu trúc
- Sau khi phát hành mẫu mới hoặc cập nhật mã của bạn
- Phân tích lưu lượng truy cập định kỳ
Sau khi triển khai dữ liệu có cấu trúc lần đầu tiên
Khi Google lập chỉ mục các trang của bạn, hãy kiểm tra Báo cáo trạng thái kết quả nhiều định dạng có liên quan để phát hiện vấn đề. Lý tưởng nhất là số mục hợp lệ tăng lên và số mục không hợp lệ không tăng. Nếu bạn tìm thấy vấn đề trong dữ liệu có cấu trúc:
- Sửa các mục không hợp lệ.
- Kiểm tra URL đang hoạt động để xem vấn đề đã được giải quyết chưa.
- Yêu cầu xác thực bằng cách sử dụng Báo cáo trạng thái.
Sau khi phát hành các mẫu mới hoặc cập nhật mã
Khi thực hiện những thay đổi đáng kể trên trang web, hãy theo dõi xem số lượng mục dữ liệu có cấu trúc không hợp lệ có tăng lên hay không.
- Nếu số mục không hợp lệ tăng, có thể bạn đã triển khai một mẫu mới không hoạt động chính xác hoặc trang web của bạn đang tương tác với mẫu hiện có theo cách mới và không hợp lệ.
- Nếu số mục hợp lệ giảm (nhưng số mục không hợp lệ không tăng), có thể bạn đã ngừng nhúng dữ liệu có cấu trúc trên các trang của mình. Hãy sử dụng Công cụ kiểm tra URL để tìm hiểu nguyên nhân gây ra vấn đề.
Cảnh báo: Đừng sử dụng đường liên kết lưu trong bộ nhớ đệm để gỡ lỗi trên các trang. Thay vào đó, hãy sử dụng Công cụ kiểm tra URL vì công cụ này cung cấp phiên bản mới nhất của các trang.
Phân tích lưu lượng truy cập định kỳ
Phân tích lưu lượng truy cập từ Google Tìm kiếm bằng cách sử dụng Báo cáo hiệu suất. Dữ liệu báo cáo sẽ cho bạn biết tần suất trang web xuất hiện dưới dạng kết quả nhiều định dạng trong Tìm kiếm, tần suất người dùng nhấp vào trang và vị trí trung bình của trang trong kết quả tìm kiếm. Bạn cũng có thể tự động lấy các kết quả này bằng Search Console API.
Khắc phục sự cố
Nếu gặp sự cố khi triển khai hoặc gỡ lỗi dữ liệu có cấu trúc, bạn có thể tham khảo các tài nguyên trợ giúp sau đây:
- Sử dụng hệ thống quản lý nội dung (CMS):
Nếu bạn đang sử dụng CMS hoặc có người khác quản lý trang web, hãy đề nghị họ trợ giúp. Đừng quên chuyển tiếp các thông báo từ Search Console để họ có thể hiểu rõ vấn đề. - Không đảm bảo hiển thị:
Google không đảm bảo rằng các tính năng sử dụng dữ liệu có cấu trúc sẽ xuất hiện trong kết quả tìm kiếm. Để xem danh sách các lý do phổ biến khiến Google không hiển thị nội dung của bạn trong kết quả nhiều định dạng, hãy tham khảo Nguyên tắc chung về dữ liệu có cấu trúc. - Kiểm tra lỗi dữ liệu có cấu trúc:
Có thể có lỗi trong dữ liệu có cấu trúc của bạn. Hãy xem danh sách các lỗi liên quan đến dữ liệu có cấu trúc để xác định nguyên nhân. - Biện pháp thủ công:
Nếu trang của bạn bị áp dụng biện pháp thủ công, dữ liệu có cấu trúc trên trang sẽ bị bỏ qua (mặc dù trang vẫn có thể xuất hiện trong kết quả tìm kiếm của Google). Để khắc phục các vấn đề này, hãy sử dụng báo cáo Biện pháp thủ công. - Xem lại các nguyên tắc:
Kiểm tra xem nội dung của bạn có tuân thủ các nguyên tắc không. Nguyên nhân gây lỗi có thể do nội dung không hợp lệ hoặc thẻ đánh dấu không đúng. Tuy nhiên, vấn đề không phải lúc nào cũng là lỗi cú pháp, do đó Công cụ kiểm tra kết quả nhiều định dạng có thể không xác định được những vấn đề này. - Khắc phục sự cố
Khắc phục sự cố thiếu kết quả nhiều định dạng hoặc giảm tổng số kết quả nhiều định dạng - Chờ Google thu thập dữ liệu:
Hãy dành thời gian để Google thu thập dữ liệu và lập chỉ mục lại. Có thể mất nhiều ngày sau khi bạn xuất bản một trang để Google tìm và thu thập dữ liệu trang đó. Đối với các câu hỏi chung về thu thập dữ liệu và lập chỉ mục, hãy tham khảo Câu hỏi thường gặp về việc thu thập dữ liệu và lập chỉ mục trên Google Tìm kiếm. - Hỗ trợ từ cộng đồng:
Đăng câu hỏi trong diễn đàn của Trung tâm Google Tìm kiếm nếu bạn gặp khó khăn. - Sự kiện không hiển thị:
Nếu sự kiện của bạn không xuất hiện trong kết quả tìm kiếm sự kiện trên Google hoặc bị áp dụng biện pháp thủ công do sử dụng mã đánh dấu có cấu trúc vi phạm, hãy giải quyết các vấn đề thường gặp và xem lại các nguyên tắc của chúng tôi. Nếu vẫn gặp vấn đề, hãy xem phần Câu hỏi thường gặp về Sự kiện hoặc đăng câu hỏi trong diễn đàn của Trung tâm Google Tìm kiếm. - Không đảm bảo hiển thị dữ liệu có cấu trúc:
Google không đảm bảo dữ liệu có cấu trúc của bạn sẽ xuất hiện trong kết quả tìm kiếm, ngay cả khi Công cụ kiểm tra kết quả nhiều định dạng cho biết bạn đã đánh dấu trang đúng cách. Để xem danh sách các lý do phổ biến khiến Google không hiển thị dữ liệu có cấu trúc của bạn trong kết quả tìm kiếm, hãy tham khảo Nguyên tắc chung về dữ liệu có cấu trúc.
Địa điểm tổ chức sự kiện bị thiếu hoặc không chính xác
- Nguyên nhân:
Google không thể hiểu được các giá trị đã cung cấp cho thuộc tính eventLocation, addressLocality hoặc addressRegion. Google cố gắng khớp thông tin địa điểm với địa điểm thực tế, nhưng thông tin được cung cấp có thể bị thiếu hoặc không chính xác. - Khắc phục vấn đề:
- Đảm bảo dữ liệu có cấu trúc có chứa giá trị cho eventLocation, addressLocality hoặc addressRegion.
- Kiểm tra xem trường location.name có sử dụng tên địa điểm không, hoặc để trống trường này nếu không có tên. Một vấn đề phổ biến là vô tình đặt tên sự kiện trong trường location.name.
- Xác thực kết quả sửa lỗi:
- Mở Công cụ kiểm tra kết quả nhiều định dạng.
- Nhập URL của trang đăng sự kiện vào hộp tìm nạp URL.
- Nhấp vào Xác thực.
- Nhấp vào Xem trước.
Thành công: Công cụ kiểm tra kết quả nhiều định dạng hiển thị eventLocation chính xác trong công cụ xem trước trên Google Tìm kiếm.
Thử lại: Công cụ kiểm tra kết quả nhiều định dạng hiển thị giá trị “false” (sai) cho địa điểm sự kiện. Hãy đảm bảo rằng địa điểm bạn cung cấp là một địa điểm có thực.
Trang web của tôi không hiển thị dưới dạng tùy chọn để mua vé
- Nguyên nhân:
Thuộc tính offers.url bị thiếu hoặc không đáp ứng các yêu cầu đối với URL. - Khắc phục vấn đề:
- Đảm bảo dữ liệu có cấu trúc của bạn chứa thuộc tính offers.url.
- Đảm bảo URL của bạn đáp ứng các yêu cầu về URL đối với offers.url.
- Yêu cầu Google thu thập lại dữ liệu trên trang web của bạn.
- Gửi yêu cầu đánh giá lại.
Giờ hoặc ngày không chính xác
- Nguyên nhân:
Ngày hoặc giờ không chính xác. Các lỗi phổ biến bao gồm không nêu số giờ lệch so với múi giờ bạn sử dụng hoặc chỉ định thời gian bắt đầu không chính xác (ví dụ: thời gian bắt đầu là nửa đêm). - Khắc phục vấn đề:
- Chỉ rõ số giờ nhanh hơn hay chậm hơn so với múi giờ chuẩn tại địa phương. Ví dụ: nếu sự kiện của bạn bắt đầu lúc 7 giờ tối tại New York (UTC – 5) và kết thúc lúc 9 giờ tối, thì giá trị của startDate là 2019-08-15T19:00:00-05:00 và giá trị của endDate là 2019-08-15T21:00:00-05:00.
- Đảm bảo thời gian bắt đầu hoặc kết thúc là chính xác. Một sai lầm phổ biến là chỉ định thời gian bắt đầu cho một sự kiện là nửa đêm khi sự kiện không thực sự bắt đầu vào lúc đó. Nếu sự kiện kéo dài cả ngày hoặc giờ bắt đầu chưa được công bố, bạn chỉ nên xác định ngày. Ví dụ:
- Nên: 2019-07-20
- Không nên: 2019-07-20T00:00:00
- Không nên: 2019-08-15T00:00:01+00:00
- Không nên: 2019-08-15T00:00:00+00:00
Việc sử dụng dữ liệu có cấu trúc loại sự kiện không chỉ giúp tăng cường khả năng hiển thị sự kiện trên Google mà còn nâng cao trải nghiệm người dùng khi tìm kiếm thông tin. Bằng cách tuân thủ các nguyên tắc và tối ưu hóa nội dung, bạn có thể thu hút nhiều người tham dự hơn và tối đa hóa hiệu quả của các sự kiện trực tuyến và trực tiếp. Hãy bắt đầu tích hợp dữ liệu có cấu trúc vào trang web của bạn ngay hôm nay để sự kiện của bạn trở nên nổi bật và dễ dàng được tìm thấy hơn.
