9.1 Dữ liệu có cấu trúc là gì?
Dữ liệu có cấu trúc (structured data) — là cách thêm metadata vào tài liệu HTML nhằm cải thiện việc diễn giải nội dung của trang web bởi các công cụ tìm kiếm và các dịch vụ khác. Dữ liệu có cấu trúc được dùng để miêu tả nhiều thực thể và mối quan hệ của chúng trên trang web, giúp cải thiện sự xuất hiện của trang trong kết quả tìm kiếm và cung cấp các tính năng bổ sung như rich snippets.
Dữ liệu có cấu trúc — là dữ liệu có cấu trúc, được thêm vào mã HTML của trang. Nó cung cấp cho các công cụ tìm kiếm thông tin bổ sung về nội dung trang, như loại nội dung, tác giả, ngày phát hành, đánh giá và các thông tin khác.
Các loại dữ liệu có cấu trúc chính:
- Schema.org: tiêu chuẩn dữ liệu có cấu trúc được sử dụng rộng rãi nhất, được hỗ trợ bởi các công cụ tìm kiếm chính (Google, Bing, Yahoo, Yandex)
- JSON-LD: định dạng mã hóa dữ liệu có cấu trúc dưới dạng JSON, được Google khuyến nghị
- Microdata: định dạng dữ liệu có cấu trúc được tích hợp trực tiếp vào mã HTML
9.2 Schema.org
Schema.org — là từ điển các loại dữ liệu và thuộc tính của chúng, được phát triển để cấu trúc dữ liệu trên trang web. Nó hỗ trợ nhiều loại dữ liệu, chẳng hạn như bài viết, sự kiện, tổ chức, sản phẩm, v.v.
Ví dụ sử dụng Schema.org
Bài viết (Article):
<article>
<h1>Tiêu đề bài viết</h1>
<p>Tác giả: Tên tác giả</p>
<p>Ngày xuất bản: 1 tháng 1 năm 2024</p>
<img src="https://example.com/image.jpg" alt="Ví dụ hình ảnh">
<p>Nội dung bài viết...</p>
</article>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Tiêu đề bài viết",
"author": {
"@type": "Person",
"name": "Tên tác giả"
},
"datePublished": "2024-01-01",
"image": "https://example.com/image.jpg",
"publisher": {
"@type": "Organization",
"name": "Nhà xuất bản",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
</script>
Sản phẩm (Product):
<body>
<h1>Tên sản phẩm</h1>
<img src="https://example.com/product.jpg" alt="Hình ảnh sản phẩm">
<p>Mô tả sản phẩm</p>
<p>Giá: $29.99</p>
</body>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Tên sản phẩm",
"image": "https://example.com/product.jpg",
"description": "Mô tả sản phẩm",
"sku": "0446310786",
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "29.99",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"url": "https://example.com/product"
}
}
</script>
Lợi ích của việc sử dụng Schema.org:
- Cải thiện sự nhìn thấy: công cụ tìm kiếm có thể hiển thị dữ liệu bổ sung trong kết quả tìm kiếm (rich snippets).
- Cải thiện diễn giải: công cụ tìm kiếm hiểu nội dung tốt hơn, điều này có thể cải thiện xếp hạng trang.
- Hỗ trợ tiêu chuẩn: Schema.org được hỗ trợ bởi tất cả các công cụ tìm kiếm chính.
9.3 JSON-LD
JSON-LD (JavaScript Object Notation for Linked Data) — là phương pháp mã hóa dữ liệu có cấu trúc theo định dạng JSON, được chèn vào thẻ <script> trên trang. Google khuyến nghị sử dụng JSON-LD cho dữ liệu có cấu trúc.
Ví dụ sử dụng JSON-LD
Tổ chức (Organization):
<body>
<h1>Tên công ty</h1>
<p>Mô tả công ty</p>
<div>Liên hệ</div>
</body>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Tên công ty",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-555-1212",
"contactType": "Dịch vụ khách hàng"
}
}
</script>
9.4 Microdata
Microdata — là định dạng dữ liệu có cấu trúc tích hợp trong HTML. Các thuộc tính microdata được thêm trực tiếp vào các phần tử HTML để liên kết chúng với các loại và thuộc tính từ từ điển Schema.org.
Ví dụ sử dụng Microdata
Sự kiện (Event):
<body itemscope itemtype="https://schema.org/Event">
<h1 itemprop="name">Tên sự kiện</h1>
<p itemprop="startDate" content="2024-05-01T19:00">1 tháng 5 năm 2024, 19:00</p>
<div itemprop="location" itemscope itemtype="https://schema.org/Place">
<span itemprop="name">Địa điểm</span>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">Đường, số nhà</span>
<span itemprop="addressLocality">Thành phố</span>
<span itemprop="postalCode">Mã bưu điện</span>
<span itemprop="addressCountry">Quốc gia</span>
</div>
</div>
</body>
Lợi ích của việc sử dụng dữ liệu có cấu trúc:
- Rich snippets: các công cụ tìm kiếm có thể hiển thị các đoạn mã mở rộng trong kết quả tìm kiếm, làm tăng khả năng nhấp chuột.
- Cải thiện sự hiểu biết về nội dung: các công cụ tìm kiếm hiểu nội dung tốt hơn, điều này có thể cải thiện xếp hạng trang.
- Hỗ trợ tìm kiếm bằng giọng nói: dữ liệu có cấu trúc có thể cải thiện kết quả tìm kiếm bằng giọng nói.
- Tích hợp với các dịch vụ khác: dữ liệu có cấu trúc cho phép tích hợp nội dung với các dịch vụ khác nhau, như Google Knowledge Graph và các dịch vụ khác.
GO TO FULL VERSION