课程列表 (Course) 结构化数据

课程列表在 Google 搜索结果中的显示效果图示。它以列表形式显示同一网站中的 3 门不同课程,用户可以浏览列表并选择特定课程

借助课程列表结构化数据,您可以提供有关您的课程的更多信息,以便潜在学生通过 Google 搜索找到您的课程。您可以提供详细信息,包括课程名称、提供者和简短说明。

以下介绍两项课程富媒体搜索结果功能,它们使用了相同的 schema.org Course 类型。如果您的网站提供课程相关信息,您便可以按照以下两个实现指南来使用这两项功能:

  • 课程列表:一种富媒体搜索结果,会列出来自同一网站上的课程。
  • 课程信息:一个轮播界面,会显示来自多个网站的详细课程信息。

如何新增結構化資料

結構化資料是一種標準化格式,能夠提供網頁相關資訊並分類網頁內容。如果您是第一次使用結構化資料,請參閱這篇文章,進一步瞭解結構化資料的運作方式。

以下簡要說明如何建立、測試及發布結構化資料。

  1. 新增必要屬性。根據您使用的格式,瞭解要在網頁中的什麼位置插入結構化資料
  2. 遵循指南規範
  3. 使用複合式搜尋結果測試驗證程式碼,並修正所有重大錯誤。此外,我們也建議您修正工具中可能標記的任何非重大問題,因為這有助於改善結構化資料的品質 (但並非符合複合式搜尋結果的顯示條件)。
  4. 部署幾個包含結構化資料的網頁,並使用網址檢查工具測試 Google 轉譯網頁的情形。請確認 Google 可以存取您的網頁,且網頁並未遭到 robots.txt 檔案或 noindex 標記封鎖,也未設有登入規定。如果網頁看起來沒問題,您可以要求 Google 重新檢索您的網址
  5. 為了讓 Google 掌握日後的異動內容,建議您提交 Sitemap。您可以使用 Search Console Sitemap API 自動執行這項操作。

示例

课程详情单一页面

下面是一个课程详情单一页面的示例。此页面必须与包含 ItemList 标记摘要页面配对。

<html>
  <head>
    <title>Introduction to Computer Science and Programming</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Course",
      "name": "Introduction to Computer Science and Programming",
      "description": "Introductory CS course laying out the basics.",
      "provider": {
        "@type": "Organization",
        "name": "University of Technology - Eureka",
        "sameAs": "https://www.example.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

全包式单一页面

下面是一个全包式单一页面的示例。 此页面设置在同一页面上包含各门课程的列表标记和详细信息。

<html>
  <head>
    <title>Computer Science Courses</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "item": {
            "@type": "Course",
            "url":"https://www.example.com/courses#intro-to-cs",
            "name": "Introduction to Computer Science and Programming",
            "description": "This is an introductory CS course laying out the basics.",
            "provider": {
              "@type": "Organization",
              "name": "University of Technology - Example",
              "sameAs": "https://www.example.com"
           }
          }
        },
        {
          "@type": "ListItem",
          "position": 2,
          "item": {
            "@type": "Course",
            "url":"https://www.example.com/courses#intermediate-cs",
            "name": "Intermediate Computer Science and Programming",
            "description": "This is a CS course that builds on the basics learned in the Introduction course.",
            "provider": {
              "@type": "Organization",
              "name": "University of Technology - Example",
              "sameAs": "https://www.example.com"
           }
         }
        },
        {
          "@type": "ListItem",
          "position": 3,
          "item": {
            "@type": "Course",
            "url":"https://www.example.com/courses#advanced-cs",
            "name": "Advanced Computer Science and Programming",
            "description": "This CS course covers advanced programming principles.",
            "provider": {
              "@type": "Organization",
              "name": "University of Technology - Eureka",
              "sameAs": "https://www.example.com"
           }
          }
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

指南

您的课程必须遵循以下指南,才能出现在课程列表中。

内容指南

  • 仅对符合下述课程定义的教育内容使用 Course 标记:围绕特定主题和/或话题展开,且包含讲座、课程或模块的课程系列或单元。
  • 课程必须围绕特定主题和/或话题展开,在知识和/或技能方面有明确的教育成果,由一位或多位教师讲授并且有学生名单。
  • 诸如“天文日”之类的一般公众活动不是课程,一段 2 分钟的“如何制作三明治”视频也不是课程。

技术指南

您必须至少标记三门课程。这些课程可以位于不同的详情页面中,也可以位于全包式页面中。

您必须将轮播界面标记添加到摘要页面全包式页面

每门课程必须具有有效的 nameprovider 属性。例如,以下命名方式均无效:

  • 推广用语:“世界上最好的学校”
  • 课程标题中包含价格:“学尤克里里 - 只需 30 美元!”
  • 使用非课程内容作为标题,如:“学习这门课程,掌握快速赚钱秘诀!”
  • 折扣或购买机会,如:“各领域的佼佼者分享了他们的秘诀 - 报名听课可享七五折优惠!”

结构化数据类型定义

若要使您的内容能够显示为富媒体搜索结果,您必须为其添加必要属性。 您还可添加建议属性,以便添加与内容相关的更多信息,进而提供更优质的用户体验。

Course

使用以下属性标记至少三个课程。这些课程可以位于不同的详情页面中,也可以位于全包式页面中。

如需了解 Course 的完整定义,请访问 schema.org/Course。Google 支持的属性如下:

必要属性
description

Text

课程的说明。最多显示 60 个字符。

name

Text

课程的标题。

建议的属性
provider

Organization

发布课程来源内容的组织。例如,加州大学伯克利分校。

ItemList

除了 Course 属性之外,还可以添加以下属性来指定课程列表。您可以将这些属性添加到摘要页面全包式页面中。

如需了解 ItemList 的完整定义,请访问 schema.org/ItemList

必要属性
itemListElement

ListItem

单个项目网页的注释。

ListItem.position

Integer

项目网页在列表中的序号位置。

ListItem.url

URL

项目网页的规范网址。每个项目都必须具备一个独一无二的网址。

疑難排解

如果無法順利導入結構化資料,或是偵錯時遇到困難,請參考下列資源。

  • 如果您使用內容管理系統 (CMS) 或者有他人代您處理網站事務,請向對方尋求協助。請務必將所有與問題相關的 Search Console 訊息都轉寄給對方,這些訊息會針對問題提供詳細說明。
  • Google 不保證採用結構化資料的功能一定會顯示在搜尋結果中。如要瞭解為何 Google 無法將您的內容顯示為複合式搜尋結果,請參閱結構化資料通用指南裡的常見原因清單。
  • 結構化資料可能含有錯誤。請查看結構化資料錯誤清單
  • 如果您的網頁遭到結構化資料專人介入處理處置,系統會忽略網頁上的結構化資料,但該網頁仍然會出現在 Google 搜尋結果中。請使用專人介入處理報告來修正結構化資料問題
  • 再次查看指南規範,確認您的內容是否符合規定。問題可能是因為垃圾內容或不當使用的標記所引起。不過,因為問題可能與語法無關,所以複合式搜尋結果測試無法找出問題所在。
  • 疑難排解:未出現複合式搜尋結果/複合式搜尋結果總數減少
  • 請等待一段時間,讓系統執行重新檢索和重新建立索引作業。在發布網頁後,Google 可能需要幾天時間才會找到網頁並進行檢索。如有關於檢索和索引建立作業的一般問題,請參閱 Google 搜尋檢索和索引常見問題
  • 前往 Google 搜尋中心論壇發文提問。