How to create Q&A Page schema markup for Top Answer rich result!

You may remember that in December of 2017 Google released a question and answer rich card and we wrote a blog about it. Well, this past December 2018 Google search results now include a “Top Answer” rich result. On December 3rd, Aaron Bradley pointed out that he saw the new Q&A Page rich result.

“There’s a new Google Rich result in town, “Q&A Page”, powered by, Question and Answer…”

Right away people started asking us how to achieve this new iteration of the question & answer rich result. But first, what does it look like? How will your snippets change by implementing this QAPage schema markup? Here is the example provided by Google:

Let’s take a second and discuss the type of content this rich result is built for. The (new) documentation for Q&A Page is very clear that this is meant for pages that answer and discuss a single question. Therefore this is excellent for support pages and forum posts, or any page with a single question and multiple answers. This is not intended for a single page with a long list of FAQs. With that out of the way let’s get into how to achieve this stand out rich result!

There are 3 schema classes that we will need to use to complete our Q&A Page markup. They are:

  1. QAPage
  2. Question
  3. Answer

Each of these will be connected and nested underneath one another. An example looks like this:

Let’s have a look at each class, they’re required properties as called out in the Documentation, and what values these properties should be defined by:


Schema Class:
Schema Property Priority Accepted Values
mainEntity REQUIRED We must use the class Question to define the mainEntity property.


Schema Class:
Schema Property Priority Accepted Values
answerCount Required Yes
Either acceptedAnswer or suggestedAnswer Required At least one of either acceptedAnswer or suggestedAnswer must be nested underneath the Question. There should only ever be 1 acceptedAnswer, however than can be any number of suggestedAnswer.
name Required This property is defined by text only. The intended content for this property is the short form of the question. Example: “How many teaspoons in a cup?”.
author Recommended This should be defined by either a Person or Organization schema class, with the name property filled in by text.
dateCreated Recommended The date the Question was posted.
text Recommended This property is defined by text only. The intended content is the long form of the question. For example, “I’m cooking, and I need to know how many teaspoons are in a cup. How many teaspoons are in 1 cup?”
upvoteCount Recommended The total number of votes that this question has received. If the page supports upvotes and downvotes, then set the upvoteCount value to a single aggregate value that represents both upvotes and downvotes. For example, if there are 5 upvotes and 2 downvotes, the aggregate value used for upvoteCount is 3. If there are 5 upvotes and downvotes are not supported, then the value for upvoteCount is 5.


Schema Class:
Schema Property Priority Accepted Values
text Required This property is defined by text only. It is intended to house the full text of the answer
author Recommended Using either
dateCreated Recommended The date at which the answer was added to the page, in ISO-8601 format.
downvoteCount Recommended Using an integer, enter the number of downvotes this answer has received.
upvoteCount Recommended Using an integer, enter the number of upvotes this answer has received.
url Recommended A URL that links directly to this answer. For example:

When you’re done, the schema markup should look something like this:

There you have it, the schema markup strategy that will ensure you’re eligible for Q&A Page rich results!

Previous Post
Calling all Small Businesses – Join Schema App and Make a Donation to Food4Kids
Next Post
Interview with Nick Wilsdon – Data Portability & Google/Amazon Friend or Foe [Podcast & Transcript]