Structured Data สำหรับหนังสือ (Book
)
การดำเนินการเกี่ยวกับหนังสือทำให้ Google Search เป็นจุดเริ่มต้นในการค้นพบหนังสือและผู้แต่ง ซึ่งช่วยให้ผู้ใช้ Search ซื้อหรือยืมหนังสือที่พบจากผลการค้นหาของ Search ได้โดยตรงอย่างรวดเร็ว
ตัวอย่างเช่น ผู้ใช้อาจค้นหาหนังสือเรื่อง Charlotte's Web และเห็นผลการค้นหาที่ให้ซื้อหรือยืมหนังสือได้ ในฐานะผู้ให้บริการหนังสือ คุณอาจจัดเตรียมฟีดข้อมูลให้ Google โดยใช้สคีมาข้อมูลที่มีโครงสร้างซึ่งมีให้ในบทความนี้ ข้อกำหนดของเราระบุ ReadAction
เพื่อให้ผู้ใช้ซื้อหนังสือ และ BorrowAction
เพื่อให้ยืมหนังสือ
![การดำเนินการเกี่ยวกับหนังสือในผลการค้นหาของ Search](https://cdn.statically.io/img/developers.google.com/static/search/docs/images/books01.png?hl=th)
การดำเนินการเกี่ยวกับการอ่านและการยืมซึ่งรวมอยู่ในแผงจะแสดงตัวเลือกในการซื้อหรือยืมหนังสือ และจะส่งผู้ใช้จากการ์ดความรู้และแพลตฟอร์มอื่นๆ ของ Google ไปยังหน้าหนังสือที่อยู่ในเว็บไซต์หรือแอปของคุณโดยตรงผ่านลิงก์ที่คุณระบุไว้
ลําดับของผู้ให้บริการในการ์ดความรู้จะปรับเปลี่ยนไปตามความเหมาะสมกับผู้ใช้แต่ละราย ซึ่งหมายความว่าผู้ใช้แต่ละรายจะเห็นลำดับที่ต่างกันและผู้ใช้รายเดียวกันอาจเห็นลำดับที่ต่างกันในเวลาที่ต่างกัน มีปัจจัยหลายอย่า��ที่ส่งผลต่อการจัดลำดับ ตัวอย่างเช่น หากผู้ใช้คลิกลิงก์ของผู้ให้บริการหนึ่งๆ ในการ์ดความรู้เป็นประจํา ผู้ให้บริการดังกล่าวก็มีแนวโน้มที่จะอยู่ในลำดับที่สูงกว่า และไม่มีวิธีใดที่จะควบคุมการจัดลำดับได้
เริ่มต้น
คุณต้องสร้างฟีดตามคำจำกัดความของประเภทข้อมูลที่มีโครงสร้างสำหรับการดำเนินการเกี่ยวกับหนังสือเพื่อใช้การดำเนินการนี้ แต่ให้อ่านส่วนต่อไปนี้ก่อน
- หลักเกณฑ์
- สร้างฟีด
- ทดสอบฟีดด้วยเครื่องมือตรวจสอบฟีดข้อมูล
- โฮสต์ไฟล์ฟีด
- ส่งไฟล์ฟีดเพื่อรับการตรวจสอบ
- อัปเดตฟีดตามความจําเป็น
หลักเกณฑ์
โปรดทำความคุ้นเคยกับรายละเอียดสําคัญและแนวคิดหลักๆ เพื่อให้มั่นใจว่าหนังสือจะปรากฏใน Search อย่างถูกต้อง นอกจากนี้ฟีดต้องเป็นไปตามข้อกำหนดรูปแบบที่เป็นมาตรฐานด้วย
โปรดทำตามหลักเกณฑ์ที่อธิบายไว้ในส่วนนี้นอกเหนือจากหลักเกณฑ์ทั่วไปเกี่ยวกับ Structured Data และหลักเกณฑ์ใน Search Essentials เพื่อเป็นการปฏิบัติตามข้อกำหนดรูปแบบที่เป็นมาตรฐาน หลักเกณฑ์ดังกล่าวมีดังต่อไปนี้
งานและฉบับ
ในเอกสารนี้ เราใช้คำ 2 คำที่แตกต่างกันเมื่อพูดถึงหนังสือ ได้แก่
- งาน (Work) หมายถึงแนวคิดที่เป็นนามธรรมของหนังสือ กล่าวคือ ข้อมูลเมตาอย่างเช่น ชื่อหนังสือ ผู้แต่ง และภาษาต้นฉบับเป็น��อตทริบิวต์ของงาน
- ฉบับ (Edition) หมายถึงตัวเล่มหนังสือ กล่าวคือ ข้อมูลเมตาอย่างเช่น ปีที่พิมพ์ ชื่อฉบับ และเลขมาตรฐานสากลประจำหนังสือ (ISBN) เป็นแอตทริบิวต์ของฉบับ
ตัวอย่างเช่น Charlotte's Web เป็นงานแต่เวอร์ชันต่างๆ ที่มีคือฉบับ ในกรณีนี้ งาน Charlotte's Web อาจมีฉบับแรก ฉบับที่ 2 ฉบับย่อ ฉบับแปลภาษาฝรั่งเศส และอื่นๆ
ความแตกต่างนี้สําคัญอย่างยิ่งในฟีดที่เห็นความแตกต่างไม่ชัดเจน มีเอนทิตี Book
2 รายการ ได้แก่
Book
(Work
) เป็นเอนทิตีBook
"ระดับบนสุด":workExample
เป็นพร็อพเพอร์ตี้ของWork
และระบุอินสแตนซ์ที่มี 1 รายการเท่านั้นของBook
(Edition
)- ต้องมี
workExample
อย่างน้อย 1 รายการสําหรับWork
แต่ละรายการ
Book
(Edition
) เป็นเอนทิตีBook
"ระดับล่าง"
อย่าลืมว่างาน 1 งานมีได้หลายฉบับ เราขอแนะนําให้จัดกลุ่มฉบับต่างๆ เข้าไว้ด้วยกันให้มากที่สุด เพราะจะช่วยให้ระบบของ Google ใช้ประโยชน์จากข้อมูลที่เกี่ยวข้องทั้งหมดเกี่ยวกับหนังสือเพื่อแสดงใน Search หากจำเป็น คุณแบ่งฉบับออกเป็นหลายระเบียนงานได้ แต่สิ่งที่ระเบียนงานแต่ละรายการจะต้องมีคือ
@id
ที่แตกต่างกัน- ฉบับอย่างน้อย 1 ฉบับที่มี ISBN หรือตัวระบุอื่นที่รองรับ
ระบบห้องสมุดและสมาชิกห้องสมุด
Library entity
เป็นเอนทิตี Library
ประเภท "ระดับบนสุด" หรือเป็นโครงสร้างนามธรรมซึ่งประกอบด้วยเอนทิตี LibrarySystem
และเอนทิตี Library (member)
"ระดับ��่าง" แต่ละรายการของระบบห้องสมุดนั้น
เอนทิตี LibrarySystem
เป็นนามธรรมและแสดงถึงเครือข่ายสมาชิกห้องสมุดที่ทํางานร่วมกัน เช่น คุณระบุห้องสมุดสาธารณะของเมืองออสตินเป็นเอนทิตี LibrarySystem
ได้ เว็บไซต์ห้องสมุดสาธารณะของเมืองออสตินอธิบายว่าตนเป็นระบบห้องสมุดสาธารณะที่ให้บริการในเมืองออสติน รัฐเท็กซัส และประกอบด้วยห้องสมุดในเครือ (หรือสมาชิกห้องสมุด) 20 แห่ง
เอนทิตี LibrarySystem
ทุกรายการต้องมีเอนทิตี Library (member)
อย่างน้อย 1 รายการ แม้ว่าจริงๆ แล้วห้องสมุดแห่งนั้นไม่ได้เป็นส่วนหนึ่งของระบบห้องสมุดใดเลยก็ตาม ในสถานการณ์นี้ ห้องสมุดจะเป็นสมาชิกห้องสมุดเพียงแห่งเดียวในระบบห้องสมุดของตนเองเพื่อวัตถุประสงค์ในการใช้การดำเนินการเกี่ยวกับหนังสือ ส่วนสมาชิกห้องสมุดนั้นต่างจากระบบห้องสมุดตรงที่ไม่ได้เป็นนามธรรม ดังนั้นจึงมีที่อยู่จริง สำหรับวัตถุประสงค์เดียวกันดังกล่าว
ในทางกลับกัน เอนทิตี Library (member)
ทุกรายการจะต้องเป็นของเอนทิตี LibrarySystem
อย่างน้อย 1 รายการ
ISBN และตัวระบุอื่นๆ ที่รองรับ
ISBN คือสัญญาณหลักของความตรงกันของข้อมูลเมื่อ Google Search จับคู่ข้อมูลฟีดของคุณกับข้อมูลของ Google คุณต้องระบุ ISBN หรือตัวระบุอื่นที่รองรับสำหรับหนังสือทั้งหมดที่ต้องการให้ปรากฏในผลการค้นหาของ Search หากไม่มี หมายความว่าระบบจะจับคู่หนังสือไม่ได้และไม่แสดงหนังสือ
Google Search แนะนำให้ใช้ ISBN-13 แต่คุณให้ตัวระบุต่อไปนี้แทนได้
- หมายเลขในศูนย์หอสมุดคอมพิวเตอร์ออนไลน์ (OCLC)
- หมายเลขมาตรฐานสำหรับหนังสือของหอสมุดรัฐสภาอเมริกัน (LCCN)
- JP e-code
ลิงก์
ลิงก์ในฟีดต้องเป็นไปตามหลักเกณฑ์ต่อไปนี้เพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ดีที่สุดในการค้นหาหนังสือ
- หากคุณมีหน้าซ้ำกันสำหรับเนื้อหาที่เหมือนกัน ลิงก์ต้องเป็น Canonical URL ที่มีชื่อหนังสือและข้อมูลอื่นๆ เกี่ยวกับหนังสือ
- หลังจากที่ผู้ใช้คลิกลิงก์การดำเนินการเกี่ยวกับการอ่านหรือยืม ระบบจะต้องส่งผู้ใช้ไปยังหน้าเว็บที่รองรับการซื้อหรือการยืมหนังสือโดยตรง กล่าวคือ อย่าชี้ลิงก์การดำเนินการไปยังหน้าเว็บที่มีลิงก์อื่นซึ่งผู้ใช้ต้องคลิกเพื่อซื้อหรือยืมเนื้อหา ตัวอย่างเช่น อย่าส่งผู้ใช้ไปยังหน้าผลการค้นหาหรือหน้าสรุปของผลิตภัณฑ์
สร้างฟีด
หากเว็บไซต์ขายหนังสือให้ผู้ใช้ซื้อ คุณต้องอัปโหลดฟีด Book
โปรดติดต่อตัวแทนของ Google และยืนยันรายละเอียดเกี่ยวกับวิธีและตําแหน่งที่จะอัปโหลดฟีด
หากเว็บไซต์ให้บริการยืมหนังสือแก่ผู้ใช้ คุณต้องอัปโหลดฟีด 2 รายการ ได้แก่ ฟีด Book
และฟีด Library
โปรดติดต่อตัวแทนของ Google และยืนยันรายละเอียดเกี่ยวกับวิธีและตําแหน่งที่จะอัปโหลดฟีด
ปฏิบัติตามข้อกำหนดด้านขนาดไฟล์ จำนวน และรูปแบบ
ข้อกำหนดต่างๆ มีดังต่อไปนี้
- ข้อกำหนดด้านขนาดไฟล์ฟีด
- ไฟล์ฟีดที่ไม่ได้บีบอัดต้องมีขนาดไม่เกิน 1 GB
- ไฟล์ฟีดที่จะบีบอัดต้องมีขนาดไม่เกิน 1 GB หากไฟล์ฟีดที่ไม่ได้บีบอัดมีขนาดเกิน 1 GB คุณต้องแยกไฟล์ฟีดที่ไม่ได้บีบอัดออกเป็นหลายไฟล์
- คุณบีบอัดไฟล์ฟีดได้ โดยต้องอยู่ในรูปแบบไฟล์ zip, gz, tar, tar.gz, JAR, ar, arj, cpio หรือไฟล์แบบเก็บถาวร Dump
- หากมีไฟล์ฟีดหลายไฟล์ คุณจะอัปโหลดตามนั้นหรือรวมไว้ในไฟล์ดัชนีแผนผังเว็บไซต์ก็ได้
- ไฟล์ฟีดเดี่ยวต้องมีส่วนขยายชื่อไฟล์
.json
ปฏิบัติตามข้อกําหนดด้านเนื้อหาฟีด
โปรดคำนึงถึงข้อกําหนดด้านเนื้อหาฟีดต่อไปนี้เป็นพิเศษและต้องปฏิบัติตามด้วย
- ฟีดต้องไม่มีเอนทิตีที่ไม่มีอัปเดต เอนทิตีที่ไม่มีอัปเดตคือเอนทิตีที่ตั้งค่า
availabilityEnds
เป็นวันที่ที่ผ่านมาหรือไม่มีอยู่ในเว็บไซต์แล้ว - Deep Link ทั้งหมด เช่น
urlTemplate
และ URL ทั้งหมด เช่นurl
ที่คุณใส่ไว้ในฟีดต้องเป็น URL เวอร์ชันที่ใช้งานจริง อย่าใช้ URL สำหรับ QA, การพัฒนา หรือ URL ประเภทอื่นที่ไม่ใช่เวอร์ชันที่ใช้งานจริง - URL ทั้งหมด เช่น
url
ต้องเป็น Canonical - เอนทิตีแต่ละรายการในฟีดต้องระบุพร็อพเพอร์ตี้ต่อไปนี้
- รหัสที่ไม่ซ้ำกัน:
@id
- URL ที่ไม่ซ้ำกัน:
url
- Deep Link ที่ไม่ซ้ำกัน:
urlTemplate
- รหัสที่ไม่ซ้ำกัน:
ทดสอบฟีดด้วยเครื่องมือตรวจสอบฟีดข้อมูล
เราขอแนะนําให้ทําตามขั้นตอนการแก้ปัญหาต่อไปนี้เพื่อแก้ไขข้อผิดพลาดที่พบบ่อยและคําเตือนในเครื่องมือตรวจสอบฟีดข้อมูล
-
ตรวจสอบว่าได้เลือกตัวเลือกที่ถูกต้องในช่องตรวจสอบเมื่อ เลือกการดำเนินการเกี่ยวกับหนังสือให้กับเอนทิตี
Book
- ยืนยันว่าสะกดค่า
@type
ถูกต้อง - ตรวจสอบว่าตั้งค่า
@context
อย่างถูกต้อง ตั้งค่า"@context": "https://schema.org"
สําหรับทั้งReadAction
และBorrowAction
โฮสต์ไฟล์ฟีด
เมื่อไฟล์ฟีดพร้อมใช้งาน ให้โฮสต์ไฟล์นั้นในตําแหน่งที่ปลอดภัย Google จะดึงข้อมูลฟีดเป็นประจำเพื่อให้เนื้อหาเป็นปัจจุบัน
วิธีการโฮสต์
ระบบรองรับวิธีการโฮสต์ฟีดต่อไปนี้
โฮสติ้ง | การรองรับการตรวจสอบสิทธิ์ | |
---|---|---|
Google Cloud Storage | สิทธิ์โปรแกรมดูออบเจ็กต์ในพื้นที่เก็บข้อมูล | |
HTTPS | ชื่อผู้ใช้ + รหัสผ่าน หรือใบรับรองไคลเอ็นต์ HTTP | |
SFTP | รหัสผ่าน, คีย์ + วลี หรือทั้ง 2 อย่าง | |
AWS S3 | รหัสคีย์ + คีย์การเข้าถึง |
ส่งไฟล์ฟีดเพื่อรับการตรวจสอบ
ทีมสนับสนุนของ Google จะตรวจสอบคุณภาพของ Deep Link ในฟีดเพื่อให้เนื้อหาพร้อมใช้งานใน Google Search เราขอแนะนำอย่างยิ่งให้ทดสอบ Deep Link บางส่วนด้วยตนเองเพื่อยืนยันว่าเปิดหน้าเว็บที่ผู้ใช้จ��ซื้อหรือยืมหนังสือได้
ในการขอรับการตรวจสอบฟีด ให้ระบุข้อมูลต่อไปนี้
- ตำแหน่งโฮสต์: URL ของไฟล์ฟีด
- การตรวจสอบสิทธิ์ของโฮสต์ (หากมี): ข้อมูลเข้าสู่ระบบสำหรับการตรวจสอบสิทธิ์เพื่ออนุญาตให้ Google รับไฟล์ฟีดจากตำแหน่งโฮสต์
อัปเดตฟีดตามความจําเป็น
เราขอแนะนําให้อัปเดตฟีดทุกวัน ทั้งนี้ขึ้นอยู่กับความถี่ในการเปลี่ยนแปลงแคตตาล็อก โปรดคำนึงถึงเงื่อนไขและเคล็ดลับต่อไปนี้
- Google Search ไม่รองรับการอัปเดตแบบเรียลไทม์
- Google Search จะดึงข้อมูลฟีดวันละครั���งและมักจัดทําดัชนีเนื้อหาภายใน 2 วัน
- ����ก��������รเปลี่ยนแปลง�����่ทราบในความพร้อมใช้งานของฉบับ ให้ใช้
availabilityStarts
และavailabilityEnds
เพื่อกําหนดวันที่ที่แน่นอน หากเอนทิตีใช้งานไม่ได้อีกต่อไป ให้นำเอนทิตีนั้นออกทั้งหมด
คำจำกัดความของประเภทข้อมูลที่มีโครงสร้าง
คุณต้องใส่พร็อพเพอร์ตี้ที่จำเป็นซึ่งระบุไว้ในส่วนนี้ลงในเนื้อหาเพื่อให้มีสิทธิ์แสดงในผลการค้นหาแบบมีโครงสร้าง โดยอาจใส่พร็อพเพอร์ตี้ที่แนะนำด้วยเพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหา ซึ่งจะช่วยให้ผู้ใช้ได้รับประสบการณ์ที่ดียิ่งขึ้น
เอนทิตี DataFeed
ไฟล์ฟีดข้อมูล schema.org ทุกไฟล์ที่ส่งไปยัง Google ต้องมีเอนทิตี DataFeed
รายการเดียวที่ระดับราก เอนทิตี Book
และ Library
ทั้งหมดต้องแสดงอยู่ในช่อง dataFeedElement
ของเอนทิตี DataFeed
พร็อพเพอร์ตี้ที่ Google รองรับมีดังต่อไปนี้
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@context |
ตั้งค่าเป็น |
@type |
ตั้งค่าเป็น |
dataFeedElement |
ตั้งค่าเป็นเอนทิตี ตัวอย่างการใช้ในฟีด { "@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" } ตัวอย่างการใช้ในฟีด { "@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" } |
dateModified |
วันที่และเวลาในการอัปเดตฟีดครั้งล่าสุดในรูปแบบ ISO 8601 |
เอนทิตี Book
ดูคำจำกัดความที่สมบูรณ์ของ Book
ได้ที่ schema.org/Book แต่คุณจะพิจารณาเฉพาะพร็อพเพอร์ตี้ต่อไปนี้เท่านั้น คุณต้องกำหนดข้อมูลให้พร็อพเพอร์ตี้ที่จำเป็นสำหรับหนังสือทุกเรื่องที่เลือกใส่ไว้ในฟีด โดยอาจกำหนดพร็อพเพอร์ตี้ที่แนะนำด้วยเพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหา ซึ่งจะช่วยให้ผู้ใช้ได้รับประสบการณ์ที่ดียิ่งขึ้น
Book
(Work
)
เอนทิตี Book
นี้เป็นเอนทิตีประเภทที่อยู่ระดับบนสุด ซึ่งแสดงถึงงาน
พร็อพเพอร์ตี้ที่ Google รองรับมีดังต่อไปนี้
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@context |
ตั้งค่าเป็น |
@id |
รหัสที่ไม่ซ้ำกันทั่วโลกของหนังสือในรูปแบบ URL นั่นคือต้องเป็นขององค์กรคุณเท่านั้น รหัสต้องคงที่และไม่มีการเปลี่ยนแปลงเมื่อเวลาผ่านไป ขอแนะนำให้ใช้รูปแบบ URL แม้จะไม่ได้เป็นข้อกำหนด URL ไม่จำเป็นต้องเป็นลิงก์ที่ใช้งานได้ โดเมนที่ใช้สำหรับค่า |
@type |
ตั้งค่าเป็น |
author |
ผู้แต่งหนังสือ |
name |
ชื่อของหนังสือ |
url |
URL ในเว็บไซต์ที่มีการแนะนำหรืออธิบายหนังสือ ลิงก์นี้จะช่วยปรับเนื้อหาในฟีดให้ตรงกับเนื้อหาในฐานข้อมูลของ Google อย่างถูกต้อง ซึ่งอาจเหมือนกับ สำหรับหน้า Landing Page จริง Google Search จะใช้ URL ที่ให้ไว้ใน |
workExample |
ฉบับของงาน |
พร็อพเพอร์ตี้ที่แนะนำ | |
---|---|
sameAs |
URL ของหน้าเว็บอ้างอิงที่ระบุงาน เช่น หน้า Wikipedia, Wikidata, VIAF หรือหน้าเว็บหอสมุดรัฐสภาอเมริกันของหนังสือ |
Book
(Edition
)
พร็อพเพอร์ตี้ workExample
ใช้เอนทิตี Book
นี้ ซึ่งหมายถึงฉบับของงาน
พร็อพเพอร์ตี้ที่ Google รองรับมีดังต่อไปนี้
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@id |
รหัสที่ไม่ซ้ำกันทั่วโลกของหนังสือในรูปแบบ URL นั่นคือต้องเป็นขององค์กรคุณเท่านั้น รหัสต้องคงที่และไม่มีการเปลี่ยนแปลงเมื่อเวลาผ่านไป ขอแนะนำให้ใช้รูปแบบ URL แม้จะไม่ได้เป็นข้อกำหนด URL ไม่จำเป็นต้องเป็นลิงก์ที่ใช้งานได้ โดเมนที่ใช้สำหรับค่า |
@type |
ตั้งค่าเป็น |
bookFormat |
รูปแบบของฉบับ ค่าต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้
|
inLanguage |
ภาษาหลักของเนื้อหาในฉบับ ใช้หนึ่งในรหัสตัวอักษร 2 ตัวจากรายการโค้ด ISO 639-1 Alpha-2 |
isbn |
ISBN-13 ของฉบับ หากคุณมี ISBN-10 ให้แปลงเป็น ISBN-13 |
potentialAction |
การดําเนินการที่จะเริ่มขึ้นเพื่อให้ผู้ใช้ซื้อหรือดาวน์โหลดหนังสือ ดูรายละเอียดเพิ่มเติมได้ที่ |
พร็อพเพอร์ตี้ที่แนะนำ | |
---|---|
author |
ผู้แต่งของฉบับ |
bookEdition |
ข้อมูลฉบับของหนังสือ เช่น |
datePublished |
วันที่เผยแพร่ฉบับในรูปแบบ YYYY-MM-DD หรือ YYYY ซึ่งอาจระบุวันที่หรือระบุเฉพาะปีก็ได้ |
identifier |
รหัสภายนอกหรือรหัสอื่นๆ ที่ระบุฉบับนี้อย่างชัดเจน อนุญาตให้ใช้ตัวระบุได้หลายรายการ ดูรายละเอียดเพิ่มเติมได้ที่ พร็อพเพอร์ตี้นี้ใช้ซ้ำได้ |
name |
ชื่อของฉบับ ใช้เมื่อชื่อของฉบับแตกต่างจากชื่อของงานเท่านั้น |
sameAs |
URL ของหน้าเว็บอ้างอิงที่ระบุฉบับอย่างชัดเจน เช่น หน้า Wikipedia ของฉบับนี้ อย่าใช้ |
url |
URL ในเว็บไซต์ที่มีการแนะนำหรืออธิบายฉบับ ซึ่งอาจเหมือนกับ |
เช่น Book
(Edition
):
"workExample": { "@type": "Book", "@id": "https://example.com/book/100", "inLanguage": "en", "isbn": "9787543321724", "bookEdition": "20 Anniversary Edition", "datePublished": "2000-02-26", "bookFormat": "https://schema.org/Hardcover", "potentialAction": {...} }
ตัวอย่าง Book
(Edition
) ที่มีพร็อพเพอร์ตี้ 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
หรือ Organization
(author
)
พร็อพเพอร์ตี้ author
ของหนังสือใช้เอนทิตี Person
หรือ Organization
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@type |
ตั้งค่าเป็น |
name |
ชื่อของบุคคลหรือองค์กร |
พร็อพเพอร์ตี้ที่แนะนำ | |
---|---|
sameAs |
URL ของหน้าเว็บอ้างอิงที่ระบุตัวตนของบุคคลหรือองค์กรอย่างชัดเจน เช่น หน้า Wikipedia ของบุคคลหรือองค์กรนั้น |
ตัวอย่าง author
"author": { "@type": "Person", "name": "William Shakespeare" }
ตัวอย่างที่มีพร็อพเพอร์ตี้ author
หลายรายการ
"author": [ { "@type": "Person", "name": "William Shakespeare" }, { "@type": "Person", "name": "Victor Hugo", "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo" } ]
PropertyValue (ตัวระบุ)
พร็อพเพอร์ตี้ identifier
ของ Edition
ใช้เอนทิตี PropertyValue
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@type |
ตั้งค่าเป็น |
propertyID |
ประเภทของรหัส ตามที่อธิบายไว้ใน ISBN และตัวระบุอื่นๆ ที่รองรับ รหัสต้องเป็นรูปแบบใดรูปแบบหนึ่งต่อไปนี้
|
value |
ค่ารหัส รหัสภายนอกที่ระบุฉบับนี้อย่างชัดเจน นำรหัสนำหน้าที่ไม่ใช่ตัวเลขของรหัสภายนอกออกทั้งหมด |
ตัวอย่าง identifier
"identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }
ตัวอย่างที่มีพร็อพเพอร์ตี้ identifier
หลายรายการ
"identifier": [ { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }, { "@type": "PropertyValue", "propertyID": "LCCN", "value": "220123456" },{ "@type": "PropertyValue", "propertyID": "JP_E-CODE", "value": "12345678901234567890" }]
ตัวอย่างไฟล์ JSON ของฟีด ReadAction
Book
{ "@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:0: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:0: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:0:00-04:00", "availabilityEnds": "2050-06-30T23:59:00-04:00", "eligibleRegion": { "@type": "Country", "name": "IN" } } ] } } ] } ], "dateModified": "2018-09-10T13:58:26.892Z" }
ตัวอย่างไฟล์ JSON ของฟีด BorrowAction
Book
{ "@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
)
พร็อพเพอร์ตี้ potentialAction
ใช้เอนทิตี ReadAction
ReadAction
กําหนด Deep Link เพื่อเข้าถึงหนังสือ ผู้ค้าปลีกที่มีหนังสือในคลังสินค้า และเกณฑ์คุณสมบัติที่ผู้ใช้ต้องมี ซึ่งอาจเป็นสถานะการเป็นสมาชิก สถานะการเข้าสู่ระบบ ตําแหน่ง หรือสิ่งอื่นที่จําเป็นต่อการเข้าถึงหนังสือ
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@type |
ตั้งค่าเป็น |
expectsAcceptanceOf |
คำจำกัดความของข้อกำหนดของผู้ใช้ในการเข้าถึงเอนทิต��นี้ หากมีพร็อพเพอร์ตี้ พร็อพเพอร์ตี้นี้ใช้ซ้ำได้ |
expectsAcceptanceOf.@type |
ตั้งค่าเป็น |
expectsAcceptanceOf.category |
ประเภทของ
|
expectsAcceptanceOf.eligibleRegion |
ประเทศที่มีสิทธิ์สำหรับ พร็อพเพอร์ตี้นี้ใช้ซ้ำได้ |
expectsAcceptanceOf.eligibleRegion.@type |
ตั้งค่าเป็น |
expectsAcceptanceOf.eligibleRegion.name |
รหัสประเทศในรูปแบบ ISO 3166-1 Alpha-2 |
target |
ข้อกำหนดของ Deep Link ซึ่งรวมถึงข้อมูลแพลตฟอร์มที่รองรับ มีพร็อพเพอร์ตี้ พร็อพเพอร์ตี้นี้ใช้ซ้ำได้ |
target.@type |
ตั้งค่าเป็น |
target.actionPlatform |
แพลตฟอร์มที่ Deep Link นี้ใช้ได้ โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้
พร็อพเพอร์ตี้นี้ใช้ซ้ำได้ |
target.urlTemplate |
ลิงก์ที่นำผู้ใช้ไปยังเนื้อหาในหน้า Landing Page ของหนังสือโดยตรง |
พร็อพเพอร์ตี้ที่แนะนำ | |
---|---|
expectsAcceptanceOf.availabilityEnds |
เวลาสิ้นสุดของระยะเวลาที่พร้อมจำหน่าย ซึ่งอาจใช้เพื่อควบคุมเวลาที่แน่นอนเมื่อหนังสือเรื่องนี้ต้องไม่แสดงต่อผู้ใช้อีก |
expectsAcceptanceOf.availabilityStarts |
เวลาเริ่มต้นของระยะเวลาที่พร้อมจำหน่าย ซึ่งอาจใช้เพื่อควบคุมเวลาที่แน่นอนเมื่อหนังสือเรื่องนี้จะแสดงต่อผู้ใช้ได้ |
expectsAcceptanceOf.price |
ราคาซื้อของหนังสือ ซึ่งจำเป็นต้องมีเมื่อตั้งค่า |
expectsAcceptanceOf.priceCurrency |
สกุลเงินของราคาในรูปแบบ ISO 4217 ที่เป็นตัวอักษร 3 ตัว |
ตัวอย่าง 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" } } }
ตัวอย่าง ReadAction
ที่มีพร็อพเพอร์ตี้ 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
)
พร็อพเพอร์ตี้ potentialAction
ใช้เอนทิตี BorrowAction
BorrowAction
กําหนด Deep Link เพื่อเข้าถึงหนังสือ ห้องสมุดที่มีหนังสือเรื่องดังกล่าว และเกณฑ์คุณสมบัติที่ผู้ใช้ต้องมี ซึ่งอาจเป็นสถานะการเป็นสมาชิก สถานะการเข้าสู่ระบบ ตําแหน่ง หรือสิ่งอื่นที่จําเป็นต่อการเข้าถึงหนังสือ
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@type |
ตั้งค่าเป็น |
lender |
ระบบห้องสมุดที่ให้การเข้าถึงหนังสือฉบับนี้ |
lender.@id |
การอ้างอิงรหัสของ |
lender.@type |
ตั้งค่าเป็น |
target |
ข้อกำหนดของ Deep Link ซึ่งรวมถึงข้อมูลแพลตฟอร์มที่รองรับ หากต้องการกำหนด Deep Link ให้ชุดแพลตฟอร์มอื่น ให้ระบุอาร์เรย์ พร็อพเพอร์ตี้นี้ใช้ซ้ำได้ |
target.@type |
ตั้งค่าเป็น |
target.actionPlatform |
แพลตฟอร์มที่ Deep Link นี้ใช้ได้ โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้
พร็อพเพอร์ตี้นี้ใช้ซ้ำได้ |
target.urlTemplate |
ลิงก์ที่นำผู้ใช้ไปยังเนื้อหาในหน้า Landing Page ของหนังสือโดยตรง |
ตัวอย่าง 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" ] } }
ตัวอย่าง BorrowAction
ที่มีพร็อพเพอร์ตี้ 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" ] } ] }
เอนทิตี Library
ดูคำจำกัดความที่สมบูรณ์ของ Library
ได้ที่ schema.org/Library แต่คุณจะพิจารณาเฉพาะพร็อพเพอร์ตี้ต่อไปนี้เท่านั้น คุณต้องกำหนดข้อมูลให้พร็อพเพอร์ตี้ที่จำเป็นสำหรับห้องสมุดทุกแห่งที่เลือกใส่ไว้ในฟีด
โดยอาจกำหนดพร็อพเพอร์ตี้ที่แนะนำด้วยเพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหา ซึ่งจะช่วยให้ผู้ใช้ได้รับประสบการณ์ที่ดีย��่งขึ้น
เอนทิตี Library
นี้เป็นประเภทเอนทิตี Library
ระดับบนสุด หรือเป็นโครงสร้างนามธรรมซึ่งประกอบด้วยเอนทิตี LibrarySystem
และเอนทิตี Library (member)
ระดับล่างแต่ละรายการของ LibrarySystem
นั้น
ฟีด Library
แตกต่างจากฟีด Book
ดังนั้นฟีด Library
ใดๆ ที่คุณอาจใช้งานต้องแยกจากฟีด Book
ทั้งหมด
ดูข้อมูลเพิ่มเติมได้ที่สร้างฟีด
LibrarySystem
เอนทิตี LibrarySystem
แสดงถึงเครือข่ายสมาชิกห้องสมุดที่ทํางานร่วมกัน
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@context
|
Text
ตั้งค่าเป็น |
@id
|
URL
รหัสที่ไม่ซ้ำกันทั่วโลกของระบบห้องสมุดในรูปแบบ URL รหัสต้องคงที่และไม่มีการเปลี่ยนแปลงเมื่อเวลาผ่านไป โดยจะถือว่าเป็นสตริงที่คลุมเครือและไม่จำเป็นต้องเป็นลิงก์ที่ใช้งานได้ โดเมนที่ใช้สำหรับค่า |
@type
|
Text
ตั้งค่าเป็น |
additionalProperty
|
PropertyValue
พร็อพเพอร์ตี้เพิ่มเติมที่ใช้เพื่อระบุประเภทของห้องสมุด |
additionalProperty.@type
|
Text
ตั้งค่าเป็น |
additionalProperty.name
|
Text
ตั้งค่าเป็น |
additionalProperty.value
|
Text
ประเภทของห้องสมุด โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้
|
member
|
Library
สมาชิกของระบบห้องสมุด |
name
|
Text
ชื่อของระบบห้องสมุด เช่น |
url
|
URL
URL ที่มีการแนะนำหรืออธิบายระบบห้องสมุด Google Search ใช้ลิงก์นี้เพื่อปรับเนื้อหาใ����ีดใ��้��ร������บเนื้อหาใน��า��ข้อมูลของ Google สำหรับหน้า Landing Page จริง Google Search จะใช้ URL ที่ให้ไว้ใน |
Library
(member
)
พร็อพเพอร์ตี้ member
ของเอนทิตี LibrarySystem
ใช้เอนทิตี Library (member)
Library (member)
แสดงถึงสมาชิกห้องสมุดแห่งเดียวในระบบห้องสมุดหนึ่งๆ
พร็อพเพอร์ตี้ที่จำเป็น | |
---|---|
@id
|
URL
รหัสที่ไม่ซ้ำกันทั่วโลกของสาขาห้องสมุดในรูปแบบ URL รหัสต้องคงที่และไม่มีการเปลี่ยนแปลงเมื่อเวลาผ่านไป โดยจะถือว่าเป็นสตริงที่คลุมเครือและไม่จำเป็นต้องเป็นลิงก์ที่ใช้งานได้ โดเมนที่ใช้สำหรับค่า |
@type
|
Text
ตั้งค่าเป็น |
location
|
PostalAddress
ที่อยู่ของสาขาห้องสมุด บางพร็อพเพอร์ตี้อาจใช้ไม่ได้ในบางประเทศ คุณต้องระบุให้มากเท่ากับที่ใช้กับที่อยู่ของห้องสมุด ตัวอย่าง { "@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/1003", "name": "Tokyo Metropolitan Central Library", "location": { "@type": "PostalAddress", "streetAddress": "7-13-5 Minamiazabu, Minato City", "addressLocality": "Tokyo", "postalCode": "106-0047", "addressCountry": "JP" } } |
location.@type
|
Text
ตั้งค่าเป็น |
location.addressCountry
|
Text
รหัสประเทศในรูปแบบ ISO 3166-1 เช่น |
location.addressLocality
|
Text
ย่าน เช่น |
location.addressRegion
|
Text
ภูมิภาค เช่น |
location.postalCode
|
Text
รหัสไปรษณีย์ เช่น |
location.streetAddress
|
Text
ที่อย���่ เช่น |
name
|
Text
ชื่อของสาขาห้องสมุด |
ตัวอย่างไฟล์ JSON ของฟีด LibrarySystem
{ "@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" } } ] }