Cung cấp dữ liệu có cấu trúc

Trang này hướng dẫn bạn cách thêm dữ liệu có cấu trúc mà toán tử tìm kiếm phụ thuộc vào.

Các trang web thường chứa văn bản dạng tự do, điều này dễ con người có thể đọc nhưng máy tính lại khó hiểu hơn. Hơi nhiều các trang web có thông tin với cấu trúc lớn hơn dễ dàng đọc, chẳng hạn như ngày của trang được nhúng trong URL hoặc tiêu đề của trang, hoặc các trường mà máy có thể đọc được nhúng trong mã HTML. Điều khoản trích xuất nhiều dữ liệu có cấu trúc từ các trang web. Chiến dịch này mô tả các loại dữ liệu có cấu trúc mà Google trích xuất có thể dùng trong Đoạn mã tuỳ chỉnhTìm kiếm có cấu trúc.

  1. Tổng quan
  2. Cung cấp dữ liệu cho Công cụ tìm kiếm có thể lập trình
  3. Cung cấp dữ liệu cho đoạn mã chi tiết
  4. Xem dữ liệu có cấu trúc đã trích xuất

Tổng quan

Khi đọc trang web bán DVD, bạn có thể nhanh chóng tìm hiểu tiêu đề phim, ý kiến của người đánh giá về bộ phim và cách họ xếp hạng địa điểm đó. Nhưng máy tính không thể làm những việc tương tự vì không hiểu được cấu trúc của thông tin.

Ví dụ: nếu trang có nội dung về DVD, cùng với đề xuất cho các mặt hàng khác, quảng cáo từ các cửa hàng khác và nhận xét của khách hàng—thì trang có thể có các mức giá khác nhau cho các mức giá khác nhau chứ không chỉ đối với DVD đang được bán. Bạn có thể dễ dàng tìm ra bỏ qua các mức giá khác, nhưng máy tính không thể. Một số chương trình phức tạp có thể tìm thấy giá trong trang web đó nhưng họ không thể xác định các quy tắc để chỉ tìm giá của DVD.

Định dạng dữ liệu có cấu trúc là các quy tắc chuẩn hoá cấu trúc và nội dung của trang web. Chúng là những ký tự đánh dấu mà bạn áp dụng cho các đoạn văn bản để máy tính có thể xử lý ý nghĩa hoặc ngữ nghĩa của chúng. Việc đánh dấu không thay đổi của trang web, công cụ này chỉ đặt siêu dữ liệu và văn bản bên trong các thẻ IME có ý nghĩa hơn đối với máy tính.

Công cụ tìm kiếm có thể lập trình nhận dạng các định dạng sau:

  • PageMaps: các khối XML vô hình có thể thêm siêu dữ liệu vào trang.
  • JSON-LD: dữ liệu có cấu trúc vô hình sử dụng Định dạng JSON.
  • Vi định dạng: thẻ dùng để đánh dấu hiển thị nội dung trang cùng với các loại được xác định trước.
  • RDFa: một tiêu chuẩn thay thế để đánh dấu hiển thị nội dung trang cùng với các loại tuỳ ý.
  • Vi dữ liệu: một tiêu chuẩn HTML5 mới để đánh dấu nội dung trang hiển thị.
  • Thẻ <meta>: thẻ HTML chuẩn, một tập hợp con của thẻ này được Google phân tích cú pháp.
  • Ngày trang: hiển thị các tính năng trên một trang cho biết ngày mà Google cố gắng phân tích cú pháp

Bạn có thể sử dụng một hoặc kết hợp nhiều định dạng mà mình muốn. Xin lưu ý rằng không giống như Công cụ tìm kiếm có thể lập trình, Google Tìm kiếm chỉ sử dụng JSON-LD, Vi dữ liệu và RDFa khi tạo đoạn trích nhiều định dạng và có thuật toán cũng như chính sách riêng để xác định thông tin nào được hiển thị cho người dùng. Mặc dù phần tử dữ liệu có cấu trúc bạn thêm các trang của bạn có thể xuất hiện trên Công cụ tìm kiếm có thể lập trình, nên dữ liệu đó có thể không được sử dụng trong Kết quả tìm kiếm.

Phần sau đây bao gồm một đoạn mã HTML thuần tuý lý tưởng hoá từ một trang web đánh giá:

<div>
    <div>
        <h1>Pizza My Heart</h1>
    </div>
    <span>88%</span> like it
    <a href="#reviews">See all 12 reviews</a>
    <span>Under $10 per entree</span>
<div>

Đoạn mã sau đây cho thấy mã HTML trước đó được mở rộng bằng định dạng có tên là microformats:

<div class="hreview-aggregate">
    <div class="vcard item">
        <h1 class="fn">Pizza My Heart</h1>
    </div>
    <span class="rating average">88%</span> like it
    <a href="#reviews">See all <span class="count">12</span> reviews</a>
    <span class="pricerange">Under $10 per entree</span>
<div>
Bạn có thể xem các tính năng mà Công cụ tìm kiếm có thể lập trình trích xuất bằng cách làm theo các bước sau phương thức này

Bằng cách kết hợp các định dạng dữ liệu có cấu trúc chuẩn vào các trang web, bạn không chỉ cung cấp dữ liệu cho Công cụ tìm kiếm có thể lập trình, mà còn cho mọi dịch vụ hoặc công cụ hỗ trợ cùng một tiêu chuẩn. Đăng ký dữ liệu có cấu trúc vào thông tin quan trọng nhất trên trang web, vì vậy, bạn có thể hiển thị chúng trực tiếp trong kết quả. Ví dụ: nếu bạn có một trang web bán các thiết bị Android, hãy bao gồm dữ liệu có cấu trúc về điểm xếp hạng, giá, tình trạng còn hàng và những thông tin khác. Khi người dùng tìm kiếm cho thiết bị Android, họ có thể xem xếp hạng, giá cả và khả năng sử dụng nhanh chóng.

Vì vậy, máy tính hiện có thể hiểu trên trang web đó. Bây giờ bạn phải làm gì? Máy tính cũng có thể bắt đầu thực hiện nhiệm vụ cơ bản là tìm và kết hợp thông tin trong các các trang web khác. Điều này giúp người dùng thoát khỏi các công việc hoàn toàn nhàm chán, chẳng hạn như chọn lọc qua nhiều trang để tìm những mục mình muốn. Công cụ tìm kiếm, chẳng hạn như Công cụ tìm kiếm có thể lập trình, có thể xử lý dữ liệu có cấu trúc trong trang web và hiển thị thông tin đó theo cách hữu ích, có ý nghĩa hơn, chẳng hạn như đoạn mã tuỳ chỉnhtìm kiếm có cấu trúc.

Trở lại đầu trang

Cung cấp dữ liệu cho Công cụ tìm kiếm có thể lập trình

Google hỗ trợ nhiều loại dữ liệu được sử dụng chủ yếu bởi Công cụ tìm kiếm có thể lập trình: Sơ đồ trang, một tập hợp con thẻ <meta> và ngày gần đúng của trang.

Sử dụng PageMaps

PageMaps là một định dạng dữ liệu có cấu trúc cung cấp cho Google thông tin về dữ liệu trên một trang. Công cụ này cho phép người tạo trang web nhúng dữ liệu và ghi chú vào các trang web khác. Mặc dù dữ liệu có cấu trúc không hiển thị cho người dùng của bạn hoặc Google Web Search, Công cụ tìm kiếm có thể lập trình nhận ra Google Web Search khi lập chỉ mục các trang web của bạn và trực tiếp trả lại hàng trong Phần tử tìm kiếm có thể lập trình.

Bạn có thể thêm PageMaps vào một trang một cách rõ ràng, hoặc gửi PageMaps bằng cách sử dụng một Sơ đồ trang web. Google cũng sẽ sử dụng các thông tin khác trên một trang, chẳng hạn như mã đánh dấu đoạn trích nhiều định dạng hoặc meta dữ liệu thẻ, để tạo PageMap.

Không giống như các định dạng dữ liệu có cấu trúc khác được mô tả dưới đây, PageMaps không yêu cầu bạn phải tuân theo các thuộc tính hoặc điều khoản chuẩn hoặc thậm chí tham chiếu đối với từ vựng, giản đồ hoặc mẫu hiện có. Bạn có thể tạo các giá trị thuộc tính tùy chỉnh phù hợp với trang web của bạn. Không giống như thuộc tính có cấu trúc các thuộc tính dữ liệu của vi định dạng, vi dữ liệu và RDFa được thêm vào từ nội dung mà người dùng nhìn thấy trong phần nội dung của HTML, siêu dữ liệu PageMaps được đưa vào trong phần head của trang HTML. Phương thức này hỗ trợ tuỳ ý dữ liệu mà ứng dụng của bạn có thể cần nhưng có thể bạn không muốn hiển thị cho người dùng.

Khi bạn tạo PageMap, bạn có thể gửi nó tới Google bằng cách sử dụng bất kỳ các phương thức sau:

Định nghĩa thẻ PageMap

Bảng sau đây trình bày các yêu cầu đối với việc thêm dữ liệu PageMap vào một Sơ đồ trang web.

Thẻ Bắt buộc? Mô tả
PageMap Kèm theo tất cả thông tin PageMap cho URL có liên quan.
DataObject Chứa tất cả thông tin về một phần tử duy nhất (ví dụ: hành động).
Attribute Mỗi DataObject chứa một hoặc nhiều thuộc tính.

Lưu ý: PageMaps là các khối XML nên phải được định dạng chính xác; cụ thể, PageMap, DataObject và Các thẻ Attribute trong XML có phân biệt chữ hoa chữ thường, cũng như Các thuộc tính type, namevalue.

Thêm dữ liệu PageMap trực tiếp vào trang HTML của bạn

Dưới đây là ví dụ về dữ liệu PageMap cho một trang web về cầu lông:

<html>
  <head>
   ...
  <!--
  <PageMap>
     <DataObject type="document">
        <Attribute name="title">The Biomechanics of a Badminton
        Smash</Attribute>
        <Attribute name="author">Avelino T. Lim</Attribute>
        <Attribute name="description">The smash is the most
        explosive and aggressive stroke in Badminton. Elite athletes can
        generate shuttlecock velocities of up to 370 km/h. To perform the
        stroke, one must understand the biomechanics involved, from the body
        positioning to the wrist flexion. </Attribute>
        <Attribute name="page_count">25</Attribute>
        <Attribute name="rating">4.5</Attribute>
        <Attribute name="last_update">05/05/2009</Attribute>
     </DataObject>
     <DataObject type="thumbnail">
        <Attribute name="src" value="http://www.example.com/papers/sic.png" />
        <Attribute name="width" value="627" />
        <Attribute name="height" value="167" />
     </DataObject>
  </PageMap>
  -->
  </head>
   ...
</html>

Thêm dữ liệu PageMap vào Sơ đồ trang web

Nếu bạn không muốn đưa dữ liệu PageMap vào HTML của các trang, bạn có thể thêm dữ liệu PageMap vào một Sơ đồ trang web và gửi Sơ đồ trang web đó qua Công cụ Sơ đồ trang web trong Search Console.

Đây là một ví dụ về một Sơ đồ trang web bao gồm thông tin PageMap cho URL: http://www.example.com/foo và http://www.example.com/bar.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>http://www.example.com/foo</loc>
   <PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0">
     <DataObject type="document" id="hibachi">
       <Attribute name="name">Dragon</Attribute>
       <Attribute name="review">3.5</Attribute>
     </DataObject>
   </PageMap>
 </url>
 <url>
   <loc>http://www.example.com/bar</loc>
   <PageMap xmlns="http://www.google.com/schemas/sitemap-pagemap/1.0">
     <DataObject type="document" id="biggreenegg">
       <Attribute name="name">Ribs</Attribute>
       <Attribute name="review">4.0</Attribute>
     </DataObject>
   </PageMap>
 </url>
</urlset>

Phân tích cú pháp dữ liệu PageMap

Khi sử dụng Phần tử tìm kiếm có thể lập trình, các thuộc tính tuỳ chỉnh được trả về trong thuộc tính RichĐoạn mã của mỗi kết quả, có thể dùng với Lệnh gọi lại của phần tử tìm kiếm.

<r n="1">
 <u> http://www.xyz.com/business/vending_machine.html </u>
 ...
 <t> In Italy, a Vending Machine Even Makes the <b>Pizza</b> </t>
 ...
 <s>The European vending machine industry has annual sales of about #33
 billion, much of it coming from factories and offices.</s>
 ...
 <PageMap>
  <DataObject type="image">
   <Attribute name="image_src" value="http://www.nytimes.com/images/2009/03/14/business/14vend.751.jpg"/>
  </DataObject>
  <DataObject type="publication">
   <Attribute name="author" value="John Tagliabue"/>
   <Attribute name="date" value="March 14, 2009"/>
   <Attribute name="category" value="Business/World Business"/>
  </DataObject>
 </PageMap>
 ...
</r>

Trở lại đầu trang

Đang sử dụng thẻ <meta>

Mặc dù PageMaps cho phép bạn chỉ định chính xác dữ liệu bạn muốn mỗi trang, đôi khi bạn có một lượng lớn nội dung không muốn chú thích. Google trích xuất nội dung đã chọn từ META của biểu mẫu <meta name="KEY" content="VALUE">. Chúng tôi không hỗ trợ các biến thể của Thẻ META, chẳng hạn như việc sử dụng property thay vì name.

Mặc dù chúng tôi loại trừ rõ ràng quảng cáo chung các thẻ thường được các công cụ ghi nhận tác giả web chèn theo phương thức lập trình, chẳng hạn như robots, descriptionkeywords, các thẻ hiếm hơn dành riêng cho trang web của bạn sẽ được trích xuất và đặt vào một đối tượng dữ liệu đặc biệt thuộc loại metatags, có thể được dùng với tất cả các thuộc tính Custom các tính năng về dữ liệu có cấu trúc của Google Tìm kiếm. Ví dụ: thẻ <meta> của biểu mẫu:

<meta name="pubdate" content="20100101">

sẽ tạo một PageMap DataObject được trả về trong kết quả XML như sau:

<r n="1">
 ...
 <PageMap>
  <DataObject type="metatags">
   <Attribute name="pubdate" value="20100101"/>
  </DataObject>
 </PageMap>
 ...
</r>

Dữ liệu trong PageMap được tạo tự động này có thể được sử dụng ở bất kỳ nơi nào bạn có thể sử dụng dữ liệu từ PageMap rõ ràng được bao gồm trong nội dung trang của bạn. Cho Bạn có thể sử dụng chỉ số này với các toán tử tìm kiếm có cấu trúc như Sắp xếp theo thuộc tính:

https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=metatags-pubdate

hoặc bằng Phần tử tìm kiếm có thể lập trình

...
<div class="gcse-search" sort_by="metatags-pubdate:d:s"></div>
...

Sau đây là những thẻ <meta> mà Google loại trừ:

  • rô-bốt
  • description
  • từ khoá
  • thăm lại sau
  • trình tạo
  • xác minh phiên bản 1
  • bot Google
  • google-site-verification
  • mssmarttagspreventparsing
  • không có bộ nhớ đệm

Google cố gắng bao gồm tất cả các thẻ <meta> khác, kèm theo một cảnh báo rằng dấu câu, ký tự đặc biệt và dấu cách được nhúng trong name có thể không được phân tích cú pháp chính xác trường của thẻ <meta>. Công cụ tìm kiếm có thể lập trình hỗ trợ rõ ràng dấu chấm và dấu gạch ngang trong tên thẻ <meta>. Công cụ tìm kiếm có thể lập trình không hỗ trợ các ký tự đặc biệt khác một cách rõ ràng trong tên thẻ <meta>, nhưng một số ký tự đặc biệt có thể được chấp nhận một cách chính xác nếu URL được mã hoá.

Các điểm hạn chế

Công cụ tìm kiếm có thể lập trình sẽ chuyển đổi tối đa 50 thẻ <meta> thành PageMaps, miễn là vì tổng kích thước văn bản của tất cả các thuộc tính được xử lý không vượt quá 1MB, không có thuộc tính riêng lẻ vượt quá 1024 ký tự.

Trở lại đầu trang

Sử dụng ngày tháng

Ngoài siêu dữ liệu mà bạn chỉ định rõ ràng trên trang, Google cũng ước tính một ngày của trang dựa trên các tính năng của trang như dưới dạng ngày trong tiêu đề và URL. Công cụ tìm kiếm có thể lập trình cho phép bạn sử dụng chức năng này ngày để sắp xếp, độ lệch và phạm vi hạn chế kết quả bằng cách sử dụng siêu dữ liệu đặc biệt khoá của date. Tất cả toán tử đều có thể dùng ngày ước tính này sử dụng tham số URL &sort=, bao gồm Sắp xếp theo thuộc tính, Thành kiến theo thuộc tính, Giới hạn trong phạm vi.

Lưu ý: Ngày của trang không được thêm vào PageMap, nên sẽ không được trả về trong kết quả của API JSON, nên không thể dùng trong Công cụ tìm kiếm có thể lập trình và không thể sử dụng cùng với Tính năng Lọc theo thuộc tính.

Các ví dụ sau đây minh hoạ cách sử dụng ngày tháng trên trang bằng các toán tử này:

Nếu bạn muốn... Gửi URL này... Để tìm hiểu thêm, hãy xem...
Sắp xếp kết quả theo ngày theo thứ tự giảm dần https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date Sắp xếp theo thuộc tính
Kết quả sai lệch mạnh về các ngày mới hơn https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date:d:s Thành kiến theo thuộc tính
Kết quả sai lệch yếu so với ngày cũ hơn https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date:a:w Thành kiến theo thuộc tính
Trả về kết quả từ ngày 1 tháng 1 đến ngày 1 tháng 2 năm 2010 (bao gồm cả ngày 1 tháng 2 năm 2010) https://www.google.com/cse?cx=12345:example&q=oil+spill&sort=date:r:20100101:20100201 Giới hạn trong phạm vi

Thông tin phỏng đoán của Google về ngày phù hợp cho một trang là dựa trên các tính năng chẳng hạn như ngày xuất bản của tin bài hoặc ngày xuất bản ngày trong tiêu đề của tài liệu. Nếu trang có chỉ định không chính xác hoặc những ngày không nhất quán theo ước tính của Google về ngày trên trang có thể không ý nghĩa và Công cụ tìm kiếm có thể lập trình có thể trả về các kết quả được sắp xếp theo theo cách mà bạn không ngờ tới.

Định dạng ngày

Một trang web có thể ngầm cung cấp thông tin về ngày tháng, dựa vào tính năng ngày ước tính trên trang để phát hiện ngày được nhúng trên trang URL, tiêu đề hoặc các tính năng khác, hoặc một cách rõ ràng, bằng cách cung cấp ngày trong định dạng dữ liệu có cấu trúc. Trong cả hai trường hợp, việc sử dụng ngày hiệu quả yêu cầu định dạng ngày chính xác.

Dành cho công cụ tìm kiếm có thể lập trình Sắp xếp theo thuộc tính, Thành kiến theo thuộc tính, Giới hạn trong phạm vi Google cố gắng phân tích cú pháp ngày tháng bằng cách sử dụng cả ngày thông thường các tiêu chuẩn định dạng và chính thức như ISO 8601IETF RFC 850. Chúng tôi chấp nhận các định dạng ngày hoàn chỉnh sau đây:

Định dạng ngày Ngày ví dụ
DD-MM-YYYY 2009-12-31
DD/MM/YYYY 31/12/2009
YYYYMMDD 20091231
Tháng DD YYYY Ngày 31 tháng 12 năm 2009
DD tháng YYYY Ngày 31 tháng 12 năm 2009

Google sẽ cố gắng phân tích cú pháp các biến thể của những định dạng ngày này, chẳng hạn như dưới dạng MM/DD/YYYYDD/MM/YYYY. Tuy nhiên, ngày càng mơ hồ, thì Google càng ít có khả năng phân tích cú pháp một cách chính xác. Ví dụ: ngày 06/07/08 là cực kỳ mơ hồ và khó có thể Google sẽ gán dữ liệu đó diễn giải mà bạn muốn. Để có kết quả tốt nhất, hãy sử dụng thuộc tính ISO 8601 định dạng ngày với năm được chỉ định đầy đủ.

Trở lại đầu trang

Đoạn mã chi tiết

Google cũng trích xuất nhiều dữ liệu có cấu trúc từ JSON-LD, Microformats, RDFa và Vi dữ liệu được sử dụng trong đoạn trích nhiều định dạng, bản trình bày mở rộng về các kết quả tìm kiếm chuẩn của Google. Dữ liệu tương tự cũng có thể được sử dụng trong công cụ Tìm kiếm có thể lập trình toán tử dữ liệu có cấu trúc—thường là cùng một dữ liệu được sử dụng trong đoạn mã chi tiết. Ví dụ: nếu bạn đã đánh dấu trang của mình bằng Microformat hrecipe theo tiêu chuẩn, bạn có thể sắp xếp theo số lượng điểm xếp hạng số sao của công thức nấu ăn bằng một toán tử như &sort=recipe-ratingstars Google liên tục mở rộng dữ liệu mà mình trích xuất và lượng dữ liệu này dữ liệu có sẵn để sử dụng trong Công cụ tìm kiếm có thể lập trình; để xem dữ liệu mà Google hiện đang bản trích, bạn có thể sử dụng Công cụ kiểm tra dữ liệu có cấu trúc trong Search Console.

Trở lại đầu trang

Sử dụng JSON-LD

JSON-LD là một định dạng chuẩn được sử dụng rộng rãi cho dữ liệu có cấu trúc. Dữ liệu này được định dạng là JSON và được đặt trong một Thẻ <script> với type="application/ld+json".

Dưới đây là một chút HTML tối thiểu với một số JSON-LD đơn giản:

<script type="application/ld+json">
      {
        "@id": "http://event.example.com/events/presenting-foo",
        "@type": "http://schema.org/Event",
        "http://schema.org/description": "Please attend. You'll love it!",
        "http://schema.org/name": "Presenting Foo",
        "http://schema.org/startdate": "2022-05-24",
        "http://schema.org/location": "Back room"
      }
    </script>

Google trích xuất một nhóm nhỏ dữ liệu này cho Công cụ tìm kiếm có thể lập trình và chuẩn hoá dữ liệu đó. Chiến lược phát hành đĩa đơn quá trình chuẩn hoá đơn giản hoá JSON-LD, loại bỏ nhiều thành ngữ JSON-LD. Dữ liệu đã chuẩn hoá là được xử lý thêm:

  • Mã này được chuyển đổi từ biểu đồ cấu trúc của JSON-LD thành một khu rừng cây.
  • Khu rừng được thu gọn với các nhánh liên quan đến một tập hợp con của schema.org. Tập hợp con này bao gồm schema.org cho kiểu cây Nếu bạn có các loại khác hữu ích cho trường hợp sử dụng cụ thể của mình, vui lòng chúng tôi biết trong phần Hỗ trợ Diễn đàn.
  • Mỗi nút JSON-LD từ một trong các loại đã chọn sẽ lấy một nhánh từ JSON-LD của nút đó cây xanh. Nhánh đó bao gồm các nút đối tượng cấp trên trong cây và tất cả các nút con cháu của nó. Ví dụ: chúng ta có thể có một cái cây bén rễ ở MusicComposition có thuộc tính firstPerformance có giá trị Sự kiện có tập hợp đầy đủ Sự kiện các thuộc tính. Tất cả các nút đó, từ MusicComposition thông qua các thuộc tính của Event và mọi thành phần con cháu của chúng được giữ lại để tạo một nhánh cây có ý nghĩa có chứa Sự kiện đầu tiên thực hiện.
Đối với JSON-LD ở trên, dữ liệu có cấu trúc sẽ được trả về trong kết quả tìm kiếm dưới dạng JSON giống như sau:
 ...
 "event": {
   "name": "Presenting Foo",
   "description": "Please attend. You'll love it!",
   "startdate": "2022-05-24",
   "location": "Back room"
 },
 ...

Để xem những dữ liệu mà Google Tìm kiếm trích xuất cho một trang và xác thực JSON-LD, hãy sử dụng Kết quả nhiều định dạng Công cụ kiểm tra trên trang web Search Console của Google.

Để tìm hiểu thêm về JSON-LD, hãy xem tài liệu về dữ liệu có cấu trúcjson-ld.org.

Trở lại đầu trang

Sử dụng vi định dạng

Vi định dạng là thông số kỹ thuật để trình bày thông tin thường được xuất bản các mục như bài đánh giá, con người, sản phẩm và doanh nghiệp. Nhìn chung, vi định dạng bao gồm <span> và Phần tử <div> và một thuộc tính lớp, cùng với một tên thuộc tính ngắn gọn và mang tính mô tả (chẳng hạn như dtreviewed hoặc rating, thể hiện ngày đánh giá một mục và xếp hạng tương ứng).

Mã sau đây bao gồm một đoạn mã HTML thuần tuý.

<p><strong>Kevin Grendelzilla</strong></p>
<p>Technical writer at Google</p>
<p>555 Search Parkway</p>
<p>Googlelandia, CA 94043</p>

Đoạn mã sau đây hiển thị mã HTML trước đó được mở rộng bằng vi định dạng:

<div class="vcard">
   <p><strong class="fn">Kevin Grendelzilla</strong></p>
   <p><span class="title">Technical writer</span> at <span class="org">Google</span></p>
   <p><span class="adr">
      <span class="street-address">555 Search Parkway</span>
      <span class="locality">Googlelandia</span>, <span class="region">CA</span>
      <span class="postcode">94043</span>
      </span></p>
</div>

Google trích xuất một nhóm nhỏ dữ liệu này, chuẩn hoá và sắp xếp lại tương ứng với cách thông tin đó được hiển thị trong đoạn mã chi tiết. Chiến dịch này sẽ được trả về trong kết quả XML như sau:

<r n="1">
 ...
 <PageMap>
  <DataObject type="person">
   <Attribute name="location" value="Googlelandia"/>
   <Attribute name="role" value="Technical Writer"/>
  </DataObject>
 </PageMap>
 ...
</r>

Để xem những nội dung mà Google trích xuất cho một trang, hãy sử dụng Dữ liệu có cấu trúc Công cụ thử nghiệm trong trang web Search Console. Dữ liệu mà Google trích xuất từ các trang là liên tục được kéo dài, do đó hãy kiểm tra lại theo định kỳ để xem dữ liệu bạn muốn đã được cung cấp. Trong thời gian chờ đợi, nếu bạn cần dữ liệu tuỳ chỉnh không tương ứng với một vi định dạng đã xác định, bạn có thể dùng PageMaps.

Để tìm hiểu thêm về vi định dạng, hãy xem tài liệu về dữ liệu có cấu trúcmicroformats.org.

Trở lại đầu trang

Sử dụng Khung mô tả tài nguyên trong thuộc tính (RDFa)

Khung mô tả tài nguyên trong các thuộc tính (RDFa) linh hoạt hơn so với vi định dạng. Vi định dạng chỉ định cả cú pháp để đưa vào dữ liệu có cấu trúc vào tài liệu HTML và tập hợp các lớp vi định dạng mỗi chiến dịch có từ vựng riêng về các thuộc tính được phép. RDFa, đang bật mặt khác, chỉ xác định cú pháp và cho phép bạn sử dụng từ vựng về thuộc tính hoặc tự tạo từ vựng của riêng bạn. Chiến dịch này thậm chí cho phép bạn kết hợp nhiều từ vựng một cách thoải mái. Nếu từ vựng hiện có không đáp ứng nhu cầu của mình, bạn có thể xác định tiêu chuẩn và từ vựng của riêng mình bằng cách tạo các trường mới.

Mã sau đây bao gồm một đoạn mã HTML thuần tuý.

<div>
   <h3>5 Centimeters Per Second</h3>
   <h4>Makoto Shinkai</h4>
    ...
</div>

Đoạn mã sau đây cho thấy mã HTML trước đó được mở rộng bằng RDFa:

<div>
   <h3 property="dc:title">5 Centimeters Per Second</h3>
   <h4 property="dc:maker">Makoto Shinkai</h4>
   ...
</div>

Để tìm hiểu thêm về RDFa, hãy xem tài liệu về dữ liệu có cấu trúc. Để tìm hiểu thêm về cách xác định giản đồ RDF, hãy xem RDF gốc.

Trở lại đầu trang

Sử dụng vi dữ liệu

HTML5, phiên bản mới nhất của ngôn ngữ được viết trên trang web, xác định một định dạng có tên là vi dữ liệu kết hợp trực tiếp các ý tưởng của RDFa và Vi định dạng vào Bản thân HTML chuẩn. Vi dữ liệu sử dụng các thuộc tính đơn giản trong thẻ HTML (thường là span hoặc div) để giao bản tóm tắt và tên mô tả cho các mục và thuộc tính.

Giống như RDFa và Vi định dạng, các thuộc tính của Vi dữ liệu giúp bạn chỉ định rằng nội dung của bạn mô tả thông tin thuộc một số loại cụ thể (chẳng hạn như bài đánh giá), con người, thông tin hoặc sự kiện. Ví dụ: một người có thể có thuộc tính, biệt hiệu, url, tiêu đề và đơn vị liên kết. Dưới đây là ví dụ về một khối HTML ngắn hiển thị thông tin liên hệ cơ bản này thông tin cho Bob Smith:

<div>
  My name is Bob Smith but people call me Smithy. Here is my home page:
  <a href="http://www.example.com">www.example.com</a>
  I live in Albuquerque, NM and work as an engineer at ACME Corp.
</div>

Sau đây là cùng một HTML được đánh dấu bằng vi dữ liệu. Lưu ý rằng trong ví dụ này chúng tôi sử dụng một thuộc tính là "biệt hiệu" chưa chính thức là một phần của schema.org. Tuỳ chỉnh Tìm kiếm là một cách hay để khám phá cục bộ các tiện ích schema.org có thể có trước đây để đề xuất các video đó cho cộng đồng.

<div itemscope itemtype="http://schema.org/Person">
  My name is <span itemprop="name">Bob Smith</span>
  but people call me <span itemprop="nickname">Smithy</span>.
  Here is my home page:
  <a href="http://www.example.com" itemprop="url">www.example.com</a>
  I live in Albuquerque, NM and work as an <span itemprop="title">engineer</span>
  at <span itemprop="affiliation">ACME Corp</span>.
</div>

Dòng đầu tiên của ví dụ này bao gồm thẻ div HTML có một thuộc tính itemscope cho biết rằng div chứa mục vi dữ liệu. Chiến lược phát hành đĩa đơn Thuộc tính itemtype="http://schema.org/Person" đang bật cùng một thẻ cho chúng ta biết đây là người. Từng thuộc tính của mục người được xác định bằng thuộc tính itemprop; ví dụ: itemprop="name" trên thẻ span mô tả tên của người đó. Xin lưu ý rằng bạn không bị giới hạn ở spandiv; đã đính kèm thẻ itemprop="url" vào thẻ a (neo).

Để tìm hiểu thêm về vi dữ liệu, hãy xem tài liệu về dữ liệu có cấu trúc và Tiêu chuẩn Vi dữ liệu HTML.

Trở lại đầu trang

Xem dữ liệu có cấu trúc đã trích xuất

Dữ liệu có cấu trúc JSON-LD có một công cụ xác thực đặc biệt được Google hỗ trợ, đó là Công cụ kiểm tra kết quả nhiều định dạng. Chiến dịch này kiểm tra cú pháp JSON-LD và một số ngữ nghĩa của mã này, đặc biệt là dữ liệu có cấu trúc bao gồm các thuộc tính bắt buộc và được đề xuất. Để kiểm tra các dạng khác của hãy sử dụng Trình xác thực mã đánh dấu schema. Quy trình này xác thực cú pháp của dữ liệu có cấu trúc và cho bạn thấy dạng được diễn giải của dữ liệu đó.

Công cụ tìm kiếm có thể lập trình giữ lại một tập hợp con dữ liệu có cấu trúc, nên hãy sử dụng Công cụ tìm kiếm có thể lập trình để kiểm tra chế độ xem dữ liệu có cấu trúc cho một trang theo:

  1. bật Dữ liệu có cấu trúc trong kết quả tìm kiếm trong Tính năng tìm kiếm nâng cao

    Ảnh chụp màn hình về việc bật dữ liệu có cấu trúc

  2. Sau đó, sử dụng công cụ tìm kiếm đó để tìm một trang có dữ liệu bạn muốn xem và nhấp vào Nút Dữ liệu có cấu trúc trong kết quả tìm kiếm cho trang đó:

    Ảnh chụp màn hình nút dữ liệu có cấu trúc trong kết quả tìm kiếm

Nếu bạn chưa gắn thẻ bất kỳ trang web nào bằng dữ liệu có cấu trúc nhưng muốn biết dữ liệu có cấu trúc được trích xuất trông như thế nào, bạn có thể nhập URL của các trang web khác. Trang web phổ biến có thông tin đánh giá hoặc danh sách người liên hệ rất có khả năng có dữ liệu có cấu trúc.

Sau khi tìm thấy một trang có dữ liệu có cấu trúc, bạn có thể xem trang đó nguồn của trang để xem dữ liệu có cấu trúc mà trang web đã triển khai. Ví dụ: hãy xem xét đoạn mã HTML sau với dữ liệu có cấu trúc về một người được triển khai dưới dạng vi định dạng:

<div class="vcard">
    <h1 class="fn">
      <span class="given-name">Godzilla</span>
      <span class="family-name">Gigantis</span>
    </h1>
    <span class="title">Senior Giant Monster</span>,
    <span class="adr">
      <span class="locality">Tokyo</span>
    </span>
<div>

Công cụ tìm kiếm có thể lập trình trích xuất tập hợp con của dữ liệu đó để sử dụng trong tìm kiếm có cấu trúc:

person (source = MICROFORMAT)
  location = Tokyo

Trở lại đầu trang

Khám phá các tính năng khác

Dữ liệu có cấu trúc có thể được dùng trong một số tính năng của Công cụ tìm kiếm có thể lập trình bao gồm: