練習問題(Quiz)の構造化データ

学生、教師、保護者の方々がオンラインで教材や学習資料を簡単に見つけられるようにするために、構造化データを使用して、練習問題をマークアップできます。このガイドでは、このスキーマをウェブページに実装する方法について説明します。構造化データを追加することで、練習問題を Google 検索の検索結果に表示して、特別なユーザー エクスペリエンスを提供できるようになります。

Google 検索に表示された練習問題のリッチリザルト

構造化データを追加する方法

構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。

構造化データの作成、テスト、リリースの概要は次のとおりです。ウェブページに構造化データを追加するための手順ガイドについては、構造化データの Codelab をご覧ください。

  1. 必須プロパティを追加します。使用している形式に基づいて、ページ上の構造化データを挿入する場所をご確認ください。
  2. ガイドラインに従います。
  3. リッチリザルト テストでコードを検証し、重大なエラーを修正します。ツールで報告される重大ではない問題の修正も検討してください。構造化データの品質向上に役立ちます(ただし、リッチリザルトの対象となるために必ずしも必要というわけではありません)。
  4. 構造化データが含まれているページを数ページ導入し、URL 検査ツールを使用して、Google でページがどのように表示されるかをテストします。Google がページにアクセスでき、robots.txt ファイル、noindex タグ、ログイン要件によってページがブロックされていないことを確認します。ページが正常に表示されたら、Google に URL の再クロールを依頼できます。
  5. 今後の変更について Google に継続して情報を提供するために、サイトマップを送信することをおすすめします。これは、Search Console Sitemap API で自動化できます。

機能の提供状況

練習問題の機能は、Google 検索を利用できるすべての地域で英語でご利用いただけます。この機能は、デスクトップとモバイル、多肢選択式とチェックボックス式の質問タイプ、数学と科学のトピックのみに対応しています。

質問が 1 つだけのクイズ

1 つの質問のみが関連付けられているクイズの例を示します。正解は 1 つだけです。

<html>
  <head>
    <title>Quiz about fractions</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Quiz",
      "name": "Quiz about fractions",
      "hasPart": {
        "@type": "Question",
        "typicalAgeRange": "7-12",
        "educationalAlignment": [
          {
            "@type": "AlignmentObject",
            "alignmentType": "educationalSubject",
            "targetName": "Mathematics"
          },
          {
            "@type": "AlignmentObject",
            "alignmentType": "educationalSubject",
            "targetName": "Algebra"
          },
          {
            "@type": "AlignmentObject",
            "alignmentType": "educationalLevel",
            "targetName": "Grade 5 » Number and Operations—Fractions » Apply and extend previous understandings of multiplication and division. » 3",
            "educationalFramework": "Common Core",
            "targetUrl": "https://www.corestandards.org/Math/Content/5/NF/B/3/"
          }
        ],
        "about": {
          "@type": "Thing",
          "name": "Fractions"
        },
        "educationalLevel": "intermediate",
        "eduQuestionType": "Multiple choice",
        "learningResourceType": "Practice problem",
        "assesses": "Multiplying fractions by whole numbers",
        "name": "Choose the model",
        "comment": {
          "@type": "Comment",
          "text": "This is a hint about the question."
        },
        "encodingFormat": "text/markdown",
        "text": "Which model represents the product $$2 * \\frac{2}{3}$$?",
        "suggestedAnswer": [
          {
            "@type": "Answer",
            "position": 0,
            "encodingFormat": "text/html",
            "text": "<img src=\"www.test.com/practice-problems-fractions/…image2.png\" alt=\"Answer 2\" />",
            "comment": {
              "@type": "Comment",
              "text": "This is a hint about the answer."
            }
          }
        ],
        "acceptedAnswer": {
          "@type": "Answer",
          "position": 1,
          "encodingFormat": "text/html",
          "text": "<img src=\"www.test.com/practice-problems-fractions/…image1.png\" alt=\"Answer 1\" />",
          "comment": {
            "@type": "Comment",
            "text": "This is a hint about the answer."
          },
          "answerExplanation": {
            "@type": "Comment",
            "text": "This is a full explanation on how this answer was achieved."
          }
        }
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

質問が 1 つだけで、回答がチェックボックス式のクイズ

1 つの質問のみが関連付けられているクイズの例を示します。正解は複数あります。

<html>
  <head>
    <title>Quiz about laws of Physics</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Quiz",
      "name": "Quiz about laws of physics",
      "about": {
        "@type": "Thing",
        "name": "Laws of Physics And Applications"
      },
      "educationalLevel": "intermediate",
      "assesses": "Laws of physics",
      "hasPart": {
        "@type": "Question",
        "eduQuestionType": "Checkbox",
        "learningResourceType": "Practice problem",
        "name": "Laws of Physics And Applications",
        "typicalAgeRange": "12-15",
        "text": "Identify laws of Physics. (Select all valid answers)",
        "suggestedAnswer": [
          {
            "@type": "Answer",
            "position": 0,
            "text": "Nevada's Law",
            "comment": {
              "@type": "Comment",
              "text": "This is a hint"
            }
          },
          {
            "@type": "Answer",
            "position": 2,
            "text": "EUA law",
            "comment": {
              "@type": "Comment",
              "text": "This is a hint"
            }
          }
        ],
        "acceptedAnswer": [
          {
            "@type": "Answer",
            "position": 1,
            "text": "Newton's law",
            "comment": {
              "@type": "Comment",
              "text": "This is a hint"
            },
            "answerExplanation": {
              "@type": "Comment",
              "text": "This is a full explanation on how this answer was achieved."
            }
          },
          {
            "@type": "Answer",
            "position": 3,
            "text": "Ohm's law",
            "comment": {
              "@type": "Comment",
              "text": "This is a hint"
            },
            "answerExplanation": {
              "@type": "Comment",
              "text": "This is a full explanation on how this answer was achieved."
            }
          }
        ]
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

質問が複数存在するクイズ

質問と回答の組み合わせが複数あるクイズの例を次に示します。

<html>
  <head>
    <title>Quiz about displacement, velocity and time</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Quiz",
      "typicalAgeRange": "7-12",
      "educationalLevel": "intermediate",
      "assesses": "Velocity and speed",
      "educationalAlignment": [
        {
          "@type": "AlignmentObject",
          "alignmentType": "educationalSubject",
          "targetName": "Science"
        },
        {
          "@type": "AlignmentObject",
          "alignmentType": "educationalSubject",
          "targetName": "Physics"
        }
      ],
      "name": "Quiz about displacement, velocity and time",
      "about": {
        "@type": "Thing",
        "name": "Displacement, velocity, and time"
      },
      "hasPart": [
        {
          "@type": "Question",
          "eduQuestionType": "Multiple choice",
          "learningResourceType": "Practice problem",
          "name": "Average velocity and average speed from graphs",
          "text": "A bug crawls on a wall. What is the average velocity of the bug between the times $$t = 1s$$ and $$t = 10s$$?",
          "comment": {
            "@type": "Comment",
            "text": "This is a hint about the question."
          },
          "encodingFormat": "text/markdown",
          "suggestedAnswer": [
            {
              "@type": "Answer",
              "position": 0,
              "encodingFormat": "text/markdown",
              "text": "$$0.5 \\frac{m}{s}$$",
              "comment": {
                "@type": "Comment",
                "text": "This is a hint"
              }
            },
            {
              "@type": "Answer",
              "position": 1,
              "encodingFormat": "text/markdown",
              "text": "$$-0.5 \\frac{m}{s}$$",
              "comment": {
                "@type": "Comment",
                "text": "This is a hint"
              }
            },
            {
              "@type": "Answer",
              "position": 3,
              "encodingFormat": "text/markdown",
              "text": "$$1.5 \\frac{m}{s}$$",
              "comment": {
                "@type": "Comment",
                "text": "This is a hint"
              }
            }
          ],
          "acceptedAnswer": {
            "@type": "Answer",
            "position": 2,
            "encodingFormat": "text/markdown",
            "text": "$$0 \\frac{m}{s}$$",
            "comment": {
              "@type": "Comment",
              "text": "This is a hint"
            }
          }
        },
        {
          "@type": "Question",
          "eduQuestionType": "Multiple choice",
          "learningResourceType": "Practice problem",
          "name": "Average velocity and average speed from graphs",
          "text": "A swimmer motion is shown on the following graph of position x vs. time t. What is the average speed?",
          "encodingFormat": "text/markdown",
          "comment": {
            "@type": "Comment",
            "text": "This is a hint about the question."
          },
          "suggestedAnswer": [
            {
              "@type": "Answer",
              "position": 0,
              "text": "1",
              "encodingFormat": "text/html",
              "comment": {
                "@type": "Comment",
                "text": "This is a hint"
              }
            },
            {
              "@type": "Answer",
              "position": 2,
              "text": "3",
              "encodingFormat": "text/html",
              "comment": {
                "@type": "Comment",
                "text": "This is a hint"
              }
            },
            {
              "@type": "Answer",
              "position": 3,
              "text": "4",
              "encodingFormat": "text/html",
              "comment": {
                "@type": "Comment",
                "text": "This is a hint"
              }
            }
          ],
          "acceptedAnswer": {
            "@type": "Answer",
            "position": 1,
            "text": "2",
            "encodingFormat": "text/html",
            "comment": {
              "@type": "Comment",
              "text": "This is a hint"
            },
            "answerExplanation": {
              "@type": "Comment",
              "text": "This is a full explanation on how this answer was achieved."
            }
          }
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

ガイドライン

Google の練習問題に表示されるようにするには、次のガイドラインを遵守する必要があります。

技術に関するガイドライン

  • 構造化データは、可能な限り最も詳細なリーフページに実装します。練習問題がないページには、構造化データを追加しないでください。
  • 表示させる練習問題に Quiz プロパティを追加します。構造化データは、ユーザーがウェブページで利用できる練習問題と同じページに表示する必要があります。
  • ウェブページには、必要な構造化データ プロパティがすべて含まれています。
  • 1 つのトピックにつき 2 つ以上の練習問題をマークアップする必要があります(例: 「二次方程式」というコンセプトに対して 2 つの練習問題)。練習問題のリッチリザルトの表示対象にしたいコンセプトと問題をマークアップするように注意します。コンセプトと問題はそれぞれ別のページに存在していても構いません。
  • サイト上の練習問題は、データファイルや PDF に保持されるだけではなく、ユーザーがアクセスできる必要があります。
  • ホストの負荷の設定で頻繁なクロールが許容されていることを確認します。
  • 別の URL でホストされているサイトに同じ練習問題のコピーを複数掲載する場合は、ページの各コピーで正規 URL を使用します。
  • テキストのみの練習問題の場合:
    • 質問の最大文字数は 320 文字です。
    • 多肢選択式の回答は、1 つの回答につき最大 70 文字以内で指定してください。
  • テキストと画像を含む練習問題の場合:
    • 質問の最大文字数は 160 文字です。
    • 画像の高さは最大 200 ピクセルです。
  • アクセシビリティ: 表示にログインが必要となる練習問題やペイウォール内の練習問題は許可されません。ユーザーが Google の機能からサイトに移動したときに、練習問題のコンテンツにアクセスできる必要があります。練習問題以外の追加コンテンツは、ログインが必要であったり、ペイウォール内に存在しても構いません。
  • 不実表示: ユーザーを欺いたり、誤解させることを意図した練習問題は認められません。これには、質問に関連性のないトピックを不正確にマークアップすることも含まれます。

コンテンツ ガイドライン

Google の練習問題のコンテンツは、ユーザーの誰もが関連する学習リソースにアクセスできるようにすることを目的に作られています。これらのポリシーに違反するコンテンツが認められた場合、Google はしかるべき措置をとります。これには、手動による対策や、Google の練習問題からそのページを削除することも含まれます。

冒とく的な表現や下品な言葉

猥褻または冒とく的な言葉や不適切な言葉が含まれた練習問題は認められません。

練習問題を装った広告

第三者が投稿したアフィリエイト プログラムなど、練習問題を装ったプロモーション用コンテンツは認められません。

Google は、練習問題のコンテンツが法律に違反している可能性があるという苦情を受けた場合、そのコンテンツを検索ポリシーに沿って処理します。

品質

  • この機能を通じて表示する練習問題の正確性と品質に関する責任はその問題の提供者にあります。Google の品質レビュー プロセスで、一定数のデータが不正確であることが判明した場合、その深刻度に応じて問題が解決されるまで、練習問題のすべてまたは一部がこの機能から削除されます。以下の項目に関する正確性が対象となります。
    • 質問に関連するものとしてマークアップされたコンセプト
    • 質問、回答の選択肢、ヒント、回答の説明形式と正確性
    • 正しい回答の順序(例: 最初の選択肢として「上記以外」が表示されている)
    • 質問に関連するとして表示されている画像または数式の品質と正確性
    • 数字記号のレンダリングと区切り文字の実装

教育基準のマークアップ

学習基準は、生徒が各学年レベルで学習し、習得する必要がある学習目標を意味します。学習基準には、コンテンツへリンクしたり、学習の進捗の一部を構成するなど、さまざまな活用方法があります。オンライン学習資料に基準をマークアップする(educationalAlignment および hasPart.educationalAlignment フィールドで適用)ことで、Google はこれらの基準に基づいて学習内容を検索するユーザーにとって最も便利な方法で情報を整理、抽出します。スキーマの詳細な概要をご紹介します。

以下に、いくつかの基準の例を示します。

  • Common Core State Standards
  • Texas Essential Knowledge and Skills(TEKS)
  • Virginia Standards of Learning(SOL)
  • BC Performance Standards
  • Alberta Programs of Studies
  • The Australian Curriculum(ACARA)
  • The Victorian Curriculum(F-10)
  • UK National Curriculum

構造化データタイプの定義

コンテンツがリッチリザルトとして表示されるようにするには、必須プロパティを含める必要があります。また、推奨プロパティを使用すると、構造化データにより多くの情報を追加でき、ユーザー エクスペリエンスの向上につながります。

Quiz

Quiz は一般的に、同じコンセプトまたは科目でまとめられた練習問題(複数可)のグループです。

Quiz の完全な定義については、schema.org をご覧ください。

必須プロパティ
about Thing

Quiz の基礎となるコンセプトについての、ネストされた情報。質問に hasPart.about プロパティがある場合、このプロパティは必須ではありません。

{
  "@type": "Quiz",
  "about": {
    "@type": "Thing"
  }
}
about.name Text

Quiz の基礎となるコンセプトについての、ネストされた情報。質問に hasPart.about.name プロパティがある場合、このプロパティは必須ではありません。このプロパティは複数のエントリが可能です。

{
  "@type": "Quiz",
  "about": {
    "@type": "Thing",
    "name": "Fractions"
  }
}
hasPart Question

クイズの具体的な練習問題についての、ネストされた情報。1 つの hasPart プロパティを使用して 1 つの練習問題を表します。

1 つのクイズに複数の練習問題を含めるには、このプロパティを繰り返します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question"
  }
}
hasPart.acceptedAnswer Answer

その問題の正解。1 つのクイズに正解が複数ある場合は、このプロパティを繰り返します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "acceptedAnswer": {
      "@type": "Answer"
    }
  }
}
hasPart.eduQuestionType Text

練習問題のタイプ。これは、Google 検索が正解と不正解をレンダリングして確認するのに重要です。各質問で、Google は最低 2 つの回答と最大 6 つの回答を表示します。

サポートされている次の値のいずれかを使用します。

  • Multiple choice: 正解は 1 つのみです。選択肢は複数のラジオボタンとして表示され、ユーザーは 1 つしか選択できません。
  • Checkbox: 正解が 1 つ以上あります。選択肢は複数のチェックボックスとして表示され、ユーザーは該当するすべてのチェックボックスをオンにできます。
{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "eduQuestionType": "Multiple choice"
  }
}
hasPart.learningResourceType Text

この学習リソースのタイプ。固定値 Practice problem を使用します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "learningResourceType": "Practice problem"
  }
}
hasPart.suggestedAnswer Answer

問題のその他すべての正解および不正解の回答。複数の回答を指定するには、このプロパティをネストされたプロパティとともに繰り返します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "suggestedAnswer": {
      "@type": "Answer",
    }
  }
}
hasPart.suggestedAnswer.text Text

回答の内容。マークダウンまたは HTML を使用できます。HTML またはマークダウンで練習問題をエンコードする方法を確認してください。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "suggestedAnswer": {
      "@type": "Answer",
      "text": "$$x = 1$$"
    }
  }
}
hasPart.text Text

質問の内容。マークダウンまたは HTML を使用できます。HTML またはマークダウンで練習問題をエンコードする方法を確認してください。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "text": "Which diagram represents the product $$3 *\frac{2}{3}$$?"
  }
}
推奨プロパティ
educationalAlignment AlignmentObject

確立されている学習フレームワークとクイズの対応付け。このプロパティは、科目、ドメイン、対象学年、教育基準に対してクイズを対応付けるために繰り返し使用できます。教育基準への対応付けは、Quiz で直接行うことも、Question でより具体的に行うこともできます。

{
  "@type": "Quiz",
  "educationalAlignment": []
}
educationalAlignment.alignmentType Text

クイズの学習リソースとフレームワークのノードとの間の対応付けのカテゴリ。Google 検索では LRMI 標準を使用しています。

alignmentType を繰り返し使用して、科目と、対象学年または教育標準の両方を指定します。

  • クイズの科目またはドメインを指定するには、alignmentTypeeducationalSubject に設定します。
  • クイズの対象学年や教育基準を指定するには、alignmentTypeeducationalLevel に設定します。

他のドメインやサブドメインが存在する場合は、複数のオブジェクトを挿入できます。コンセプトを指定するには、代わりに about プロパティを使用します。

educationalSubjecteducationalLevel の両方を指定する方法は次のとおりです。

{
  "@type": "Quiz",
  "educationalAlignment": [
    {
      "@type": "AlignmentObject",
      "alignmentType": "educationalSubject",
      "targetName": "Mathematics"
    },
    {
      "@type": "AlignmentObject",
      "alignmentType": "educationalLevel",
      "targetName": "Fifth grade"
    }
  ]
}

「Common Core」などの基準を参照するには、educationalAlignment.educationalFramework プロパティと educationalAlignment.targetUrl プロパティを使用します。

{
  "@type": "Quiz",
  "educationalAlignment: [
  {
    "@type": "AlignmentObject",
    "alignmentType": "educationalLevel",
    "educationalFramework": "Common Core",
    "targetName": "Grade 8: Expressions and Equations",
    "targetUrl": "https://www.corestandards.org/Math/Content/8/EE/A/2/"
    }
  ]
}
educationalAlignment.educationalFramework Text

クイズが対応するフレームワーク。たとえば、「Common Core」などが挙げられます。このプロパティが重要である理由について詳しくは、教育基準のマークアップをご覧ください。このプロパティは複数のエントリが可能です。

educationalAlignment.targetName Text

確立されている学習フレームワークのノードの名前。たとえば、「中学 2 年生: 式と計算式」などが挙げられます。

{
  "@type": "Quiz",
  "educationalAlignment: [
  {
    "@type": "AlignmentObject",
    "targetName": "Grade 8: Expressions and Equations"
    }
  ]
}
educationalAlignment.targetUrl URL

特定の学習フレームワークの URL。たとえば、中学 2 年生の数学の Common Core 基準の URL が挙げられます。

{
  "@type": "Quiz",
  "educationalAlignment: [
  {
    "@type": "AlignmentObject",
    "targetUrl": "https://www.corestandards.org/Math/Content/8/EE/A/2/"
    }
  ]
}
educationalLevel Text

クイズの難易度。使用できる値の例を次に示します。

  • beginner
  • intermediate
  • advanced
{
  "@type": "Quiz",
  "educationalLevel": "beginner"
}
hasPart.about Thing

質問の基礎となるコンセプトについての、ネストされた情報。Quizabout プロパティが指定されていない場合、hasPart.about は必須です。このプロパティは複数のエントリが可能です。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "about": {
      "@type": "Thing"
    }
  }
}
hasPart.about.name Text

質問の基礎となるコンセプトのタイトル。Quizabout.name プロパティが指定されていない場合、hasPart.about.name は必須です。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "about": {
      "@type": "Thing",
      "name": "Fractions"
    }
  }
}
hasPart.acceptedAnswer.answerExplanation Comment

この回答で説明されている回答を導き出す方法についての詳しい説明。これは通常、正解のみに使用されます。説明の内容には内部に hasPart.suggestedAnswer.comment.text プロパティを使用します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "acceptedAnswer": {
      "@type": "Answer",
      "answerExplanation": {
        "@type": "Comment"
       }
    }
  }
}
hasPart.acceptedAnswer.answerExplanation.text Text

提案した回答に対する説明の内容。コンテンツの形式(HTML またはマークダウン)を変更するには、encodingFormat を使用します。HTML またはマークダウンで練習問題をエンコードする方法を確認してください。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "suggestedAnswer": {
      "@type": "Answer",
      "answerExplanation": {
        "@type": "Comment",
        "text": "*In order to get to this result..*",
        "encodingFormat": "text/markdown"
       }
    }
  }
}
hasPart.acceptedAnswer.comment Comment

なぜそれが正解なのかを理解するために使用できる、回答についてのヒントや提案。ヒントの内容には hasPart.acceptedAnswer.comment.text プロパティを使用します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "acceptedAnswer": {
      "@type": "Answer",
      "comment": {
        "@type": "Comment"
      }
    }
  }
}
hasPart.acceptedAnswer.comment.text Text

提案した回答に対するヒントまたは提案の内容。コンテンツの形式(HTML またはマークダウン)を変更するには、encodingFormat を使用します。HTML またはマークダウンで練習問題をエンコードする方法を確認してください。


{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "acceptedAnswer": {
      "@type": "Answer",
      "comment": {
        "@type": "Comment",
        "text": "<p>This is a hint</p>"
      }
    }
  }
}
hasPart.acceptedAnswer.position Integer

回答がユーザーに表示される際のこの回答の位置。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "acceptedAnswer": {
      "@type": "Answer",
      "position": "2"
    }
  }
}
hasPart.assesses DefinedTerm または Text

問題の解決に必要なスキル。この値を入力することで、ユーザーが見つけやすくなります。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "assesses": "Multiplying fractions by whole numbers"
  }
}
hasPart.comment Comment

問題の解決に使用できる質問についてのヒントや提案。ヒントの内容には内部に hasPart.comment.text プロパティを使用します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "comment": {
      "@type": "Comment"
    }
  }
}
hasPart.comment.text Text

質問のヒントまたは提案の内容。コンテンツの形式(HTML またはマークダウン)を変更するには、encodingFormat を使用します。HTML またはマークダウンで練習問題をエンコードする方法を確認してください。


{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "comment": {
      "@type": "Comment",
      "text": "<p>This is a hint</p>"
    }
  }
}
hasPart.educationalAlignment AlignmentObject

確立されている学習フレームワークと問題の対応付け。このプロパティは、Quiz オブジェクトに追加されている教育基準への対応付けをオーバーライドします。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "educationalAlignment": []
}
hasPart.educationalAlignment.alignmentType Text

質問の学習リソースとフレームワークのノードとの間の対応付けのカテゴリ。Google 検索では LRMI 標準を使用しています。

alignmentType を繰り返し使用して、科目と、対象学年または教育標準の両方を指定します。

  • 質問の科目またはドメインを指定するには、alignmentTypeeducationalSubject に設定します。
  • 質問の対象学年や教育基準を指定するには、alignmentTypeeducationalLevel に設定します。

他のドメインやサブドメインが存在する場合は、複数のオブジェクトを挿入できます。コンセプトを指定するには、代わりに hasPart.about プロパティを使用します。

educationalSubjecteducationalLevel の両方を指定する方法は次のとおりです。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "educationalAlignment": [
      {
      "@type": "AlignmentObject",
      "alignmentType": "educationalSubject",
      "targetName": "Mathematics"
      },
      {
      "@type": "AlignmentObject",
      "alignmentType": "educationalLevel",
      "targetName": "Fifth grade"
      }
    ]
  }
}

「Common Core」などの教育基準を参照するには、hasPart.educationalAlignment.educationalFramework プロパティと hasPart.educationalAlignment.targetUrl プロパティを使用します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "educationalAlignment: [
      {
      "@type": "AlignmentObject",
      "alignmentType": "educationalLevel",
      "educationalFramework": "Common Core",
      "targetName": "Grade 8: Expressions and Equations",
      "targetUrl": "https://www.corestandards.org/Math/Content/8/EE/A/2/"
      }
    ]
  }
}
hasPart.educationalAlignment.educationalFramework Text

質問が対応するフレームワーク。例えば、「Common Core」などが挙げられます。このプロパティが重要である理由について詳しくは、教育基準のマークアップをご覧ください。このプロパティは複数のエントリが可能です。

hasPart.educationalAlignment.targetName Text

確立されている学習フレームワークのノードの名前。たとえば、「中学 2 年生: 式と計算式」などが挙げられます。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "educationalAlignment: [
      {
      "@type": "AlignmentObject",
      "alignmentType": "educationalLevel",
      "targetName": "Grade 8: Expressions and Equations"
      }
    ]
  }
}
hasPart.educationalAlignment.targetUrl URL

質問に適用される特定の学習フレームワークの URL。たとえば、中学 2 年生の数学の Common Core 基準の URL が挙げられます。

hasPart.educationalLevel Text

質問の難易度をテキスト形式で表したもの。使用できる値の例を次に示します。

  • beginner
  • intermediate
  • advanced
{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "educationalLevel": "beginner"
  }
}
hasPart.name Text

質問の概要の説明。問題の全文は含めないでください。代わりに hasPart.text を使用してください。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "name": "Question about fractions"
  }
}
hasPart.suggestedAnswer.comment Comment

なぜそれが正解または不正解なのかを理解するために使用できる、回答についてのヒントや提案。ヒントの内容には hasPart.suggestedAnswer.comment.text プロパティを使用します。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "suggestedAnswer": {
      "@type": "Answer",
      "comment": {
        "@type": "Comment"
      }
    }
  }
}
hasPart.suggestedAnswer.comment.text Text

提案した回答に対するヒントまたは提案の内容。コンテンツの形式(HTML またはマークダウン)を変更するには、encodingFormat を使用します。HTML またはマークダウンで練習問題をエンコードする方法を確認してください。


{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "suggestedAnswer": {
      "@type": "Answer",
      "comment": {
        "@type": "Comment",
        "text": "<p>This is a hint</p>"
      }
    }
  }
}
hasPart.suggestedAnswer.encodingFormat Text

テキスト プロパティのエンコードに使用する MIME 形式。encodingFormat が指定されていない場合、デフォルト値は text/html です。次のいずれかの値を使用します。

  • text/markdown
  • text/html
{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "suggestedAnswer": {
      "@type": "Answer",
      "encodingFormat": "text/html"
    }
  }
}

HTML またはマークダウンで練習問題をエンコードする方法を確認してください。

hasPart.suggestedAnswer.position Integer

ユーザーに表示される際のこの回答の位置。

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "suggestedAnswer": {
      "@type": "Answer",
      "position": "0"
    }
  }
}
hasPart.typicalAgeRange Text

その質問が対象とする一般的な年齢層。例: 7-12 または 18-

{
  "@type": "Quiz",
  "hasPart": {
    "@type": "Question",
    "typicalAgeRange": "7-12"
  }
}
name Text

クイズのタイトル。

{
  "@type": "Quiz",
  "name": "Negative exponents review"
}
typicalAgeRange Text

そのクイズが対象とする一般的な年齢層。例: 7-12 または 18-

{
  "@type": "Quiz",
  "typicalAgeRange": "7-12"
}

HTML またはマークダウンで練習問題をエンコードする

Google 検索では、QuestionAnswerComment のエンコードに対して、マークダウン(CommonMark フレーバー)と HTML をサポートします。構成要素は、次に制限されます。

  • ヘッダー
  • 改行
  • リスト(順序ありと順序なし)
  • 段落
  • 太字
  • 斜体
  • 画像
  • LaTex での数式

CSS または JavaScript は無視されます。サポートされていない HTML タグを含む質問は表示されません。

形式を指定する方法

使用するエンコード形式を指定するには、encodingFormat プロパティを使用し、HTML の場合は "text/html"、マークダウンの場合は "text/markdown" に値を設定します。

マークダウン形式に設定された質問の例を次に示します。

{
  "@type": "Question",
  "name": "Average velocity and average speed from graphs",
  "text": "What is the average velocity [..] between the times $$t = 4s$$ and $$t = 10s$$?",
  "encodingFormat": "text/markdown"
  ..
  ..
}

encodingFormat が指定されていない場合、"text/html" であると見なされます。

数式

数式を指定するには、LaTex 形式を使用します。数式を埋め込むには、2 つのドル記号($$)を使用する必要があります。次に例を示します。

"<p>Please solve: $$2x^2 = 18$$</p>"

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors and the Unparsable structured data report.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.