While writing schema and adding it to your website may seem complicated, this guide will take you step-by-step to create, validate and add FAQ schema in as little as 10 minutes.
FAQPage schema is a type of structured data that Google uses to produce rich results for your page listings in the search results.
When implemented correctly, a drop-down containing 3 or more questions will appear below your page for users to view before clicking through to your website.
Having FAQ rich results will potentially increase clickthrough rates and drive more traffic with little effort.
Looking to learn more about search engine optimization? Read our SEO beginner’s guide for everything you need to know about SEO and how to drive business results through search engines like Google and Bing.
Below are two examples of what this type of structured data looks like.
It’s easy to get confused by these two similar schema types.
FAQpage schema is typically used when you have a Frequently Asked Question page, or have product pages that list out FAQ’s for that specific product.
Q&A schema, on the other hand, is used when different types of answers are contributed by users, and they can vote for which answer to the question is the best one.
While FAQ schema will help produce FAQ rich results, there is no correlation between implementation and ranking for People Also Ask or Featured Snippets.
Before we start writing FAQ schema, it’s important to know that structured data doesn’t guarantee rich results appearing for your page either:
“Using structured data enables a feature to be present, it does not guarantee that it will be present. The Google algorithm tailors search results to create what it thinks is the best search experience for a user, depending on many variables, including search history, location, and device type. In some cases, it may determine that one feature is more appropriate than another, or even that a plain blue link is best.” -Google
The first step is identifying pages that are eligible for adding FAQPage markup, whether you’re doing keyword research for new articles, or updating old content for SEO. Valid uses include a FAQ page written by the site owner, with no way for users to submit alternative answers, or a product support page listing FAQs.
I’ve also included two examples below of websites that use a FAQ section appropriately that are eligible for this type of schema markup:
Next, you’ll want to build out 3 questions that you want your page to answer. Here are a few ways to brainstorm using Google:
This section is great for determining what Google believes are the most relevant single questions to answer for a given search query. I will typically spin content from these sections and add them as subheads into content for my FAQ markup.
The “Related Searches” section is also a good way to look for related search queries to your targeted keywords and round out your existing page.
This may be the most important of the three when brainstorming for questions to answer for your content. Take a look at the top search results for your target keyword, and see what common topics they write about to include for your own page.
The purpose of rich results for SEO is to help improve CTR for your page. You want to write compelling questions with concise, but detailed answers that will encourage someone to click on your search result.
A common mistake is to create FAQ answers that immediately answer a user’s query and result in a “zero click search”. Again, provide just enough detail to peak a searcher’s curiosity and get them to visit your page for more information.
This is the best way to encourage clickthrough to your website.
Normally, the FAQ rich result dropdowns don’t have CTAs to drive users to your site.
By adding internal links within the FAQ markup copy, the CTA will improve your chances that a user will click through to your webpage.
Another common mistake is optimizing FAQ answers just to rank organically. Provide quality FAQ content that’s useful to the searcher, is related to your topic, gives them the quick answers they need, and adds value.
Google’s preferred markup for structured data is JSON-LD code. Below is the format that you should follow when creating the FAQ JSON-LD code. If writing out the code manually is too complicated, there are schema generators you can use instead:
Merkle’s schema markup generator tool is my personal favorite to use when creating structured data for my webpages. All you do is select the type of markup you’re trying to create and fill out the fields it provides.
This generator isn’t as intuitive as Merkle’s but it works the same for JSON-LD markup.
The options for this generator are more limited than the others, but it offers local business, person, and organization schemas.
Rank Ranger is also fairly straightforward, filling out the required fields to output your desired schema markup.
I talk about this in my latest post, but you can add links to your FAQPage schema to improve clickthrough rates when your page generates rich results.
There are several different ways you can add structured data to your website. The preferred method is to insert it directly into your page header, although Google Tag manager or third-party plugins are also viable options, which I’ll explain below.
Google has stated in the past that while using Google Tag Manager to implement schema can technically be done, it’s better to embed structured data directly to the page.
The reasoning is that it’s hard for Google’s algorithms to give something appropriate weight that isn’t visible to the search crawlers. Because the structured data is hidden within your Google Tag Manager container, Google can’t read it, and you may not generate rich results.
If this is your only option, then here are the following steps:
This is Google’s preferred method for inserting structured data. Simply add your JSON-LD code to the header of your desired page. If you’re on WordPress, there are several plugin options available to insert header and footer code.
I've written a more comprehensive guide on how to add structured data to your website here.
If you aren’t comfortable adding code to your site header, or don’t have access to do so, there are several third-party WordPress plugins that you can use instead. While you can search WordPress’s plugin repository, here are a few different plugin options to get you started:
This is a simple Gutenberg blocks plugin that offers different widgets that you can add to your webpage. It also includes Review, FAQ and HowTo Schema.
While this plugin is known for assisting with on-page optimization when creating articles, it also offers several structured data options that you can insert onto your desired pages.
This is another popular rich snippets plugin from the team behind the popular Astra theme.
While this only offers FAQ schema, you can use this reliably for your posts if you’re only wanting to include FAQPage structured data to your desired pages.
Once you’ve added your schema markup to your page, go ahead and test it using Google’s Structured Data Testing Tool. This tool will show you any outstanding errors or warnings pertaining to your JSON-LD code.
You can also use Google’s Rich Results Test Tool to view what your rich result will look like if your structured data is eligible for rich results. I've written a list of the best structured data testing tools you can use for schema markup, so be sure to go check that out.
Lastly, I would recommend performing a URL inspection within Search Console to perform faster indexing for your webpage. Once it’s indexed, Search Console will point out any errors that prevent your page from displaying FAQ schema as a rich result.
If you’re looking to get the edge on your competition in the search results, you should be using FAQPage Schema Markup.
This structured data type creates a drop-down that contains 3 or more questions below your page for users to view. Taking FAQPage schema a step further, you can now add links to your rich results, which I will show you how to do below:
First, you need to create your schema markup code. You can do this manually, but I prefer using Merkle’s schema markup generator tool. If you don’t like Merkle, there are other structured data tools that you can use as well.
Typically, FAQPage schema markup requires a “@type”: “Question” field, as well as a “acceptedAnswer” field, as shown in the screenshot below.
Once you have the foundation for your markup, you can then insert the hyperlink as HTML. You’ll have to manually add the full URL to your JSON-LD markup if you’re using a schema generator like Merkle.
All you have to do is wrap your desired URL with a <a> HTML tag around your anchor text, like this:
<a href='https://example.com'>anchor text</a>
Typically with HTML, you would use double quotation marks when inserting hyperlinks. However, JSON-LD requires that you use a single quotation mark, rather than a double quotation mark, like in the example below:
Once you have your schema code written up, it’s time to test it for errors. You can use Google’s Structured Data Testing Tool to do this; if you do receive an error for your FAQPage schema, double check that your hyperlink contains single quotation marks, rather than double quotation marks, or it will display as an error.
Now that you’ve tested your markup, you can go ahead and add it to your desired page. I talk about this more thoroughly in my guide on how to add structured data to your website, but here are a few ways to do so:
This is typically a formatting issue with the <a> tag, especially if you’re using double quotation marks. However, there are also reports of Google filtering the SERPs.
Google prefers the use of JSON-LD for schema markup, but you can use either language based on comfort/site infrastructure.
There are a few reasons why FAQPage schema doesn’t always lead to rich results:
Adding FAQPage schema may seem challenging, but it’s rather simple once you have an established process.
While simple, it has the potential to directly increase the visibility of your brand and improve the number of searchers that visit your website, especially with a majority of websites not using any form of structured data, let alone FAQpage schema.
Be sure to check out my SEO resource hub for more content.