Trong thời đại số hóa, việc tối ưu hóa dữ liệu có cấu trúc cho thao tác với sách trở nên quan trọng hơn bao giờ hết. Các thao tác này không chỉ giúp người dùng dễ dàng tìm kiếm và khám phá các tác phẩm và tác giả mới mà còn tạo điều kiện thuận lợi cho việc mua hoặc mượn sách ngay từ kết quả tìm kiếm trên Google. Đối với các nhà cung cấp sách, việc triển khai dữ liệu có cấu trúc chính xác có thể nâng cao khả năng hiển thị sản phẩm của họ, từ đó tiếp cận được nhiều người dùng hơn.
Các thao tác liên quan đến sách trên Google Tìm kiếm giúp người dùng dễ dàng khám phá các tựa sách và tác giả mới, từ đó nhanh chóng thực hiện hành động mua hoặc mượn sách trực tiếp từ kết quả tìm kiếm. Chẳng hạn, khi người dùng tìm kiếm cuốn “Mạng nhện của Charlotte”, họ sẽ thấy kết quả tìm kiếm với các tùy chọn để mua hoặc mượn sách ngay từ đó. Là nhà cung cấp sách, bạn có thể tối ưu hóa khả năng xuất hiện của sách bằng cách cung cấp nguồn cấp dữ liệu cho Google sử dụng mã schema dữ liệu có cấu trúc được đề xuất. Đặc biệt, các thuộc tính như ReadAction giúp người dùng thực hiện hành động mua sách, còn BorrowAction giúp người dùng mượn sách.
Mặc dù thao tác với sách xuất hiện trong kết quả tìm kiếm, nhưng giao diện hiển thị có thể thay đổi tùy theo từng trường hợp cụ thể.
Để đảm bảo tính năng này hoạt động hiệu quả và mang lại trải nghiệm tốt nhất cho người dùng, Google hiện chỉ hỗ trợ các nhà cung cấp sách có danh mục sách phong phú và số lượng đầu sách lớn. Nếu bạn quan tâm đến việc sử dụng tính năng này, bạn có thể đăng ký tham gia, nhưng điều này không đảm bảo rằng bạn sẽ được chấp nhận.
Các thao tác như đọc và mượn sách, được tích hợp trong các bảng tri thức (Knowledge Panels), cung cấp các tùy chọn rõ ràng để mua hoặc mượn sách. Các liên kết bạn cung cấp trong schema sẽ dẫn người dùng trực tiếp từ bảng tri thức và các nền tảng khác của Google đến trang sách trên website hoặc ứng dụng của bạn, tối ưu hóa hành trình người dùng và tăng cơ hội chuyển đổi.
Vị trí của các nhà cung cấp trong bảng tri thức được cá nhân hóa theo thói quen và hành vi của từng người dùng, dẫn đến sự thay đổi thứ tự hiển thị linh hoạt. Điều này có nghĩa là mỗi người dùng sẽ có một thứ tự hiển thị khác nhau, và ngay cả cùng một người dùng cũng có thể thấy thứ tự khác nhau vào các thời điểm khác nhau. Có nhiều yếu tố ảnh hưởng đến thứ tự hiển thị này, ví dụ như nếu người dùng thường xuyên nhấp vào liên kết của một nhà cung cấp cụ thể trong bảng tri thức, nhà cung cấp đó có khả năng xuất hiện ở vị trí cao hơn. Tuy nhiên, không có cách nào để kiểm soát tuyệt đối thứ tự hiển thị này, vì nó phụ thuộc vào thuật toán và hành vi của người dùng.
Bắt đầu
Để triển khai thành công các thao tác với sách trên Google Tìm kiếm, bạn cần xây dựng nguồn cấp dữ liệu theo đúng chuẩn dữ liệu có cấu trúc được định nghĩa cho các thao tác này. Trước khi tiến hành, bạn nên tham khảo các bước hướng dẫn chi tiết sau đây:
- Nguyên tắc cơ bản
- Quy trình tạo nguồn cấp dữ liệu
- Kiểm tra nguồn cấp dữ liệu bằng công cụ xác thực
- Lưu trữ tệp nguồn cấp dữ liệu
- Gửi tệp nguồn cấp dữ liệu để Google xem xét
- Cập nhật nguồn cấp dữ liệu khi cần thiết
Nguyên tắc
Để sách của bạn có thể xuất hiện ổn định và tối ưu trên Google Tìm kiếm, bạn cần nắm vững các khái niệm cốt lõi và tuân thủ một số yêu cầu kỹ thuật quan trọng. Nguồn cấp dữ liệu của bạn phải tuân thủ các tiêu chuẩn định dạng và đáp ứng đầy đủ các yêu cầu kỹ thuật.
Để đạt được điều này, hãy thực hiện theo những nguyên tắc được đề cập trong bài viết này, bên cạnh các nguyên tắc chung về dữ liệu có cấu trúc và yêu cầu cơ bản của Google Tìm kiếm. Các nguyên tắc chính bao gồm:
- Tác phẩm và ấn bản: Hiểu rõ sự khác biệt giữa khái niệm tác phẩm (work) và ấn bản (edition) để đảm bảo dữ liệu được cung cấp chính xác và đầy đủ.
- Hệ thống thư viện và thư viện thành viên: Cấu trúc hệ thống thư viện phải được xây dựng rõ ràng, đặc biệt là trong các trường hợp có nhiều thư viện thành viên.
- ISBN và các giá trị nhận dạng được hỗ trợ khác: Đảm bảo rằng mỗi ấn bản sách đều có mã ISBN hoặc các giá trị nhận dạng khác được Google hỗ trợ để tăng khả năng xuất hiện trong kết quả tìm kiếm.
- Đường liên kết: Đường liên kết phải là URL chính tắc, đảm bảo người dùng được chuyển hướng chính xác đến trang đích chứa thông tin sách hoặc thao tác với sách.
Tác phẩm và ấn bản
Trong quá trình tối ưu hóa dữ liệu cho sách trên Google Tìm kiếm, hai thuật ngữ “tác phẩm” và “ấn bản” được sử dụng để phân biệt rõ ràng các khía cạnh khác nhau của một cuốn sách:
- Tác phẩm là khái niệm trừu tượng đại diện cho nội dung của một cuốn sách. Các thuộc tính liên quan đến tác phẩm bao gồm siêu dữ liệu như tiêu đề, tác giả và ngôn ngữ gốc. Đây là những yếu tố không thay đổi dù cuốn sách có bao nhiêu ấn bản.
- Ấn bản là phiên bản vật lý cụ thể của một cuốn sách. Thuộc tính của ấn bản bao gồm năm xuất bản, tên ấn bản và mã số tiêu chuẩn quốc tế cho sách (ISBN). Ví dụ, “Mạng nhện của Charlotte” là một tác phẩm, nhưng nó có thể có nhiều ấn bản khác nhau như ấn bản thứ nhất, ấn bản rút gọn, hay ấn bản dịch sang tiếng Pháp.
Trong nguồn cấp dữ liệu, việc phân biệt rõ ràng giữa tác phẩm và ấn bản là cực kỳ quan trọng để đảm bảo dữ liệu được xử lý chính xác. Có hai loại thực thể Book trong schema dữ liệu:
- Book (Work) là thực thể Book cấp cao nhất, đại diện cho tác phẩm.
- Thuộc tính workExample trong thực thể này chỉ định một phiên bản duy nhất của Book (Edition).
- Mỗi tác phẩm phải có ít nhất một workExample.
- Book (Edition) là thực thể Book cấp thấp hơn, đại diện cho ấn bản cụ thể của tác phẩm.
Hãy nhớ rằng một tác phẩm có thể có nhiều ấn bản khác nhau. Việc tạo nhóm chi tiết cho các ấn bản này là rất quan trọng, vì nó giúp các hệ thống của google thu thập và hiển thị tất cả thông tin liên quan đến cuốn sách trong kết quả tìm kiếm. Nếu cần, bạn có thể tách các ấn bản này thành nhiều hồ sơ tác phẩm riêng biệt, nhưng mỗi hồ sơ tác phẩm phải bao gồm:
- Một @id riêng biệt.
- Ít nhất một ấn bản được gắn mã isbn hoặc các giá trị nhận dạng khác được hỗ trợ.
Hệ thống thư viện và thư viện thành viên
Lưu ý: Phần này đặc biệt quan trọng đối với các nhà cung cấp dịch vụ cho mượn sách.
Thực thể library là thực thể “cấp cao nhất” trong cấu trúc của một hệ thống thư viện. Đây là một hệ thống trừu tượng bao gồm một thực thể librarysystem và các thực thể library (member) “cấp thấp hơn” trong hệ thống thư viện đó.
Thực thể librarysystem đại diện cho một mạng lưới các thư viện thành viên hợp tác với nhau. Ví dụ, thư viện công cộng austin có thể được coi là một thực thể librarysystem, và nó phục vụ khu vực austin, texas, với 20 thư viện liên kết, còn được gọi là các thư viện thành viên.
Mỗi thực thể librarysystem cần có ít nhất một thực thể library (member), ngay cả khi trong thực tế thư viện đó không thuộc bất kỳ hệ thống thư viện nào. Trong trường hợp này, để triển khai các thao tác với sách, thư viện đó sẽ được xem là thư viện thành viên duy nhất trong hệ thống thư viện. Khác với hệ thống thư viện, thư viện thành viên không phải là thực thể trừu tượng mà sẽ có địa chỉ thực tế.
Ngược lại, mọi thực thể library (member) phải thuộc ít nhất một thực thể librarysystem để đảm bảo cấu trúc dữ liệu có cấu trúc được duy trì.
ISBN và các giá trị nhận dạng được hỗ trợ
ISBN là yếu tố chính để Google Tìm kiếm đối chiếu dữ liệu trong nguồn cấp của bạn với cơ sở dữ liệu của Google. Bạn bắt buộc phải cung cấp ISBN hoặc các giá trị nhận dạng khác được hệ thống hỗ trợ cho mọi cuốn sách bạn muốn hiển thị trong kết quả tìm kiếm. Thiếu những giá trị này, sách của bạn có thể không được đối chiếu chính xác và có thể không xuất hiện trên Google Tìm kiếm.
Google Tìm kiếm ưu tiên sử dụng ISBN-13, nhưng bạn cũng có thể cung cấp các giá trị nhận dạng khác như:
- Mã số của Trung tâm Thư viện Máy tính Trực tuyến (OCLC)
- Mã số Kiểm soát của Thư viện Quốc hội (LCCN)
- Mã điện tử JP
Cảnh báo: Google Tìm kiếm không chấp nhận ISBN-10. Đối với những cuốn sách chỉ có ISBN-10, hãy sử dụng công cụ chuyển đổi ISBN để chuyển sang ISBN-13 trước khi gửi dữ liệu cho Google.
Lưu ý: Nếu sách không có ISBN, bạn vẫn có thể đưa chúng vào nguồn cấp dữ liệu, tuy nhiên, những cuốn sách này có thể không hiển thị trên Google Tìm kiếm. Để tăng khả năng đối chiếu chính xác, bạn nên:
- Nhóm các thực thể Edition vào cùng một Work và đảm bảo ít nhất một ấn bản có ISBN, mã OCLC, LCCN hoặc mã điện tử JP. Google Tìm kiếm có thể sử dụng ISBN hoặc giá trị nhận dạng khác của một ấn bản khác.
- Thêm các giá trị nhận dạng của bên thứ ba. Hiện tại, Google Tìm kiếm hỗ trợ hai mã Kiểm soát Thư viện phổ biến: mã OCLC và LCCN. Bạn nên cung cấp một trong hai mã này nếu có.
Đường liên kết
Để đảm bảo người dùng có trải nghiệm tốt nhất khi tìm sách của bạn, đường liên kết trong nguồn cấp dữ liệu của bạn cần tuân thủ các nguyên tắc sau:
- Nếu bạn có các trang trùng lặp chứa nội dung giống nhau, đường liên kết phải là URL chính tắc chứa tên sách và thông tin liên quan đến sách.
- Sau khi người dùng nhấp vào đường liên kết dẫn tới thao tác đọc hoặc mượn, đường liên kết phải chuyển người dùng tới một trang hỗ trợ việc mua hoặc mượn sách trực tiếp. Cụ thể, không sử dụng đường liên kết dẫn tới trang yêu cầu người dùng phải nhấp vào các đường liên kết khác để mua hoặc mượn sách. Ví dụ, không chuyển người dùng tới trang kết quả tìm kiếm hoặc trang tóm tắt sản phẩm.
Tạo nguồn cấp dữ liệu
Nếu trang web của bạn bán sách cho người dùng, bạn cần tải nguồn cấp dữ liệu Book lên. Hãy liên hệ với đại diện của Google để xác minh thông tin về cách thức và vị trí tải nguồn cấp dữ liệu lên.
Nếu trang web của bạn cho người dùng mượn sách, bạn phải tải hai nguồn cấp dữ liệu riêng biệt: nguồn cấp dữ liệu Book và nguồn cấp dữ liệu Library. Hãy liên hệ với đại diện của Google để xác nhận thông tin về cách thức và vị trí bạn cần tải các nguồn cấp dữ liệu lên.
Tuân thủ yêu cầu về kích thước, số lượng và định dạng của nguồn cấp dữ liệu
Các yêu cầu này bao gồm:
- Yêu cầu về kích thước tệp nguồn cấp dữ liệu:
- Kích thước của tệp nguồn cấp dữ liệu chưa nén phải nhỏ hơn 1 GB.
- Kích thước của tệp nguồn cấp dữ liệu đã nén cũng phải nhỏ hơn 1 GB. Nếu tệp nguồn cấp dữ liệu chưa nén của bạn lớn hơn 1 GB, bạn cần chia tệp đó thành nhiều tệp nhỏ hơn.
- Bạn có thể nén các tệp nguồn cấp dữ liệu. Các tệp này phải có định dạng ZIP, GZ, TAR, TAR.GZ, JAR, AR, ARJ, CPIO hoặc định dạng tệp lưu trữ DUMP.
- Nếu có nhiều tệp nguồn cấp dữ liệu, bạn có thể tải từng tệp lên riêng lẻ hoặc gộp chúng vào một tệp chỉ mục sơ đồ trang web nếu muốn.
- Các tệp nguồn cấp dữ liệu đơn lẻ phải có đuôi tệp là .json.
Tuân thủ yêu cầu về nội dung nguồn cấp dữ liệu
Hãy đặc biệt lưu ý những yêu cầu sau đây về nội dung nguồn cấp dữ liệu mà bạn phải tuân thủ:
- Nguồn cấp dữ liệu không được chứa các thực thể cũ. Các thực thể cũ là những thực thể có giá trị
availabilityEndslà một ngày trong quá khứ hoặc các thực thể mà trang web của bạn đã ngừng cung cấp. - Tất cả đường liên kết sâu (chẳng hạn như
urlTemplate) và tất cả URL (chẳng hạn nhưurl) mà bạn đưa vào nguồn cấp dữ liệu phải là URL chính thức. Đừng sử dụng URL kiểm soát chất lượng, URL phát triển hoặc các URL chưa chính thức. - Tất cả URL, chẳng hạn như
url, đều phải là URL chính tắc. - Mỗi thực thể trong nguồn cấp dữ liệu của bạn phải chỉ định các thuộc tính sau:
- Một giá trị nhận dạng duy nhất:
@id - Một URL duy nhất:
url - Một đường liên kết sâu duy nhất:
urlTemplate
- Một giá trị nhận dạng duy nhất:
Kiểm tra nguồn cấp dữ liệu bằng công cụ xác thực nguồn cấp dữ liệu
Bạn nên thực hiện các bước khắc phục sự cố sau đây để giải quyết các lỗi và cảnh báo thường gặp trên công cụ xác thực nguồn cấp dữ liệu:
- Đảm bảo rằng bạn đã chọn đúng lựa chọn trong trường “Validate on” (Xác thực cho). Chọn “Books Action” (Thao tác với sách) cho thực thể Book.
- Xác minh rằng giá trị của
@typeđúng chính tả. - Đảm bảo rằng giá trị của
@contextđược thiết lập đúng cách. Thiết lập"@context": "https://schema.org"cho cảReadActionvàBorrowAction.
Lưu trữ tệp nguồn cấp dữ liệu
Khi tệp nguồn cấp dữ liệu của bạn đã sẵn sàng, hãy lưu trữ tệp tại một vị trí an toàn. Google thường xuyên tìm nạp nguồn cấp dữ liệu để đảm bảo rằng nội dung của bạn luôn được cập nhật.
Phương thức lưu trữ
Google hỗ trợ các phương thức lưu trữ nguồn cấp dữ liệu sau đây:
- Lưu trữ: Hỗ trợ việc xác thực
- Google Cloud Storage: Quyền “Storage Object Viewer” (Xem đối tượng lưu trữ)
- HTTPS: Tên người dùng + mật khẩu hoặc chứng chỉ máy khách HTTP
- Giao thức truyền tệp bảo mật (SFTP): Mật khẩu, Khoá + cụm từ, hoặc cả hai
- AWS S3: Mã khoá + khoá truy cập
Gửi tệp nguồn cấp dữ liệu để xem xét
Để nội dung của bạn xuất hiện trên Google Tìm kiếm, nhóm hỗ trợ Google sẽ xem xét chất lượng của các đường liên kết sâu trong nguồn cấp dữ liệu của bạn. Bạn nên tự kiểm tra một số đường liên kết sâu để xác nhận rằng chúng chuyển hướng người dùng tới trang cho phép họ mua hoặc mượn sách.
Lưu ý: Khả năng sử dụng thành công tính năng này và biểu mẫu gửi nguồn cấp dữ liệu chỉ áp dụng cho một số đối tác cụ thể.
Để yêu cầu xem xét nguồn cấp dữ liệu của bạn, hãy cung cấp các thông tin sau:
- Vị trí lưu trữ: URL của tệp nguồn cấp dữ liệu.
- Thông tin xác thực máy chủ lưu trữ, nếu có: Thông tin xác thực cho phép Google lấy tệp nguồn cấp dữ liệu từ máy chủ của bạn.
Cập nhật nguồn cấp dữ liệu nếu cần
Bạn nên cập nhật nguồn cấp dữ liệu hàng ngày, nhưng việc này phụ thuộc vào tần suất thay đổi của danh mục sách. Lưu ý các điều kiện và mẹo sau:
- Google Tìm kiếm không hỗ trợ cập nhật theo thời gian thực.
- Google Tìm kiếm sẽ tìm nạp nguồn cấp dữ liệu của bạn một lần mỗi ngày và thường lập chỉ mục nội dung trong vòng hai ngày.
- Nếu bạn dự định thay đổi thời gian mà người dùng có thể đọc một ấn bản, hãy sử dụng
availabilityStartsvàavailabilityEndsđể đặt ngày chính xác. Nếu một thực thể không còn tồn tại, hãy xoá hoàn toàn thực thể đó.
Định nghĩa các loại dữ liệu có cấu trúc
Bạn phải sử dụng các thuộc tính bắt buộc mà chúng tôi liệt kê trong bài viết này để nội dung của bạn đủ điều kiện xuất hiện trong kết quả tìm kiếm có cấu trúc. Bạn cũng có thể thêm các thuộc tính mà chúng tôi khuyên dùng để bổ sung thông tin về nội dung, nhằm mang lại trải nghiệm tốt hơn cho người dùng.
Thực thể DataFeed
Mỗi tệp nguồn cấp dữ liệu schema.org bạn gửi đến Google phải chứa một thực thể duy nhất của DataFeed ở cấp độ gốc. Tất cả các thực thể Book và Library phải được liệt kê trong trường dataFeedElement của thực thể DataFeed.
Dưới đây là các thuộc tính mà Google hỗ trợ:
Thuộc tính bắt buộc
@context
Text: Đặt thành"https://schema.org".@type
Text: Đặt thành"DataFeed".dataFeedElement
Book hoặc LibrarySystem: Đặt thành một thực thể Book hoặc LibrarySystem. Nếu không, hãy đặt thành một mảng chỉ gồm các thực thể Book hoặc LibrarySystem. Không được đặt thành một mảng chứa cả thực thể Book và thực thể LibrarySystem.
Ví dụ về cách sử dụng trong nguồn cấp dữ liệu Book:
{Ví dụ về cách sử dụng trong nguồn cấp dữ liệu LibrarySystem:
"@context": "https://schema.org",
"@type": "DataFeed",
"dataFeedElement": [
{
"@context": "https://schema.org",
"@type": "Book",
"@id": "https://example.com/work/the_catcher_in_the_rye",
"url": "https://example.com/work/the_catcher_in_the_rye",
"name": "The Catcher in the Rye",
"author": {
"@type": "Person",
"name": "J.D. Salinger"
},
"sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
"workExample": [
{
"@type": "Book",
"@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
"isbn": "9787543321724",
"bookEdition": "Mass Market Paperback",
"bookFormat": "https://schema.org/Paperback",
"inLanguage": "en"
}
]
}
],
"dateModified": "2018-09-10T13:58:26.892Z"
}
{Cảnh báo: Như đã nêu trong phần Tạo nguồn cấp dữ liệu, nếu bạn có cả nguồn cấp dữ liệu Book và nguồn cấp dữ liệu Library, thì những nguồn cấp dữ liệu đó phải là hai tệp riêng biệt. Do đó, đối với bất kỳ thực thể DataFeed nào, bạn đều phải đặt thuộc tính
"@context": "https://schema.org",
"@type": "DataFeed",
"dataFeedElement": [
{
"@context": "https://schema.org",
"@type": "LibrarySystem",
"@id": "https://example.com/library-systems/100",
"name": "Santa Clara County Library District",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "librarytype",
"value": "public"
}
]
}
],
"dateModified": "2018-09-10T13:58:26.892Z"
}
dataFeedElementtheo một và chỉ một trong các điều kiện sau:
-
- Đặt
dataFeedElementthành một thực thể Book hoặc một mảng gồm các thực thể Book. - Đặt
dataFeedElementthành một thực thể LibrarySystem hoặc một mảng gồm các thực thể LibrarySystem.
- Đặt
dateModified
DateTime: Ngày và giờ cập nhật nguồn cấp dữ liệu gần đây nhất, theo định dạng ISO 8601.
Thực thể Book
Bạn có thể xem định nghĩa đầy đủ về Book tại schema.org/Book. Tuy nhiên, bạn chỉ cần chú ý đến những thuộc tính sau. Bạn phải xác định các thuộc tính bắt buộc cho mọi cuốn sách mà bạn chọn đưa vào nguồn cấp dữ liệu của mình. Bạn cũng có thể xác định các thuộc tính mà chúng tôi khuyên dùng để thêm thông tin về nội dung nhằm mang lại trải nghiệm tốt hơn cho người dùng.
Book (Work)
Thực thể Book này là loại thực thể cấp cao nhất và đại diện cho một tác phẩm.
Điểm then chốt: Hãy đọc nguyên tắc về Tác phẩm và Ấn bản để hiểu sự khác biệt giữa hai thực thể Book trong quá trình bạn triển khai.
Dưới đây là các thuộc tính được Google hỗ trợ:
Thuộc tính bắt buộc
@context
Text: Đặt thành"https://schema.org".@id
Text: Một giá trị nhận dạng duy nhất trên toàn cầu cho sách, định dạng URL. Giá trị này phải dành riêng cho tổ chức của bạn và ổn định, không thay đổi theo thời gian. Bạn nên sử dụng định dạng URL (mặc dù không bắt buộc). URL này không cần phải là một liên kết hoạt động. Miền mà bạn sử dụng cho giá trị@idphải thuộc sở hữu của tổ chức của bạn.@type
Text: Đặt thành"Book".author
Person hoặc Organization: Tác giả của cuốn sách.Lưu ý: Nếu một cuốn sách không có tác giả nhưng có ít nhất một cộng tác viên, hãy xác định các cộng tác viên đó theo hướng dẫn tại schema.org/Book. Ví dụ: Một cuốn sách có thể không có tác giả cụ thể, nhưng có thể có biên tập viên.Ngược lại, nếu tác giả là một tổ chức, hãy xác định theo cách nêu tại schema.org/Organization. Ví dụ: Tác giả của cuốn sách “Các nguyên tắc cơ bản về kỹ năng chống hoả hoạn” có thể là tổ chức National Fire Protection Association.
name
Text: Tên của cuốn sách.url
URL: URL trên trang web của bạn nơi chứa thông tin giới thiệu hoặc mô tả về cuốn sách. Liên kết này giúp điều chỉnh nội dung trong nguồn cấp dữ liệu của bạn sao cho khớp với nội dung trong cơ sở dữ liệu của Google. URL này có thể giống vớiworkExample.target.urlTemplate.Đối với trang đích thực tế, Google Tìm kiếm sử dụng URL được cung cấp trongworkExample.target.urlTemplate.workExample
Book (Edition): Các ấn bản của tác phẩm.
Thuộc tính nên có
sameAs
URL: URL của một trang tham chiếu giúp xác định tác phẩm. Ví dụ: một trang của Wikipedia, Wikidata, VIAF, hoặc Thư viện Quốc hội Hoa Kỳ cho cuốn sách đó.
Book (Edition)
Thuộc tính workExample sử dụng thực thể Book này để đại diện cho một ấn bản của tác phẩm.
Điểm then chốt: Hãy đọc nguyên tắc về Tác phẩm và Ấn bản để hiểu sự khác biệt giữa hai thực thể Book trong quá trình triển khai.
Dưới đây là các thuộc tính được Google hỗ trợ:
Thuộc tính bắt buộc
@id
Text: Một giá trị nhận dạng duy nhất trên toàn cầu cho sách, định dạng URL. Giá trị này phải dành riêng cho tổ chức của bạn, ổn định và không thay đổi theo thời gian. Bạn nên sử dụng định dạng URL (mặc dù không bắt buộc). URL này không cần phải là một liên kết hoạt động. Miền mà bạn sử dụng cho giá trị@idphải thuộc sở hữu của tổ chức của bạn.@type
Text: Đặt thành"Book".bookFormat
Enum: Định dạng của ấn bản. Thuộc tính này phải có một trong các giá trị sau:https://schema.org/AudiobookFormathttps://schema.org/EBookhttps://schema.org/Hardcoverhttps://schema.org/Paperback
inLanguage
Text: Ngôn ngữ chính của nội dung trong ấn bản. Sử dụng mã gồm hai ký tự trong danh sách mã ISO 639-1 alpha-2.isbn
Text: Giá trị ISBN-13 của ấn bản. Nếu bạn có ISBN-10, hãy chuyển đổi giá trị đó thành ISBN-13.potentialAction
ReadAction hoặc BorrowAction: Thao tác cần kích hoạt để người dùng mua hoặc tải sách xuống. Để biết thêm chi tiết, hãy tham khảoReadActionhoặcBorrowAction.
Thuộc tính nên có
author
Person hoặc Organization: Tác giả của ấn bản. Chỉ sử dụng thuộc tính này khi tác giả của ấn bản khác với tác giả của tác phẩm.Lưu ý: Nếu một ấn bản không có tác giả nhưng có ít nhất một cộng tác viên, hãy xác định các cộng tác viên đó theo hướng dẫn tại schema.org/Book. Ví dụ: Một ấn bản có thể không có tác giả cụ thể, nhưng có thể có biên tập viên.Ngược lại, nếu tác giả là một tổ chức, hãy xác định theo cách nêu tại schema.org/Organization. Ví dụ: Tác giả của “Ấn bản Hướng dẫn của Hiệp hội Tâm lý Hoa Kỳ”, ấn bản thứ 6, có thể là tổ chức American Psychological Association.
bookEdition
Text: Thông tin về ấn bản của cuốn sách. Ví dụ: “2nd Edition”.datePublished
Date: Ngày xuất bản ấn bản ở định dạngYYYY-MM-DDhoặcYYYY. Đây có thể là một ngày cụ thể hoặc chỉ là một năm cụ thể.identifier
PropertyValue: Giá trị nhận dạng bên ngoài hoặc mã khác giúp nhận dạng ấn bản này. Google cho phép sử dụng nhiều giá trị nhận dạng. Để biết thêm chi tiết, hãy tham khảoPropertyValue(identifier). Bạn có thể sử dụng lại thuộc tính này.name
Text: Tên ấn bản. Chỉ sử dụng khi tên ấn bản khác với tên tác phẩm.sameAs
URL: URL của một trang web tham khảo nêu rõ thông tin định danh của ấn bản đó. Ví dụ: Trang Wikipedia cho ấn bản cụ thể này. Không sử dụng lại thuộc tínhsameAscủa Work.url
URL: URL trên trang web của bạn nơi chứa thông tin giới thiệu hoặc mô tả về ấn bản. URL này có thể giống vớiworkExample.target.urlTemplate.
Ví dụ về Book (Edition):
"workExample": {
"@type": "Book",
"@id": "https://example.com/book/100",
"inLanguage": "en",
"isbn": "9787543321724",
"bookEdition": "20th Anniversary Edition",
"datePublished": "2000-02-26",
"bookFormat": "https://schema.org/Hardcover",
"potentialAction": {...}
}
Ví dụ: Book (Edition) với nhiều thuộc tính workExample:
"workExample": [
{
"@type": "Book",
"@id": "https://example.com/book/200",
"inLanguage": "zh",
"isbn": "9787543321721",
"bookEdition": "2nd Edition",
"bookFormat": "https://schema.org/Hardcover",
"potentialAction": {...}
},
{
"@type": "Book",
"@id": "https://example.com/book/300",
"inLanguage": "zh",
"isbn": "9787543321722",
"bookEdition": "1st Edition",
"bookFormat": "https://schema.org/EBook",
"potentialAction": {...}
}
]Person hoặc Organization (author)
Thuộc tính author của sách sử dụng thực thể Person hoặc Organization.
Thuộc tính bắt buộc
@type
Text: Đặt thành"Person"hoặc"Organization".name
Text: Tên của người hoặc tổ chức đó.
Thuộc tính nên có
sameAs
URL: URL của một trang web tham khảo nêu rõ thông tin định danh người hoặc tổ chức đó. Ví dụ: Trang Wikipedia cho người hoặc tổ chức đó.
Ví dụ author:
"author": {
"@type": "Person",
"name": "William Shakespeare"
}
Ví dụ về nhiều thuộc tính author:
"author": [
{
"@type": "Person",
"name": "William Shakespeare"
},
{
"@type": "Person",
"name": "Victor Hugo",
"sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo"
}
]PropertyValue (giá trị nhận dạng)
Thuộc tính identifier của Edition sử dụng thực thể PropertyValue.
Thuộc tính bắt buộc
@type
Text: Đặt thành"PropertyValue".propertyID
Text: Loại giá trị nhận dạng. Như đã mô tả trong phần ISBN và các giá trị nhận dạng được hỗ trợ khác, giá trị nhận dạng phải là một trong các thuộc tính sau:OCLC_NUMBERLCCNJP_E-CODE
value
Text: Giá trị nhận dạng. Đây là giá trị nhận dạng bên ngoài, giúp xác định rõ ràng ấn bản này. Hãy xoá tất cả các tiền tố không phải dạng số của giá trị nhận dạng bên ngoài.
Ví dụ identifier:
"identifier": {
"@type": "PropertyValue",
"propertyID": "OCLC_NUMBER",
"value": "110123456"
}
Ví dụ về nhiều thuộc tính identifier:
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "OCLC_NUMBER",
"value": "110123456"
},
{
"@type": "PropertyValue",
"propertyID": "LCCN",
"value": "220123456"
},
{
"@type": "PropertyValue",
"propertyID": "JP_E-CODE",
"value": "12345678901234567890"
}
]Ví dụ về nguồn cấp dữ liệu ReadAction Book trong định dạng JSON được tối ưu hóa cho SEO
{
"@context": "https://schema.org",
"@type": "DataFeed",
"dataFeedElement": [
{
"@context": "https://schema.org",
"@type": "Book",
"@id": "https://example.com/work/the_catcher_in_the_rye",
"url": "https://example.com/work/the_catcher_in_the_rye",
"name": "The Catcher in the Rye",
"author": {
"@type": "Person",
"name": "J.D. Salinger"
},
"sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
"workExample": [
{
"@type": "Book",
"@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
"isbn": "9787543321724",
"bookEdition": "Mass Market Paperback",
"bookFormat": "https://schema.org/Paperback",
"inLanguage": "en",
"url": "https://example.com/edition/the_catcher_in_the_rye_paperback",
"datePublished": "1991-05-01",
"identifier": {
"@type": "PropertyValue",
"propertyID": "OCLC_NUMBER",
"value": "1057320822"
},
"potentialAction": {
"@type": "ReadAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/store/9787543321724",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform",
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
},
"expectsAcceptanceOf": {
"@type": "Offer",
"category": "purchase",
"price": 6.99,
"priceCurrency": "USD",
"availabilityStarts": "2020-01-01T11:00:00-04:00",
"availabilityEnds": "2050-06-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "US"
}
}
}
},
{
"@type": "Book",
"@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
"isbn": "9780316769532",
"bookEdition": "Hardcover",
"bookFormat": "https://schema.org/Hardcover",
"inLanguage": "en",
"url": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
"datePublished": "1951-07-16",
"potentialAction": {
"@type": "ReadAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/store/9780316769532",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform",
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
},
"expectsAcceptanceOf": [
{
"@type": "Offer",
"category": "nologinrequired",
"availabilityStarts": "2020-01-01T11:00:00-04:00",
"availabilityEnds": "2050-06-30T23:59:00-04:00",
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
},
{
"@type": "Country",
"name": "GB"
}
]
},
{
"@type": "Offer",
"category": "Subscription",
"availabilityStarts": "2020-01-01T11:00:00-04:00",
"availabilityEnds": "2050-06-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "IN"
}
}
]
}
}
]
}
],
"dateModified": "2018-09-10T13:58:26.892Z"
}Ví dụ về nguồn cấp dữ liệu BorrowAction Book trong định dạng JSON được tối ưu hóa cho SEO
{
"@context": "https://schema.org",
"@type": "DataFeed",
"dataFeedElement": [
{
"@context": "https://schema.org",
"@type": "Book",
"@id": "https://example.com/work/the_catcher_in_the_rye",
"url": "https://example.com/work/the_catcher_in_the_rye",
"name": "The Catcher in the Rye",
"author": {
"@type": "Person",
"name": "J.D. Salinger"
},
"sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
"workExample": [
{
"@type": "Book",
"@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
"isbn": "9787543321724",
"bookEdition": "Mass Market Paperback",
"bookFormat": "https://schema.org/Paperback",
"inLanguage": "en",
"url": "https://example.com/edition/the_catcher_in_the_rye_paperback",
"datePublished": "1991-05-01",
"identifier": {
"@type": "PropertyValue",
"propertyID": "OCLC_NUMBER",
"value": "1057320822"
},
"potentialAction": {
"@type": "BorrowAction",
"lender": {
"@type": "LibrarySystem",
"@id": "https://example.com/librarySystem/100"
},
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/borrowpurchase?bookId=170",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform",
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
}
}
},
{
"@type": "Book",
"@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
"isbn": "9780316769532",
"bookEdition": "Hardcover",
"bookFormat": "https://schema.org/Hardcover",
"inLanguage": "en",
"url": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
"datePublished": "1951-07-16",
"potentialAction": {
"@type": "BorrowAction",
"lender": {
"@type": "LibrarySystem",
"@id": "https://example.com/librarySystem/100"
},
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "https://example.com/borrowpurchase?bookId=170",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform"
]
},
{
"@type": "EntryPoint",
"urlTemplate": "https://example.com/mobile/borrowpurchase?bookId=170",
"actionPlatform": [
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
}
]
}
}
]
}
],
"dateModified": "2018-09-10T13:58:26.892Z"
}ReadAction (potentialAction)
Thuộc tính potentialAction sử dụng thực thể ReadAction. ReadAction xác định các liên kết sâu để truy cập sách, nhà bán lẻ cung cấp sách, và các tiêu chí mà người dùng phải đáp ứng để truy cập nội dung. Các tiêu chí này có thể bao gồm tư cách thành viên, trạng thái đăng nhập, vị trí, hoặc bất kỳ điều kiện nào khác cần được đáp ứng để truy cập sách.
Thuộc tính bắt buộc
- @type: Text
Đặt thành ReadAction. - expectsAcceptanceOf: Offer
Phần xác định các yêu cầu mà người dùng phải đáp ứng để truy cập vào thực thể này. Nếu có nhiều thuộc tính Offer, thì người dùng phù hợp với bất kỳ tiêu chí nào nêu trong Offer sẽ có thể truy cập nội dung. Thuộc tính này có thể được tái sử dụng. - expectsAcceptanceOf.@type: Text
Đặt thành Offer. - expectsAcceptanceOf.category: Text
Loại Offer. Thuộc tính này phải có một trong các giá trị sau:- nologinrequired: Người dùng có thể thực hiện thao tác này mà không cần phải mua hoặc đăng nhập để truy cập nội dung.
- free: Người dùng có thể thực hiện thao tác này mà không cần mua sách hay mua gói đăng ký có tính phí. Tuy nhiên, người dùng phải đăng nhập.
- subscription: Sách thuộc gói đăng ký có tính phí đối với dịch vụ của bạn.
- purchase: Sách có thể đọc được sau khi mua.
- rental: Sách có thể đọc được trong một khoảng thời gian nhất định sau khi mua.
- expectsAcceptanceOf.eligibleRegion: Country
Quốc gia đủ điều kiện cho Offer này. Bạn có thể dùng thuộc tính này để kiểm soát quốc gia và khu vực mà bạn cung cấp hoặc không cung cấp nội dung này. Thuộc tính này có thể được tái sử dụng. - expectsAcceptanceOf.eligibleRegion.@type: Text
Đặt thành Country. - expectsAcceptanceOf.eligibleRegion.name: Text
Mã quốc gia theo ISO 3166-1 alpha-2. - target: EntryPoint
Thông tin đặc tả về liên kết sâu, bao gồm thông tin về nền tảng được hỗ trợ. Bạn có thể sử dụng nhiều thuộc tính EntryPoint để xác định các liên kết sâu khác nhau cho các nhóm nền tảng khác nhau. Thuộc tính này có thể được tái sử dụng. - target.@type: Text
Đặt thành EntryPoint. - target.actionPlatform: Text
(Các) nền tảng nơi liên kết sâu này hoạt động. Sử dụng một trong các giá trị sau:https://schema.org/DesktopWebPlatformhttps://schema.org/AndroidPlatformhttps://schema.org/IOSPlatform
- target.urlTemplate: URL
Liên kết trực tiếp dẫn người dùng đến nội dung trên trang đích của cuốn sách.
Thuộc tính nên có
- expectsAcceptanceOf.availabilityEnds: DateTime
Thời gian kết thúc của khung thời gian được phép đọc. Thuộc tính này giúp kiểm soát thời điểm chính xác khi người dùng không còn có thể đọc cuốn sách nữa. - expectsAcceptanceOf.availabilityStarts: DateTime
Thời gian bắt đầu của khung thời gian được phép đọc. Thuộc tính này giúp kiểm soát thời điểm chính xác khi người dùng có thể bắt đầu đọc cuốn sách. - expectsAcceptanceOf.price: Number
Giá mua sách. Thuộc tính này bắt buộc khi category của thuộc tính Offer được đặt thành purchase hoặc rental. - expectsAcceptanceOf.priceCurrency: Text
Đơn vị tiền tệ của giá bán, theo định dạng ISO 4217 gồm ba chữ cái.
Ví dụ ReadAction:
"potentialAction": {
"@type": "ReadAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/purchase?bookId=170",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform",
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
},
"expectsAcceptanceOf": {
"@type": "Offer",
"category": "purchase",
"price": "9.99",
"priceCurrency": "USD",
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2018-06-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "US"
}
}
}
Trong ví dụ này, thuộc tính potentialAction được thiết lập với loại ReadAction để xác định hành động mà người dùng có thể thực hiện. EntryPoint xác định URL đích và các nền tảng hỗ trợ liên kết này. Thuộc tính expectsAcceptanceOf định nghĩa các yêu cầu cần thiết để người dùng thực hiện hành động, bao gồm giá cả, đơn vị tiền tệ, và khu vực địa lý đủ điều kiện.
Ví dụ ReadAction với nhiều thuộc tính EntryPoint:
"potentialAction": {
"@type": "ReadAction",
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "https://example.com/purchase?bookId=170",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform"
]
},
{
"@type": "EntryPoint",
"urlTemplate": "https://example.com/mobile/purchase?bookId=170",
"actionPlatform": [
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
}
],
"expectsAcceptanceOf": [
{
"@type": "Offer",
"category": "noLoginRequired",
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2018-06-30T23:59:00-04:00",
"eligibleRegion": [
{
"@type": "Country",
"name": "US"
},
{
"@type": "Country",
"name": "GB"
}
]
},
{
"@type": "Offer",
"category": "Subscription",
"availabilityStarts": "2018-04-01T11:01:00-04:00",
"availabilityEnds": "2018-06-30T23:59:00-04:00",
"eligibleRegion": {
"@type": "Country",
"name": "IN"
}
}
]
}BorrowAction (potentialAction)
Thuộc tính potentialAction sử dụng thực thể BorrowAction. BorrowAction xác định các liên kết sâu để truy cập sách, thư viện cung cấp sách, và các tiêu chí mà người dùng phải đáp ứng để có thể truy cập nội dung. Các tiêu chí này có thể bao gồm tư cách thành viên, trạng thái đăng nhập, vị trí, hoặc bất kỳ điều kiện nào khác cần thiết để người dùng có thể mượn sách.
Thuộc tính bắt buộc
- @type: Text
Đặt thành BorrowAction. - lender: LibrarySystem
Hệ thống thư viện cung cấp quyền truy cập vào ấn bản này. - lender.@id: URL
URL đến giá trị nhận dạng của LibrarySystem, cần được mô tả đầy đủ và phân cách rõ ràng trong nguồn cấp dữ liệu thư viện. - lender.@type: Text
Đặt thành LibrarySystem. - target: EntryPoint
Thông tin đặc tả về liên kết sâu, bao gồm thông tin về nền tảng được hỗ trợ. Để xác định các liên kết sâu cho các nhóm nền tảng khác nhau, hãy chỉ định một mảng EntryPoint.Thuộc tính này có thể được tái sử dụng. - target.@type: Text
Đặt thành EntryPoint. - target.actionPlatform: Text
(Các) nền tảng nơi liên kết sâu này hoạt động. Sử dụng một trong các giá trị sau:https://schema.org/DesktopWebPlatformhttps://schema.org/AndroidPlatformhttps://schema.org/IOSPlatform
Thuộc tính này có thể được tái sử dụng.
- target.urlTemplate: URL
Liên kết trực tiếp dẫn người dùng đến nội dung trên trang đích của cuốn sách.
Ví dụ về BorrowAction:
"potentialAction": {
"@type": "BorrowAction",
"lender": {
"@type": "LibrarySystem",
"@id": "https://example.com/librarySystem/100"
},
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/borrow?bookId=170",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform",
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
}
}
Trong ví dụ này, thuộc tính potentialAction được thiết lập với loại BorrowAction nhằm xác định hành động mà người dùng có thể thực hiện để mượn sách từ một hệ thống thư viện. LibrarySystem đóng vai trò là nguồn cung cấp sách, trong khi EntryPoint xác định các nền tảng và liên kết cụ thể mà người dùng có thể sử dụng để truy cập và mượn sách từ trang đích.
Ví dụ BorrowAction với nhiều thuộc tính EntryPoint:
"potentialAction": {
"@type": "BorrowAction",
"lender": {
"@type": "LibrarySystem",
"@id": "https://example.com/librarySystem/100"
},
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "https://example.com/borrow?bookId=170",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform"
]
},
{
"@type": "EntryPoint",
"urlTemplate": "https://example.com/mobile/borrow?bookId=170",
"actionPlatform": [
"https://schema.org/AndroidPlatform",
"https://schema.org/IOSPlatform"
]
}
]
}Thực thể Library
Bạn có thể tham khảo định nghĩa đầy đủ về Library tại schema.org/Library. Tuy nhiên, khi làm việc với dữ liệu thư viện trong ngữ cảnh SEO, bạn nên tập trung vào các thuộc tính bắt buộc cần thiết cho mọi thư viện mà bạn chọn đưa vào nguồn cấp dữ liệu của mình. Ngoài ra, bạn cũng có thể xác định các thuộc tính mà chúng tôi khuyến nghị để bổ sung thêm thông tin chi tiết, giúp nâng cao trải nghiệm người dùng.
Thực thể Library này đại diện cho loại thực thể cấp cao nhất trong hệ thống thư viện. Nó là một khái niệm trừu tượng bao gồm một thực thể LibrarySystem và các thực thể Library (thành viên) cấp thấp hơn thuộc hệ thống LibrarySystem đó.
Điều quan trọng cần lưu ý là nguồn cấp dữ liệu Library khác biệt so với nguồn cấp dữ liệu Book. Vì vậy, bất kỳ nguồn cấp dữ liệu Library nào mà bạn triển khai cần phải hoàn toàn tách biệt khỏi nguồn cấp dữ liệu Book. Để hiểu rõ hơn về quy trình này, hãy tham khảo hướng dẫn về việc tạo nguồn cấp dữ liệu.
Điểm then chốt: Đọc kỹ nguyên tắc về Hệ thống thư viện và các thư viện thành viên để nắm rõ sự khác biệt giữa thực thể Library cấp cao nhất, thực thể LibrarySystem, và các thực thể Library cấp thấp hơn. Điều này rất quan trọng khi bạn triển khai hệ thống dữ liệu thư viện trong các chiến lược SEO của mình.
LibrarySystem
Thực thể LibrarySystem là khái niệm đại diện cho mạng lưới hợp tác của các thư viện thành viên.
Điểm then chốt: Để hiểu rõ hơn về sự khác biệt giữa các thực thể Library cấp cao nhất, LibrarySystem, và các thư viện thành viên cấp thấp hơn, hãy đọc kỹ nguyên tắc về Hệ thống thư viện và thư viện thành viên trước khi triển khai.
Thuộc tính bắt buộc
- @context: Text
Đặt thànhhttps://schema.org. - @id: URL
Đây là giá trị nhận dạng duy nhất toàn cầu cho hệ thống thư viện, được định dạng dưới dạng URL. Giá trị này phải ổn định và không thay đổi theo thời gian. URL không nhất thiết phải là một đường dẫn hoạt động, nhưng miền sử dụng cho giá trị @id phải thuộc sở hữu của tổ chức của bạn. - @type: Text
Đặt thành LibrarySystem. - additionalProperty: PropertyValue
Thuộc tính bổ sung dùng để xác định loại thư viện trong hệ thống. - additionalProperty.@type: Text
Đặt thành PropertyValue. - additionalProperty.name: Text
Đặt thànhlibrarytype. - additionalProperty.value: Text
Loại thư viện, chọn một trong các giá trị sau:-
- public
- academic
- corporate
- government
- school
- special
-
- member: Library
Các thành viên của hệ thống thư viện. - name: Text
Tên hệ thống thư viện. Ví dụ:The Southwestern League of Libraries. - url: URL
URL của trang cung cấp thông tin hoặc mô tả về hệ thống thư viện. Google Tìm kiếm sử dụng URL này để đối chiếu nội dung trong nguồn cấp dữ liệu của bạn với cơ sở dữ liệu của Google. Đối với các trang đích thực tế, Google Tìm kiếm sử dụng URL được cung cấp trongworkExample.target.urlTemplate.
Library (member)
Thuộc tính member của thực thể LibrarySystem được triển khai bằng cách sử dụng thực thể Library (member). Library (member) đại diện cho một thành viên cụ thể trong một hệ thống thư viện đã xác định.
Điểm then chốt: Hãy tham khảo kỹ lưỡng các nguyên tắc về Hệ thống thư viện và thư viện thành viên để hiểu rõ sự khác biệt giữa thực thể Library ở cấp cao nhất, thực thể LibrarySystem và các thực thể Library ở cấp thấp hơn trong quá trình triển khai.
Thuộc tính bắt buộc:
- @id (URL): Đây là giá trị nhận dạng duy nhất trên toàn cầu dành cho chi nhánh thư viện, được biểu diễn dưới dạng URL. Giá trị này phải ổn định và không thay đổi theo thời gian. URL chỉ cần là một chuỗi văn bản nguyên vẹn, không nhất thiết phải là một liên kết hoạt động. Miền sử dụng cho giá trị @id phải thuộc sở hữu của tổ chức của bạn.
- @type (Text): Giá trị này cần được đặt thành “Library”.
- location (PostalAddress): Đây là địa chỉ vật lý của chi nhánh thư viện. Một số thuộc tính có thể không được hỗ trợ ở một số quốc gia, nhưng bạn nên sử dụng tất cả các thuộc tính có thể áp dụng cho địa chỉ của các thư viện.
- Ví dụ về thuộc tính location tại Hoa Kỳ:
{
"@type": "Library",
"@id": "https://example.com/library-branches/1001",
"name": "Campbell Library",
"location": {
"@type": "PostalAddress",
"streetAddress": "77 Harrison Ave",
"addressLocality": "Campbell",
"addressRegion": "CA",
"postalCode": "95008",
"addressCountry": "US"
}
} Ví dụ về thuộc tính location tại Nhật Bản:
{
"@type": "Library",
"@id": "https://example.com/library-branches/1003",
"name": "Tokyo Metropolitan Central Library",
"location": {
"@type": "PostalAddress",
"streetAddress": "7-13-5 Minamiazabu, Minato City",
"addressLocality": "Tokyo",
"postalCode": "106-0047",
"addressCountry": "JP"
}
}
- Ví dụ về thuộc tính location tại Hoa Kỳ:
- location.@type (Text): Giá trị cần được đặt là “PostalAddress”.
- location.addressCountry (Text): Mã quốc gia theo định dạng ISO 3166-1. Ví dụ: “US”.
- location.addressLocality (Text): Tên thành phố. Ví dụ: “Mountain View”.
- location.addressRegion (Text): Tên khu vực. Ví dụ: “CA”.
- location.postalCode (Text): Mã bưu chính. Ví dụ: “94043”.
- location.streetAddress (Text): Địa chỉ đường phố. Ví dụ: “1600 Amphitheatre Pkwy”.
- name (Text): Tên của chi nhánh thư viện.
Ví dụ về nguồn cấp dữ liệu LibrarySystem ở định dạng JSON
Dưới đây là một ví dụ về nguồn cấp dữ liệu LibrarySystem được định dạng theo chuẩn JSON, sử dụng các thuật ngữ chuyên ngành trong lĩnh vực SEO:
{
"@context": "https://schema.org",
"@type": "LibrarySystem",
"@id": "https://example.com/library-systems/100",
"name": "Santa Clara County Library District",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "librarytype",
"value": "public"
}
],
"member": [
{
"@type": "Library",
"@id": "https://example.com/library-branches/1001",
"name": "Campbell Library",
"location": {
"@type": "PostalAddress",
"streetAddress": "77 Harrison Ave",
"addressLocality": "Campbell",
"addressRegion": "CA",
"postalCode": "95008",
"addressCountry": "US"
}
},
{
"@type": "Library",
"@id": "https://example.com/library-branches/1002",
"name": "Gilroy Library",
"location": {
"@type": "PostalAddress",
"streetAddress": "350 W 6th St",
"addressLocality": "Gilroy",
"addressRegion": "CA",
"postalCode": "95020",
"addressCountry": "US"
}
}
]
}Việc triển khai dữ liệu có cấu trúc cho thao tác với sách là một bước quan trọng để tối ưu hóa sự hiện diện của sản phẩm trên Google Tìm kiếm. Bằng cách tuân thủ các hướng dẫn và nguyên tắc của Google, nhà cung cấp có thể đảm bảo rằng sách của họ không chỉ xuất hiện trong kết quả tìm kiếm mà còn mang lại giá trị tối đa cho người dùng. Hãy bắt đầu ngay hôm nay để tối ưu hóa dữ liệu của bạn và nâng cao trải nghiệm người dùng trên nền tảng tìm kiếm lớn nhất thế giới.
