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": "2024-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": "2024-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": "2024-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": "2024-07-01",
          "endDate": "2024-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 โปรดดูแหล่งข้อมูลต่อไปนี้ซึ่งอาจช่วยคุณได้