Vui lòng xem xét các mã sau được đánh dấu bằng các thuộc tính để cung cấp microdata:
<!DOCTYPE html>
<html>
<head>
<title>Micro data test - Normal version</title>
</head>
<body>
<div itemscope itemtype="http://schema.org/Product">
<h1 itemprop="name">Product name</h1>
<img alt="" itemprop="image" src="http://placehold.it/200x200" />
<div itemprop="description">This is the product description.</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<meta content="in_stock" itemprop="availability" />
<span content="GBP" itemprop="priceCurrency">£</span><span itemprop="price">100.00</span>
</div>
</div>
</body>
</html>
Sử dụng Công cụ kiểm tra dữ liệu có cấu trúc của Google cho kết quả khả quan.
Điều này tốt trong ví dụ thử nghiệm, tuy nhiên, chúng tôi muốn triển khai microdata trên nhiều trang web có cấu trúc HTML khác nhau rất nhiều. Để triển khai các thuộc tính theo cách này sẽ yêu cầu ai đó chỉnh sửa đánh dấu HTML theo cách thủ công trên từng trang web riêng lẻ.
Tốt hơn là, chúng tôi muốn có thể gọi một hàm duy nhất đóng gói tất cả các microdata ở một nơi; về mặt kỹ thuật điều này là có thể bằng cách sử dụng thẻ meta theo cách sau:
<!DOCTYPE html>
<html>
<head>
<title>Micro data test - Meta tag version</title>
</head>
<body>
<meta itemscope itemtype="http://schema.org/Product" itemref="microName microImage microDescription microOffer" />
<meta id="microName" itemprop="name" content="Product name" />
<link id="microImage" itemprop="image" href="http://placehold.it/200x200" />
<meta id="microDescription" itemprop="description" content="This is the product description." />
<meta id="microOffer" itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="microCurrency microPrice microAvail" />
<meta id="microAvail" itemprop="availability" content="in_stock" />
<meta id="microCurrency" itemprop="priceCurrency" content="GBP" />
<meta id="microPrice" itemprop="price" content="100.00" />
<div>
<h1>Product name</h1>
<img alt="" src="http://placehold.it/200x200" />
<div>This is the product description.</div>
<div>£100.00</div>
</div>
</body>
</html>
Sử dụng Công cụ kiểm tra dữ liệu có cấu trúc của Google mang lại kết quả tích cực như thử nghiệm đầu tiên.
Để tham khảo (chúng tôi sẽ không bao giờ thực hiện việc này trên một trang web thực tế) Công cụ kiểm tra dữ liệu có cấu trúc của Google trả về lỗi nếu bạn cố gắng vượt qua microdata bị ẩn bởi CSS.
Vì vậy, cả đánh dấu thẻ meta thông thường và thẻ meta đều cho cùng một kết quả, tuy nhiên, tôi có một số lo ngại do các tuyên bố sau từ Google và Schema.org:
https://support.google.com/webmasters đá / 1/750750:
Nói chung, Google sẽ chỉ sử dụng dữ liệu được đánh dấu hiển thị cho người dùng. Dữ liệu ẩn sẽ bị bỏ qua. Tuy nhiên, trong một số trường hợp, có thể hữu ích khi cung cấp cả phiên bản có thể đọc bằng máy và phiên bản có thể đọc được của con người. Ví dụ: trong khi chuỗi văn bản "Sinh nhật của Elvis" có ý nghĩa đối với nhiều độc giả lớn của con người, thì nó không có ý nghĩa đối với các công cụ tìm kiếm như 1935-01-08. Tương tự, độc giả của con người có thể suy ra ý nghĩa của biểu tượng $, nhưng nó có thể hữu ích để nói cụ thể cho các công cụ tìm kiếm xem giá của bạn bằng peso hay đô la.
http://schema.org/docs/gs.html state (liên quan đến việc sử dụng thẻ meta):
Kỹ thuật này nên được sử dụng một cách tiết kiệm. Chỉ sử dụng meta với nội dung cho thông tin không thể được đánh dấu.
http://schema.org/docs/faq.html#13 tiểu bang:
Theo nguyên tắc chung, bạn chỉ nên đánh dấu nội dung hiển thị cho những người truy cập trang web chứ không phải nội dung trong các phần tử trang ẩn hoặc các phần tử ẩn khác.
Câu hỏi của tôi là:
- Mặc dù không có lỗi nào được trả về, liệu chúng ta có bị các công cụ tìm kiếm phạt vì sử dụng thẻ meta theo cách này (nghĩa là trùng lặp nội dung, ẩn thông tin, v.v.) không?
- Nếu điều này không phù hợp, bạn có thể đề xuất bất kỳ cách nào để tách microdata khỏi dữ liệu thực tế hay chúng ta sẽ phải cắn viên đạn và thực hiện điều này trong HTML trong từng trường hợp?