Looking for a new strategy that might land some of your pages in the much-coveted knowledge graph?
Consider using Question & Answer schema.
In this article, Ignite’s Director of Strategy Chrystal Lenardson goes over what this kind of schema is and how you can add it to your site.
The Question & Answer schema, as the name implies, is ideal for FAQs. That means if you answer a question that somebody types into the Google search bar, then your answer could appear at the very top of the search engine results pages (SERPs).
Even better: your competitors probably aren’t using the Q&A schema markup. That means you’ll have an advantage in search.
What Is “Schema”?
If you’re brand new to search engine optimization (SEO), you might not even understand the word “schema.” I’ll explain it to you.
In technical terms, a schema is an outline or model. For the purposes of SEO, though, “schema” usually refers to the specification that you can read about at schema.org.
Simply put, you can use the markup defined at that site to give the search engines a little more information about your website.
For example, if you’d like to identify the author of an article, there’s a schema type called Blog that includes an author property. You’d set the name of the author in that property.
Why would you want to go the extra mile to use schema.org markup in addition to standard HTML markup? Because it makes it easier for search engines to parse the content on your site.
That’s important because their algorithms might use that additional info to give your web pages a higher rank in the search results.
Question & Answer Schema Markup
You’ve probably seen plenty of Q&A websites around cyberspace. One of the most popular is Quora.
On Quora, people ask questions and wait for others to answer. Then, users upvote or downvote the replies. The answer with the most upvotes “wins” and is usually the featured answer that appears right below the question.
Another website, StackOverflow, follows the same format. People ask questions, others vote on the answers, and the top is answer is featured.
There are countless sites that follow the Quora/StackOverflow model. Fortunately, those sites make it very easy for me to show you the benefit of using question and answer schema markup on your own website.
Let’s run an experiment.
The Benefits of Question and Answer Schema Markup
Go over to Google and search for “angular how to define an array”. As of now, the top answer is from StackOverflow.
If you click on the page, you’ll see that somebody is asking how to declare an array of objects in Angular 2.
That might seem like boring stuff if you’re not into the Angular framework. That’s understandable, but the content isn’t important.
What’s important is that the web page is using Q&A schema markup.
Right-click anywhere on the page and select “View page source” or “View source” from the context menu that appears. Take a look at the code.
It’s a bunch of HTML that might not mean anything to you. However, check out the very top element. You’ll see this: <html itemscope itemtype=”http://schema.org/QAPage” class=”html__responsive”>
Look at the itemType property and you’ll see that it’s referencing http://schema.org/QAPage. That’s telling the search engines to identify the web page as a Q&A page.
There’s more. Hit Ctrl-F to do a search. In the search bar, enter “http://schema.org/Question”.
The search should take you to an HTML element that looks like this: <div itemscope itemtype=”http://schema.org/Question”>
Bingo. That’s another reference to schema.org markup.
Now search for “http://schema.org/Answer” on the same page. As of now, it’s on the page four times. That’s because there are four answers to that question.
That’s one of the reasons that StackOverflow answers so frequently appear at the top of the SERPs. Google is able to parse the contents of its pages thanks to schema.org markup.
But Q&A schema markup isn’t only for designated forum and Q&A sites.
You can use it on any page of your website where you have outlined FAQs – which you should, because remember: adding in FAQs is one of the best ways to help Google feature your copy in a featured snippet.
And if the page you add the markup to gets a lot of traffic and interaction, Google may choose to include that information in Knowledge Graph instant answers.
Question & Answer Schema Markup: The Question Type
Now that I’ve covered the benefits of using the markup, it’s time to look at each of the three types in more detail. I’ll start with the Question type.
Believe it or not, there’s quite a bit more to the Question type than the text of the question. There are several properties associated with it:
- acceptedAnswer – The answer that’s been accepted as the “right” answer to the question. Usually, it’s an Answer type.
- answerCount – The number of answers to the question.
- downvoteCount – The number of times the question has been downvoted. Remember: people can upvote and downvote questions just like they can upvote and downvote answers.
- suggestedAnswer – An answer to the question. Usually, it’s an Answer type.
- upvoteCount – The number of times the question has been upvoted.
- url – The URL where the question is located.
- text – The text of the question.
- name – A name for the question. This is optional but it’s a good idea to give each of your questions a unique name.
- publisher – The organization or person that “owns” the question. Usually, it’s the organization that owns the domain where the question is posted.
- about – Explains what the question is about. If you’re creating a FAQ page, then the question is about your business.
- isPartOf – This will usually reference the QAPage where people can find the question.
- description – An optional description of the question.
There are several more properties that are outside the scope of this article. That’s because Question is an extension of CreativeWork, so it inherits all properties from that type.
Question & Answer Schema Markup: The Answer Type
Next, let’s go over the Answer type.
Once again, there are several properties you need to know about.
- downvoteCount – The number of times the answer has been downvoted.
- parentItem – Usually the question associated with the answer. In that case, it needs to be a Question type.
- upvoteCount – The number of times the answer has been upvoted.
- text – The text of the answer.
- name – An optional name for the answer.
- url – The URL where the answer is located.
- about – As with the question, if you’re creating a FAQ page, then the answer should be about your business.
- publisher – The organization or person that “owns” the answer. Usually, it’s the organization that owns the domain where the answer is posted.
- isPartOf – This will usually reference the QAPage where people can find the answer.
- description – An optional description of the question.
As with the Question type, there are several other properties associated with the Answer type that are outside the scope of this article.
Question and Answer Schema Markup: The QAPage Type
Finally, let’s look at the QAPage type.
QAPage is the “container” for all the questions and answers on a single page. On a website like StackOverflow, there’s usually one question on a page with several answers.
However, you don’t have to follow that model on your pages. You can, for example, create an FAQ that includes multiple questions with single answers.
Although there are several properties associated with QAPage, most of them are outside the scope of this article. You’ll usually just need to declare that your page is a type of QAPage.
We’ll cover implementation details in the next section.
Adding Q&A Schema Markup to a Web Page
If you’re sold on the idea of adding Q&A markup to your website, you’ll be happy to know that it’s a fairly easy process.
On the other hand, if you’re running a straight HTML website and you’re not currently using schema.org markup, you’ll need to do some of that tinkering.
There are two ways that you can add schema.org markup to your site: with microdata or JSON-LD.
The StackOverflow example I highlighted above uses microdata for schema markup. You can follow that example on your website.
It’s simple. In your HTML code, add the QAPage markup to the root element. That root element, oddly enough, is called “html”. Here’s what it looks like:
<html itemscope itemtype=”http://schema.org/QAPage”>
Then, you’d identify your question with the Question type, as follows:
<div itemscope itemtype=”http://schema.org/Question”>
<div itemprop=”text”>How old is Bob Costas?</div>
In the outer <div> element, you’re declaring that the nested content is a question. In the second <div> element, you identify the question itself by setting the “text” property.
You would follow that same pattern for each of the answers:
<div itemscope itemtype=”http://schema.org/Answer”>
<div itemprop=”text”>I think he is 73.</div>
As you can see, adding microdata can become tedious because you have to go through the entire page, find the relevant info, and mark up its associated element.
There’s a better way.
The success of StackOverflow notwithstanding, it’s widely considered that JSON-LD is a better way to implement schema.org markup than microdata. There are a couple of reasons for that.
First, you contain all the markup in one section of your code. That makes it easy to find errors and make changes.
Second, and more importantly, Google endorses the JSON-LD format. If you’re serious about improving your position in the SERPs, go with the Google recommendation.
- JSON – A simple data format. It has the benefit of being readable by both humans and computers.
- LD – A means of creating a network of data across websites.
Unfortunately, JSON-LD is a little weirder looking than microdata. It’s a format designed for tech geeks.
Let’s look at an example that’s relevant to this topic:
“text”: “How old is Bob Costas?”,
“text”: “I think he is 73.”,
You can copy and paste that code block directly on to your own website and then change the question and answer to suit your needs. Google recommends that you put JSON-LD code in the <head> section of your HTML.
Of course, that example is simplified for readability. It doesn’t include a number of properties, such as upvoteCount and downvoteCount. You can add those easily. For example:
“text”: “I think he is 73.”,
Any other properties you’d like to add, you can add just as easily. For more info on adding values to a JSON object, check out this JSON tutorial.
Future Benefits of Q&A Schema Markup
At Ignite Visibility, we think that Q&A markup might one-day influence voice search results.
It should be stressed, though, that we don’t have evidence to suggest that the markup affects voice search today.
According to Brian Dean, schema markup may not yet play a role in search rank. His research shows that only 36.4% of search results came from web pages that used schema markup. That’s not much higher than the worldwide average of 31.3%.
However, many people use voice search to ask questions. It wouldn’t surprise us if Google one day favors QAPage markup when delivering answers to those questions.
Wrapping It Up
If you’d like to demonstrate that you’re an authority in your space, one of the best ways to do that is by using your website to answer questions asked by people in your target market.
If you decide to go that route, be sure to use schema.org markup so search engines can identify your content.
StackOverflow and similar websites routinely rank content at the very top of the SERPs. You can do that as well if you follow their example and use Q&A markup on your web pages.