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 #schema.org/QAPage, 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:
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: https://schema.org/QAPage | |||
Schema Property | Priority | Accepted Values | |
mainEntity | REQUIRED | We must use the schema.org class Question to define the mainEntity property. |
Schema Class: https://schema.org/Question | |||
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: https://schema.org/Answer | |||
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: https://www.examplesite.com/question#answer1 |
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!