Structured Data สำหรับข้อมูลหลักสูตร (Course และ CourseInstance)

ภาพแสดงลักษณะที่ข้อมูลหลักสูตรอาจปรากฏใน Google Search

คุณช่วยให้ผู้ใช้พบเนื้อหาหลักสูตรได้โดยการบอก Google เกี่ยวกับหลักสูตรโดยใช้ Structured Data สำหรับข้อมูลหลักสูตร เมื่อคุณให้ข้อมูลที่ละเอียดมากขึ้นเกี่ยวกับหลักสูตร เช่น คะแนนของผู้รีวิว ราคา และรายละเอียดของหลักสูตร Google จะเข้าใจหลักสูตรของคุณได้ดีขึ้นและนำเสนอประสบการณ์การใช้งานที่สมบูรณ์ให้แก่ผู้ใช้ด้วยผลการค้นหาที่เป็นริชมีเดียของข้อมูลหลักสูตร

ฟีเจอร์ผลการค้นหาที่เป็นริชมีเดียสำหรับหลักสูตรมี 2 ประเภทที่ใช้ Course ของ schema.org ประเภทเดียวกัน หากเว็บไซต์มีข้อมูลเกี่ยวกับหลักสูตร ก็จะมีสิทธิ์ใช้ฟีเจอร์ทั้งสองได้โดยทําตามคู่มือการติดตั้งใช้งานของแต่ละฟีเจอร์

  • รายการหลักสูตร: ผลการค้นหาที่เป็นริชมีเดียที่แสดงหลักสูตรต่างๆ จากเว็บไซต์เดียวกัน
  • ข้อมูลหลักสูตร: ภาพสไลด์ที่แสดงข้อมูลหลักสูตรโดยละเอียดจากเว็บไซต์ต่างๆ

ความพร้อมใช้งานของฟีเจอร์

ผลการค้นหาที่เป็นริชมีเดียของข้อมูลหลักสูตรมีให้บริการเป็นภาษาอังกฤษในทุกภูมิภาคที่ใช้งาน Google Search ได้ เราหวังว่าจะรองรับหลักสูตรภาษาอื่นๆ นอกเหนือจากภาษาอังกฤษมากขึ้นในอนาคต

วิธีเพิ่มข้อมูลที่มีโครงสร้าง

ข้อมูลที่มีโครงสร้างคือรูปแบบมาตรฐานในการแจ้งข้อมูลเกี่ยวกับหน้าและจำแนกประเภทเนื้อหาของหน้า หากคุณเพิ่งใช้ข้อมูลที่มีโครงสร้างเป็นครั้งแรก โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของข้อมูลที่มีโครงสร้าง

ต่อไปนี้เป็นภาพรวมเกี่ยวกับวิธีสร้าง ทดสอบ และเผยแพร่ข้อมูลที่มีโครงสร้าง ดูคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีเพิ่มข้อมูลที่มีโครงสร้างลงในหน้าเว็บได้ใน Codelab สำหรับข้อมูลที่มีโครงสร้าง

  1. เพิ่มพร็อพเพอร์ตี้ที่จำเป็น ดูตำแหน่งการแทรก Structured Data ในหน้าเว็บตามรูปแบบที่คุณใช้อยู่
  2. ปฏิบัติตามหลักเกณฑ์
  3. ตรวจสอบความถูกต้องของโค้ดโดยใช้การทดสอบผลการค้นหาที่เป็นริชมีเดีย และแก้ไขข้อผิดพลาดที่สําคัญทั้งหมด พิจารณาแก้ไขปัญหาที่ไม่สําคัญซึ่งอาจมีการรายงานในเครื่องมือด้วย เพราะอาจช่วยปรับปรุงคุณภาพของ Structured Data ได้ (แต่ไม่จําเป็นว่าต้องมีสิทธิ์ปรากฏในผลการค้นหาที่เป็นริชมีเดีย)
  4. ทำให้หน้าบางหน้าที่มีข้อมูลที่มีโครงสร้างใช้งานได้และใช้เครื่องมือตรวจสอบ URL เพื่อทดสอบว่า Google เห็นหน้าในลักษณะใด ตรวจสอบว่า Google เข้าถึงหน้าดังกล่าวได้และไม่มีการบล็อกหน้าด้วยไฟล์ robots.txt, แท็ก noindex หรือข้อกำหนดให้เข้าสู่ระบบ หากหน้าเว็บดูถูกต้องดีแล้ว คุณขอให้ Google ทำการ Crawl URL อีกครั้งได้
  5. หากต้องการให้ Google ทราบถึงการเปลี่ยนแปลงที่จะเกิดขึ้นในอนาคตอยู่ตลอด เราขอแนะนำให้ส่ง Sitemap ซึ่งกำหนดให้ดำเนินการแบบอัตโนมัติได้โดยใช้ Search Console Sitemap API

ตัวอย่าง

ต่อไปนี้คือตัวอย่างหน้าข้อมูลหลักสูตรแบบหน้าเดียว


<html>
  <head>
    <title>Introduction to Computer Science and Programming</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@id": "https://www.example.com/advancedCpp",
      "@type": "Course",
      "name": "Learn Advanced C++ Topics",
      "description": "Improve your C++ skills by learning advanced topics.",
      "publisher": {
        "@type": "Organization",
        "name": "CourseWebsite",
        "url": "www.examplecoursewebsite.com"
      },
      "provider": {
        "@type": "Organization",
        "name": "Example University",
        "url": "www.example.com"
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
      ],
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": 4,
        "ratingCount": 1234,
        "reviewCount": 450
      },
      "offers": [{
        "@type": "Offer",
        "category": "Paid",
        "priceCurrency": "EUR",
        "price": 10.99
      }],
      "totalHistoricalEnrollment": 12345,
      "datePublished": "2019-03-21",
      "educationalLevel": "Advanced",
      "about": ["C++ Coding", "Backend Engineering"],
      "teaches": ["Practice and apply systems thinking to plan for change",
                  "Understand how memory allocation works."],
      "financialAidEligible": "Scholarship Available",
      "inLanguage": "en",
      "availableLanguage": ["fr", "es"],
      "syllabusSections": [
        {
          "@type": "Syllabus",
          "name": "Memory Allocation",
          "description": "Learn how memory is allocated when creating C++ variables.",
          "timeRequired": "PT6H"
        },
        {
          "@type": "Syllabus",
          "name": "C++ Pointers",
          "description": "Learn what a C++ pointer is and when they are used.",
          "timeRequired": "PT11H"
        }
      ],
      "review": [
      {
        "@type": "Review",
        "author": {
            "@type": "Person",
            "name": "Lou S."
        },
        "datePublished": "2020-08-31",
        "reviewRating": {
          "@type": "Rating",
          "bestRating": 10,
          "ratingValue": 6
        }
      }],
      "coursePrerequisites": [
        "Basic understanding of C++ up to arrays and functions.",
        "https://www.example.com/beginnerCpp"
      ],
      "educationalCredentialAwarded": [{
        "@type": "EducationalOccupationalCredential",
        "name": "CourseProvider Certificate",
        "url": "www.example.com",
        "credentialCategory": "Certificate",
        // offers only needed if the credential costs extra money.
        "offers": [{
          "@type": "Offer",
          "category": "Paid",
          "price": 5,
          "priceCurrency": "USD"
        }]
      }],
      "video": {
        "@type": "VideoObject",
        "name": "Video name",
        "description": "A video previewing this course.",
        "uploadDate": "2022-03-28T08:00:00+08:00",
        "contentUrl": "www.example.come/mp4",
        "thumbnailUrl": "www.example.com/thumbnailurl.jpg"
      },
      "hasCourseInstance": [
      {
        // Blended, instructor-led course meeting 3 hours per day in July.
        "@type": "CourseInstance",
        "courseMode": "Blended",
        "location": "Example University",
        "courseSchedule": {
          "@type": "Schedule",
          "duration": "PT3H",
          "repeatFrequency": "Daily",
          "repeatCount": 31,
          "startDate": "2023-07-01",
          "endDate": "2023-07-31"
        },
        "instructor": [{
          "@type": "Person",
          "name": "Ira D.",
          "description": "Professor at X-University",
          "image": "http://example.com/person.jpg"
        }]
      },
      {
        // Online self-paced course that takes 2 days to complete.
        "@type": "CourseInstance",
        "courseMode": "Online",
        "courseWorkload": "P2D"
      }],
      // Only required for course programs that link to child courses.
      "hasPart": [{
        "@type": "Course",
        "name": "C++ Algorithms",
        "url": "https://www.example.com/cpp-algorithms",
        "description": "Learn how to code base algorithms in c++.",
        "provider": {
          "@type": "Organization",
          "name": "Example University",
          "url": "www.example.com"
        }
      }, {
        "@type": "Course",
        "name": "C++ Data Structures",
        "url": "https://www.example.com/cpp-data-structures",
        "description": "Learn about core c++ data structures.",
        "provider": {
          "@type": "Organization",
          "name": "Example University",
          "url": "www.example.com"
        }
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

หลักเกณฑ์

คุณต้องปฏิบัติตามหลักเกณฑ์เหล่านี้เพื่อให้หลักสูตรมีสิทธิ์ปรากฏเป็นผลการค้นหาที่เป็นริชมีเดียของข้อมูลหลักสูตรใน Google Search

หลักเกณฑ์เนื้อหา

เนื้อหาด้านการศึกษาที่ตรงกับคำจำกัดความของคำว่าหลักสูตรต่อไปนี้เท่านั้นที่มีสิทธิ์แสดงเป็นผลการค้นหาที่เป็นริชมีเดียของข้อมูลหลักสูตร ได้แก่ ชุดหรือหน่วยหลักสูตรการศึกษาที่มีการบรรยาย บทเรียน หรือโมดูลเกี่ยวกับวิชาและ/หรือหัวข้อที่เจาะจง

มาร์กอัป Course ต้องอยู่ในหน้าเว็บที่มีหลักสูตรเดียวหรือโปรแกรมหลักสูตรเต็มรูปแบบ ตัวอย่างต่อไปนี้ไม่มีสิทธิ์สำหรับผลการค้นหาที่เป็นริชมีเดียของข้อมูลหลักสูตร

  • หน้าสรุปเกี่ยวกับวุฒิการศึกษา
  • หน้าการสอบแบบสแตนด์อโลน
  • กิจกรรมสำหรับบุคคลทั่วไป เช่น "วันดาราศาสตร์"
  • "วิดีโอสอนทำแซนด์วิช" ความยาว 2 นาทีรายการเดียว

คำจำกัดความของประเภท Structured Data

คุณต้องใส่พร็อพเพอร์ตี้ Course และ CourseInstance ที่จำเป็นเพื่อให้เนื้อหามีสิทธิ์แสดงผลเป็นผลการค้นหาที่เป็นริชมีเดียใน Google Search และจะใส่พร็อพเพอร์ตี้ที่แนะนำด้วยก็ได้ เพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหา ซึ่งจะช่วยให้ผู้ใช้ได้รับประสบการณ์ที่ดียิ่งขึ้น

Course

หลักสูตรคือหลักสูตรการเรียนแต่ละหน่วยที่ลงเรียนได้เลยหรือจะเป็นส่วนหนึ่งของโปรแกรมก็ได้

ดูคำจำกัดความที่สมบูรณ์ของ Course ได้ที่ schema.org/Course

พร็อพเพอร์ตี้ที่จำเป็น
name

Text

ชื่อเต็มของหลักสูตร

"name": "Intro to Statistics"
description

Text

คำอธิบายของหลักสูตร

  • ความยาวที่แนะนำ: 240 อักขระ
  • จำกัดความยาวสูงสุด: 500 อักขระ
"description": "This course teaches the basics of statistical thinking."
provider

Organization

ข้อมูลเกี่ยวกับองค์กรที่สร้างเนื้อหาสำหรับหลักสูตร

"provider": {
   "@type": "Organization",
   "name": "Example University",
   "url": "www.exampleuniversity.com"
}
provider.name Text

ชื่อผู้ให้บริการหลักสูตร

offers

Offer ใช้ซ้ำได้

ข้อมูลเกี่ยวกับราคารวมสำหรับการเรียนจนจบหลักสูตร รวมถึงค่าบริการ อย่าระบุราคาที่ใช้กับผู้ใช้บางรายเท่านั้น (เช่น ลด 20% สำหรับผู้ใช้ครั้งแรก)

อย่ารวมค่าธรรมเนียมใบรับรองเพิ่มเติมในช่องนี้ หากมีค่าใช้จ่ายเพิ่มเติมในการรับใบรับรอง ให้เพิ่มใบรับรองนั้นลงในพร็อพเพอร์ตี้ educationalCredentialAwarded

"offers": [{
   "@type": "Offer",
   "category": "Paid",
   "priceCurrency": "EUR",
   "price": 10.99
}]
         
offers.category Text

หมวดหมู่ราคาของหลักสูตร โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้

  • Free: การบรรยาย งาน และการทดสอบทั้งหมดต้องพร้อมให้ใช้งานโดยไม่มีค่าใช้จ่ายสำหรับผู้ใช้ทุกคน สามารถเรียนตลอดทั้งหลักสูตรได้โดยไม่เสียค่าใช้จ่าย
  • Partially Free: เกินครึ่งหนึ่งของหลักสูตรสามารถเรียนได้โดยไม่มีค่าใช้จ่าย (เช่น ฟังการบรรยายทั้งหมดได้โดยไม่มีค่าใช้จ่าย แต่ต้องเสียค่าใช้จ่ายในส่วนของงานที่มอบหมายให้ทำ)
  • Subscription: ผู้ใช้ต้องเป็นสมาชิกหรือสมาชิกแบบชำระเงินจึงจะเรียนจนจบหลักสูตรได้
  • Paid: ผู้ใช้ต้องชำระเงินเพื่อเรียนให้จบหลักสูตร
hasCourseInstance

CourseInstance ใช้ซ้ำได้

ทุกหลักสูตรต้องมีอินสแตนซ์ของหลักสูตรอย่างน้อย 1 รายการพร้อมข้อมูลอธิบายข้อเสนอในหลักสูตรนั้นๆ ดูพร็อพเพอร์ตี้ที่จำเป็นและแนะนำได้ในส่วน CourseInstance

"hasCourseInstance": [{
   // Onsite, instructor-led class meeting weekly in August 2023
   "@type": "CourseInstance",
   "courseMode": "Onsite",
   "location": "Example University",
   "courseSchedule": {
      "@type": "Schedule",
      "duration": "PT5H",
      "repeatCount": 4,
      "repeatFrequency": "Weekly",
      "startDate": "2023-08-01",
      "endDate": "2023-8-31"
   },
   "instructor": [{
      "@type": "Person",
      "name": "Kai S.",
      "description": "Professor at X-University",
      "image": "http://examplePerson.jpg"
   }]
}]
พร็อพเพอร์ตี้ที่แนะนำ
about

Text ใช้ซ้ำได้

อธิบายทักษะที่ผู้ใช้จะพัฒนาจากการเข้าร่วมหลักสูตร (หากมี)

"about": ["Quantitative Analysis", "Critical Thinking"]
aggregateRating

AggregateRating

ข้อมูลเกี่ยวกับคะแนนเฉลี่ยของหลักสูตรตามคะแนนที่ผู้ใช้เข้าร่วมหลักสูตร (หากมี) โปรดทำตามหลักเกณฑ์ตัวอย่างรีวิวและลิสต์ของพร็อพเพอร์ตี้ AggregateRating ที่จำเป็นและแนะนำ

"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"ratingCount": 255,
"reviewCount": 189
}
availableLanguage

Text ใช้ซ้ำได้

คำบรรยาย หรือภาษาอื่นๆ ที่หลักสูตรนั้นนำเสนอ (หากมี) ใช้รหัส 2 ตัวอักษรจากรายการรหัส ISO 639-1 alpha-2

"availableLanguage": ["fr", "es", "de"]
coursePrerequisites

Text ใช้ซ้ำได้

ความรู้ที่ต้องเคยมีมาก่อนซึ่งจำเป็นสำหรับหลักสูตร (หากมี) ซึ่งอาจแสดงโดยการอธิบายความรู้ที่ต้องเคยมีมาก่อนหรือลิงก์ไปยังหลักสูตรอื่น (หรือทั้ง 2 อย่าง)

"coursePrerequisites": ["Understanding of Algebra concepts like variables and functions",
            "https://www.coursewebsite.abc/algebra"]
datePublished

Date

วันที่ที่เผยแพร่หลักสูตรเป็นครั้งแรก (หากมี) ใช้รูปแบบวันที่ 8601 (YYYY-MM-DD)

"datePublished": "2019-03-21"
educationalCredentialAwarded

EducationalOccupationalCredential ใช้ซ้ำได้

ข้อมูลเกี่ยวกับใบรับรองหรือการรับรองที่ผู้ใช้จะได้รับเมื่อเรียนจบหลักสูตร (หากมี) หากรางวัลมีค่าใช้จ่ายเพิ่มเติม ให้ระบุราคาที่ต้องจ่ายเพิ่ม

"educationalCredentialAwarded": [{
   "@type": "EducationalOccupationalCredential",
   "name": "CourseProvider Certificate",
   "url": "www.examplecertificate.com",
   "credentialCategory": "Certificate",
   "offers": [{
      "@type": "Offer",
      "category": "Paid",
      "priceCurrency": "USD",
      "price": 5
   }]
}]
educationalCredentialAwarded.credentialCategory Text

ประเภทของรางวัลที่ผู้ใช้จะได้รับ (หากมี) โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้

  • Certificate: รางวัลที่ยืนยันความสำเร็จของผู้ใช้ในหลักสูตรหรือโปรแกรม
  • Certification: การรับรองอย่างเป็นทางการที่ต้องมีการสอบหรือเอกสารรับรองว่าผู้ใช้ได้รับการรับรอง

educationalCredentialAwarded.name Text

ชื่อของรางวัล (หากมี)

educationalCredentialAwarded.offers.category Text

ประเภทการกำหนดราคาสำหรับรางวัล (หากมี) ใช้หมวดหมู่ใดหมวดหมู่หนึ่งต่อไปนี้

  • Free: ได้รับรางวัลโดยไม่มีค่าใช้จ่าย
  • Subscription: ผู้ใช้ต้องสมัครใช้บริการหรือเป็นสมาชิกแบบชำระเงินจึงจะรับรางวัลได้
  • Paid: ผู้ใช้ต้องชำระเงินเพื่อรับรางวัล
educationalCredentialAwarded.offers.price Number

ราคาที่เป็นตัวเลขของรางวัล (หากมี)

educationalCredentialAwarded.offers.priceCurrency Text

สกุลเงินราคาของรางวัลในรูปแบบสกุลเงิน ISO 4217 (รหัสตัวอักษร 3 ตัว) (หากมี)

educationalCredentialAwarded.url URL

ลิงก์ไปยังหน้ารางวัล (หากมี)

educationalLevel

Text

ระดับการศึกษาเป้าหมายของหลักสูตร (หากมี) เลือกค่าใดค่าหนึ่งต่อไปนี้

  • Beginner: ไม่จำเป็นต้องมีความรู้มาก่อนเพื่อทําความเข้าใจเนื้อหา
  • Intermediate: อาจต้องใช้ความรู้บางอย่างเพื่อทําความเข้าใจเนื้อหา
  • Advanced: เนื้อหานี้ได้รับการกำหนดเป้าหมายไปยังผู้เรียนที่มีความรู้ในระดับสูงซึ่งมีความรู้ในหัวข้อนั้นๆ มาก่อน
"educationalLevel": "Beginner"
financialAidEligible

Text

ทุนการศึกษา แพ็กเกจการชำระเงินพิเศษ หรือโอกาสด้านความช่วยเหลือทางการเงินอื่นๆ สำหรับผู้ใช้ที่ต้องการเรียนหลักสูตรนี้ (หากมี)

"financialAidEligible": "Scholarships available for eligible users."
image

URL ใช้ซ้ำได้

URL ไปยังรูปภาพที่เป็นตัวแทนของหลักสูตร (หากมี) ใช้รูปภาพที่เกี่ยวข้องกับหลักสูตรแทนโลโก้หรือคําบรรยายวิดีโอ

หลักเกณฑ์เพิ่มเติมเกี่ยวกับรูปภาพ

  • ทุกหน้าต้องมีรูปภาพอย่างน้อย 1 รูป (ไม่ว่าคุณจะใส่มาร์กอัปหรือไม่) Google จะเลือกรูปภาพที่ดีที่สุดเพื่อแสดงในผลการค้นหาของ Search โดยอิงตามสัดส่วนภาพและความละเอียด
  • URL รูปภาพต้องรวบรวมข้อมูลและจัดทำดัชนีได้ หากต้องการตรวจสอบว่า Google เข้าถึง URL ได้หรือไม่ ให้ใช้เครื่องมือตรวจสอบ URL
  • รูปภาพต้องแสดงถึงเนื้อหาที่มาร์กอัป
  • รูปภาพต้องอยู่ในรูปแบบไฟล์ที่ Google รูปภาพรองรับ
  • เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด เราขอแนะนำให้ใช้รูปภาพความละเอียดสูงหลายภาพ (อย่างน้อย 50,000 พิกเซลเมื่อคำนวณจากความกว้างคูณความสูง) และมีสัดส่วนภาพเป็น 16x9, 4x3 หรือ 1x1

ตัวอย่างเช่น

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
inLanguage

Text

ภาษาหลักที่หลักสูตรนั้นให้บริการ (หากมี) ใช้รหัส 2 ตัวอักษรจากรายการรหัส ISO 639-1 alpha-2

"inLanguage": "en"
offers.price Number

ราคาที่เป็นตัวเลขของหลักสูตร (หากมี) อย่าใส่ข้อมูลอื่นๆ ในช่องนี้ เช่น สัญลักษณ์สกุลเงิน

offers.priceCurrency Text

สกุลเงินของราคาหลักสูตรในรูปแบบสกุลเงิน ISO 4217 (รหัสตัวอักษร 3 ตัว) (หากมี)

provider.url URL

URL ที่ลิงก์ไปยังหน้าแรกของผู้ให้บริการหลักสูตร (หากมี)

publisher

Organization

ข้อมูลเกี่ยวกับองค์กรที่เผยแพร่และแสดงหลักสูตร (หากมี)

"publisher": {
   "@type": "Organization",
   "name": "Course Website",
   "url": "www.example.com"
}
publisher.name Text

ชื่อผู้เผยแพร่หลักสูตร (หากมี)

publisher.url URL

URL ที่ลิงก์ไปยังหน้าแรกของผู้เผยแพร่หลักสูตร (หากมี)

review

Review ใช้ซ้ำได้

รายการรีวิวจากผู้ใช้เกี่ยวกับหลักสูตร (หากมี) ดูข้อมูลเพิ่มเติมได้ในหลักเกณฑ์ตัวอย่างรีวิว

"review": [{
   "@type": "Review",
   "author": {
      "@type": "Person",
      "name": "Sasha J."
   },
   "datePublished": "2021-09-22",
   "reviewRating": {
      "@type": "Rating",
      "ratingValue": 4
   }
}]
syllabusSections

Syllabus ใช้ซ้ำได้

ข้อมูลเกี่ยวกับโมดูลต่างๆ ที่ประกอบกันเป็นหลักสูตร (หากมี)

"syllabusSections": [{
   "@type": "Syllabus",
   "name": "Algebra Review",
   "description": "Review prerequisite Algebra concepts.",
   "timeRequired": "PT2H30M"
}, {
   "@type": "Syllabus",
   "name": "Statistics Terms",
   "description": "Learn the definitions of basic statistics terms.",
   "timeRequired": "PT5H"
}]
syllabusSections.description Text

คำอธิบายว่าโมดูลนี้เกี่ยวกับอะไร (หากมี)

syllabusSections.name Text

ชื่อของโมดูลหลักสูตร (หากมี)

syllabusSections.timeRequired Duration

ใช้รูปแบบระยะเวลา 8601 (หากมี) เช่น PT2H30M หมายความว่าโมดูลใช้เวลา 2 ชั่วโมง 30 นาทีจึงจะจบ

teaches

Text ใช้ซ้ำได้

ผลการเรียนรู้หรือความรู้เฉพาะทางที่ผู้ใช้จะได้เรียนรู้จากการเข้าร่วมหลักสูตร (หากมี)

"teaches": ["How to use visualization tools and graphs", "Why stats is important"]
totalHistoricalEnrollment

Integer

จำนวนผู้ใช้ทั้งหมดที่ลงทะเบียนตลอดอายุของหลักสูตร (หากมี)

"totalHistoricalEnrollment": 80032
video

VideoObject

ตัวอย่างวิดีโอหรือตัวอย่างของหลักสูตร (หากมี) ทำตามหลักเกณฑ์ของ VideoObject เพื่อดูรายละเอียดเพิ่มเติม

"video": {
   "@type": "VideoObject",
   "name": "Video name",
   "description": "A video previewing this course.",
   "uploadDate": "2022-03-28T08:00:00+08:00",
   "contentUrl": "www.videourl.mp4",
   "thumbnailUrl": "www.thumbnailurl.jpg"
}

CourseInstance

ดูคำจำกัดความที่สมบูรณ์ของ CourseInstance ได้ที่ schema.org/CourseInstance ทุกหลักสูตรต้องมี CourseInstance อย่างน้อย 1 รายการที่กรอกพร็อพเพอร์ตี้ที่จำเป็นไว้

พร็อพเพอร์ตี้ที่จำเป็น
courseMode

Text

สื่อที่จะใช้ในการนำเสนอหลักสูตร โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้

  • Online: คุณสามารถฟังบรรยาย ทำงาน และสอบในชั้นเรียนทั้งหมดแบบออนไลน์ได้
  • Onsite: หลักสูตรสอนแบบผู้เรียนต้องมาเรียนด้วยตนเองที่สถานที่จริง
  • Blended: หลักสูตรนี้มีทั้งแบบออนไลน์และแบบเข้าร่วมด้วยตนเอง

หากคลาสคือ Onsite หรือ Blended ให้เพิ่มพร็อพเพอร์ตี้ location

"courseMode": "Online"

courseSchedule

Schedule

ข้อมูลเกี่ยวกับระยะเวลาที่ผู้ใช้ทั่วไปใช้ในการจบหลักสูตร โดยอิงตามจังหวะเวลาการเรียนตามสะดวกที่แนะนำ ระบุวันที่เริ่มต้นและวันที่สิ้นสุดสำหรับหลักสูตรที่อยู่ในไทม์ไลน์ที่แน่นอน

ต่อไปนี้คือตัวอย่างของหลักสูตรที่ผู้ใช้เริ่มต้นได้ทุกเมื่อตามที่ตนสะดวก

// This course takes 6 weeks to complete.
"courseSchedule": {
   "@type": "Schedule",
   "repeatCount": 6
   "repeatFrequency": "Weekly",
}

ต่อไปนี้คือตัวอย่างของหลักสูตรตามเวลาที่ผู้เรียนสะดวกในช่วงเวลาที่กำหนดไว้

// This course expects 1 hour per day during July 2023
"courseSchedule": {
   "@type": "Schedule",
   "duration": "PT1H",
   "repeatCount": 31
   "repeatFrequency": "Daily",
   "startDate": "2023-07-01",
   "endDate": "2023-07-31"
}
courseSchedule.repeatCount Integer

ค่าที่เป็นตัวเลขสำหรับระยะเวลาของหลักสูตรในหน่วย repeatFrequency เช่น หาก repeatFrequency เป็นแบบรายเดือนและค่า repeatCount คือ 4 หลักสูตรจะมีระยะเวลา 4 เดือน

courseSchedule.repeatFrequency Text

พร็อพเพอร์ตี้ duration และ repeatCount จะเกี่ยวข้องกับช่องนี้ โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้

  • Daily: หลักสูตรนี้จัดขึ้นทุกวัน
  • Weekly: หลักสูตรนี้จัดขึ้นทุกสัปดาห์
  • Monthly: หลักสูตรนี้จัดขึ้นทุกเดือน
  • Yearly: หลักสูตรนี้จัดขึ้นทุกปี
courseWorkload Text

ช่องนี้แสดงเวลารวมในการดูวิดีโอทั้งหมด ทำงานทั้งหมด และทำการสอบของหลักสูตร ใช้รูปแบบระยะเวลา 8601

"courseWorkload": "PT22H"
พร็อพเพอร์ตี้ที่แนะนำ
courseSchedule.duration Duration

จังหวะเวลาการเรียนตามสะดวกที่แนะนำซึ่งผู้ใช้ทั่วไปสามารถประมาณได้ว่าจะใช้เวลาเท่าใด โดยมีหน่วยเป็น repeatFrequency ในรูปแบบระยะเวลา 8601 (หากมี) ตัวอย่างเช่น หาก repeatFrequency เป็นแบบรายเดือนและ duration คือ PT5H ผู้ใช้สามารถประมาณไว้ได้ว่าจะใช้เวลา 5 ชั่วโมงต่อเดือน

อย่าระบุความยาวทั้งหมดของหลักสูตรด้วยพร็อพเพอร์ตี้นี้ ให้ใช้พร็อพเพอร์ตี้ courseWorkload แทน

courseSchedule.endDate Date

วันที่สิ้นสุดของหลักสูตรในรูปแบบวันที่ 8601 (YYYY-MM-DD) (หากมี)

courseSchedule.startDate Date

วันที่เริ่มต้นของหลักสูตรในรูปแบบวันที่ 8601 (YYYY-MM-DD) (หากมี)

image URL

URL ที่ลิงก์ไปยังรูปภาพของผู้สอน (หากมี)

หลักเกณฑ์เพิ่มเติมเกี่ยวกับรูปภาพ

  • ทุกหน้าต้องมีรูปภาพอย่างน้อย 1 รูป (ไม่ว่าคุณจะใส่มาร์กอัปหรือไม่) Google จะเลือกรูปภาพที่ดีที่สุดเพื่อแสดงในผลการค้นหาของ Search โดยอิงตามสัดส่วนภาพและความละเอียด
  • URL รูปภาพต้องรวบรวมข้อมูลและจัดทำดัชนีได้ หากต้องการตรวจสอบว่า Google เข้าถึง URL ได้หรือไม่ ให้ใช้เครื่องมือตรวจสอบ URL
  • รูปภาพต้องแสดงถึงเนื้อหาที่มาร์กอัป
  • รูปภาพต้องอยู่ในรูปแบบไฟล์ที่ Google รูปภาพรองรับ
  • เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด เราขอแนะนำให้ใช้รูปภาพความละเอียดสูงหลายภาพ (อย่างน้อย 50,000 พิกเซลเมื่อคำนวณจากความกว้างคูณความสูง) และมีสัดส่วนภาพเป็น 16x9, 4x3 หรือ 1x1

ตัวอย่างเช่น

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
instructor

Person ใช้ซ้ำได้

ข้อมูลเกี่ยวกับผู้สอนของหลักสูตร (หากมี)

"instructor": [{
   "@type": "Person",
   "name": "Dana A.",
   "description": "Professor at X-University",
   "image": "http://examplePerson.jpg"
}]
instructor.description Text

คำอธิบายผู้สอนและคำรับรอง (หากมี)

instructor.name Text

ชื่อของผู้สอน (หากมี)

location

Text

ชื่อหรือที่อยู่ (หรือทั้ง 2 อย่าง) ของสถานที่ตั้งจริงที่จะสอนหลักสูตร (หากมี)

"courseMode": "Blended",
"location": "Example High School"

โปรแกรมหลักสูตร

โปรแกรมหลักสูตรคือคอลเล็กชันของหลักสูตรย่อย หลักสูตรย่อยต้องเป็นหลักสูตรแบบสแตนด์อโลนที่มี URL และหน้า Landing Page ของหลักสูตรเองแยกต่างหาก

หากหน้าเว็บของคุณเป็นโปรแกรมหลักสูตร ให้ใส่พร็อพเพอร์ตี้ที่จำเป็นต่อไปนี้ (นอกเหนือจากพร็อพเพอร์ตี้อื่นๆ ที่จำเป็นซึ่งระบุไว้ใน Course และ CourseInstance)

พร็อพเพอร์ตี้ที่จำเป็น
hasPart

Course ใช้ซ้ำได้

รายการหลักสูตรย่อยที่เป็นส่วนหนึ่งของโปรแกรมนี้

"@context": "https://schema.org/",
"@type": "Course",
"name": "Learning Pathway: Knitting",
"url": "www.example.com/knitprogram"
// Fill the other required Course and CourseInstance properties
"hasPart": [{
   "@type": "Course",
   "name": "Intro to Knitting",
   "url": "www.example.com/knitbasics",
   "description": "Learn the basics of how to knit."
   }, {
   "@type": "Course",
   "name": "Knit a Sweater",
   "url": "www.example.com/knitsweater",
   "description": "Learn to knit an entire sweater."
}]
hasPart.name Text

ชื่อเต็มของหลักสูตรย่อย

hasPart.url URL

URL ที่ลิงก์ไปยังหน้า Landing Page ของหลักสูตรย่อย

พร็อพเพอร์ตี้ที่แนะนำ
hasPart.description Text

คำอธิบายสั้นๆ ว่าหลักสูตรย่อยนี้ครอบคลุมอะไรบ้าง (หากมี)

  • ความยาวที่แนะนำ: 240 อักขระ
  • จำกัดความยาวสูงสุด: 500 อักขระ

ตรวจสอบผลการค้นหาที่เป็นสื่อสมบูรณ์ด้วย Search Console

Search Console เป็นเครื่องมือที่ช่วยในการตรวจสอบประสิทธิภาพของหน้าเว็บใน Google Search คุณไม่จำเป็นต้องลงชื่อสมัครใช้ Search Console เพื่อให้เนื้อหาได้แสดงในผลการค้นหาของ Google แต่การลงชื่อสมัครใช้จะช่วยให้คุณเข้าใจและปรับปรุงวิธีที่ Google เห็นเว็บไซต์ได้ เราขอแนะนำให้ไปดูข้อมูลใน Search Console ในกรณีต่อไปนี้

  1. หลังจากทำให้ข้อมูลที่มีโครงสร้างใช้งานได้เป็นครั้งแรก
  2. หลังจากเผยแพร่เทมเพลตใหม่หรืออัปเดตโค้ด
  3. วิเคราะห์การเข้าชมเป็นระยะ

หลังจากทำให้ข้อมูลที่มีโครงสร้างใช้งานได้เป็นครั้งแรก

หลังจากที่ Google ได้จัดทำดัชนีหน้าของคุณแล้ว ให้ตรวจหาปัญหาโดยใช้รายงานสถานะผลการค้นหาที่เป็นสื่อสมบูรณ์ที่เกี่ยวข้อง ตามหลักแล้ว รายการที่ถูกต้องควรจะมีจํานวนเพิ่มขึ้น และรายการที่ไม่ถูกต้องไม่ควรจะมีจำนวนเพิ่มขึ้น หากพบปัญหาในข้อมูลที่มีโครงสร้าง ให้ทำดังนี้

  1. แก้ไขรายการที่ไม่ถูกต้อง
  2. ตรวจสอบ URL ที่เผยแพร่เพื่อดูว่ายังมีปัญหาอยู่หรือไม่
  3. ขอการตรวจสอบโดยใช้รายงานสถานะ

หลังจากเผยแพร่เทมเพลตใหม่หรืออัปเดตโค้ด

เมื่อทําการเปลี่ยนแปลงที่สําคัญในเว็บไซต์ ให้คอยตรวจสอบการเพิ่มขึ้นของรายการที่ไม่ถูกต้องของ Structured Data
  • หากเห็นว่าจำนวนรายการที่ไม่ถูกต้องเพิ่มขึ้น อาจเป็นเพราะคุณเผยแพร่เทมเพลตใหม่ที่ใช้งานไม่ได้ หรือเว็บไซต์โต้ตอบกับเทมเพลตที่มีอยู่ด้วยวิธีใหม่และไม่ถูกต้อง
  • หากเห็นว่าจำนวนรายการที่ถูกต้องลดลง (ไม่สอดคล้องกับรายการที่ถูกต้องซึ่งเพิ่มขึ้น) บางทีอาจเป็นเพราะคุณไม่ได้ฝัง Structured Data ไว้ในหน้าอีกแล้ว ให้ใช้เครื่องมือตรวจสอบ URL เพื่อดูสาเหตุของปัญหา

วิเคราะห์การเข้าชมเป็นระยะ

วิเคราะห์การเข้าชมจาก Google Search โดยใช้รายงานประสิทธิภาพ ข้อมูลจะแสดงความถี่ที่หน้าปรากฏเป็นผลการค้นหาที่เป็นสื่อสมบูรณ์ใน Search ความถี่ที่ผู้ใช้คลิกหน้า และอันดับเฉลี่ยที่หน้าปรากฏในผลการค้นหา คุณจะใช้ Search Console API ดึงผลการค้นหาเหล่านี้โดยอัตโนมัติก็ได้เช่นกัน

การแก้ปัญหา

หากประสบปัญหาในการใช้หรือแก้ไขข้อบกพร่องของ Structured Data โปรดดูแหล่งข้อมูลต่อไปนี้ซึ่งอาจช่วยคุณได้