The FAQ Schema markup was introduced by Google in mid-2019 and allows you to transform your FAQ page on Google’s search engine results page (SERP) into a rich result.
It’s a key tie between technical SEO and your content strategy.
What is FAQ Schema?
The FAQPage markup can be used for any generic Frequently Asked Questions (FAQ) page or any product page on your website that lists FAQs.
When successfully marked up, the rich result will be viewable on Google on both desktop and mobile devices.
You can also make minor customisations to the styles of the answers in these results, such as bolding, hyperlinking, adding lists and more. You can view all the properties of FAQSchema on schema.org.
Here’s an example of what it would look like on a mobile device.

User-friendly accessibility
Another benefit of implementing this markup would be the ability for users to access your marked-up questions and answers on Google Assistant.
If a user asks a direct question that you have provided a solution for through FAQ Schema, they are able to receive the answer and a link to the source page on your website.
Does FAQ schema still exist?
Yes, FAQ schema remains a vital component of structured data, enabling websites to present question-and-answer content in a format that search engines can easily interpret.
While Google has refined the display of FAQ rich results, primarily showcasing them for authoritative government and health websites, the underlying FAQ structured data continues to be supported and beneficial for SEO purposes.
Implementing FAQ schema can enhance your website's visibility in Google search results and improve user engagement by providing immediate answers to common questions. It also facilitates better indexing and understanding of your content by search engines, contributing to improved rankings.
How do I implement FAQ schema?
JSON-LD Or Microdata
The FAQPage markup can be written in either JSON-LD or Microdata. You can view examples of how to write both types on Google Developers.
Whichever one you apply to your website is entirely up to you – there are no differences. Regardless of which you decide to use, if they are implemented correctly, the rich result will be the same.
To appear for Google FAQ schema, your markup must follow the correct structure and content guidelines, including relevant and accurate questions and answers that provide genuine value to users.
Depending on your website’s content management system (CMS), there are various ways the code can be embedded into your FAQ page. For example, if your website is built with WordPress, you can use plugins that are designed to implement markups to embed your FAQ Schema.
Some examples of these plugins include Schema Pro, Ultimate Blocks, All-in-One Schema Rich Snippet, etc.
Otherwise, writing the code manually and sticking it into the backend code of your FAQ page yourself is not difficult at all. You don’t need to be a pro programmer to do this, follow our steps below.
For exemplary purposes, we are going to mark up a hypothetical FAQ page with 2 questions and answers and use this same example across both JSON-LD and Microdata.
Using JSON-LD
This is the JSON-LD sample code we pulled from Google Developers trimmed down to 2 questions:
<script type=“application/ld+json”>
{
“@context”: ”
https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [{
“@type”: “Question”,
“name”: “What is the return policy?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Most unopened items in new condition and returned within <strong>90 days</strong> will receive a refund or exchange. Some items have a modified return policy noted on the receipt or packing slip. Items that are opened or damaged or do not have a receipt may be denied a refund or exchange. Items purchased online or in-store may be returned to any store.<br /><p>Online purchases may be returned via a major parcel carrier. <a href=”http://example.com/returns”> Click here </a> to initiate a return.</p>”
}
}, {
“@type”: “Question”,
“name”: “How long does it take to process a refund?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “We will reimburse you for returned items in the same way you paid for them. For example, any amounts deducted from a gift card will be credited back to a gift card. For returns by mail, once we receive your return, we will process it within 4–5 business days. It may take up to 7 days after we process the return to reflect in your account, depending on your financial institution’s processing time.”
}
}]
}
</script>
To insert your own questions and answers, replace the existing question in the “name” field with your own, and replace the string in the “text” field under “acceptedAnswer” with the answer to your question.
<script type=“application/ld+json”>
{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [{
“@type”: “Question”,
“name”: “Where are you located?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Our head office is located in Sydney. View our locations page for our full address.”
}
}, {
“@type”: “Question”,
“name”: “My item is faulty, can I return it and get an exchange?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Definitely! We are sorry you have received a faulty item. Fill in our returns form with all the details and our customer service representatives will get back to you within 24 hours.”
}
}]
}
</script>
Using microdata
This is the Microdata sample code we pulled from Google Developers trimmed down to 2 questions:
<div =“mainEntity” =”
https://schema.org/Question”
>
<h3 =“name”>What is the return policy?</h3>
<div =“acceptedAnswer” =”
https://schema.org/Answer”
>
<div =“text”>
Most unopened items in new condition and returned within <strong>90 days</strong> will receive a refund or exchange. Some items have a modified return policy noted on the receipt or packing slip. Items that are opened or damaged or do not have a receipt may be denied a refund or exchange. Items purchased online or in-store may be returned to any store.
<br />
<p>Online purchases may be returned via a major parcel carrier. <a href=”
http://example.com/returns”
> Click here </a> to initiate a return.</p>
</div>
</div>
</div>
<div =“mainEntity” =”
https://schema.org/Question”
>
<h3 =“name”>How long does it take to process a refund?</h3>
<div =“acceptedAnswer” =”
https://schema.org/Answer”
>
<div =“text”>
We will reimburse you for returned items in the same way you paid for them. For example, any amounts deducted from a gift card will be credited back to a gift card. For returns by mail, once we receive your return, we will process it within 4–5 business days. It may take up to 7 days after we process the return to reflect in your account, depending on your financial institution’s processing time.
</div>
</div>
</div>
Like what we did with JSON-LD, you can replace the existing question in the field h3 =”name” with your own question, and div =”text” within div =”acceptedAnswer” with your own answer to the question.
<div =“mainEntity” =”
https://schema.org/Question”
>
<h3 =“name”>Where are you located?”</h3>
<div =“acceptedAnswer” =”
https://schema.org/Answer”
>
<div =“text”>
Our head office is located in <strong>Sydney</strong>. View our <a href=”
http://example.com/”
>locations page</a> for our full address.
</div>
</div>
</div>
<div =“mainEntity” =”
https://schema.org/Question”
>
<h3 =“name”>My item is faulty, can I return it and get an exchange?</h3>
<div =“acceptedAnswer” =”
https://schema.org/Answer”
>
<div =“text”>
Definitely! We are sorry you have received a faulty item. Fill in our <a href=”
http://example.com/”
>returns form</a> with all the details and our customer service representatives will get back to you within <strong>24 hours</strong>.
</div>
</div>
</div>
Editing JSON-LD, Microdata, or any coding language with basic text editors like Microsoft Word and Windows’ Notepad can call for a tediously painful time. Instead, you can use source code editor programs to help you view, format and edit such complex code in a much more simplistic, orderly fashion. Popular programs include Visual Studio, Eclipse and NetBeans. However, if you’re a beginner we recommend downloading the simple Notepad++.
There are no limits barred on the amount of questions and answers you can include in your code.
However, Google only displays the top 10 questions and answers in the SERP. So, you might want to prioritise the comparatively important ones first if you have over 10 FAQs on your page.

Testing your Schema markup
Visualising SERP previews
If you wrote your schema markup manually, you can test it using Google’s Rich Results Test. By just copying and pasting the example codes from our previous section above, you’ll be able to preview the results on the SERP.
To escalate things further, you can also test how the code would visually display once embedded into your own FAQ page by:
- Going to your FAQ page or product page, right-click anywhere on the page and click on “View Page Source”.
- Copy all the code on this page and paste it into your elected coding software. Or, you can also just paste it into the Notepad app or Microsoft Word if you prefer.
- Open the JSON-LD or Microdata code that you have written, and copy everything within.
- Including the <script type=”application/ld+json”> and </script> fields if using JSON-LD.
- Or, all the <div> and </div> fields if you’re using Microdata.
- Paste your JSON-LD or Microdata code snippets anywhere within the <body> section on the page source code of your FAQ page.
- Copy your page source code (now containing your JSON-LD or Microdata code snippets) and run it through the Google Rich Results Tester to preview the exact rich snippet for your page.
What is an FAQ Schema generator?
An FAQ Schema Generator is a tool designed to help website owners create structured data in the correct format for their FAQ content. This tool produces schema code - typically in JSON-LD format - that you can add to a web page to ensure it is properly marked for search engines like Google.
Using an FAQ schema generator simplifies the process of generating schema markup that complies with Google’s guidelines. Once implemented correctly, this markup can enable FAQ rich results in Google search results, helping improve visibility and engagement.
Some popular tools include:
- SEOStudio FAQ Schema Generator: Creates ready-to-use schema markup for single or multiple pages.
- Saijo George's JSON-LD Generator: Supports various schema types, including FAQ, with a clean interface.
- FAQSchema.com: Allows you to enter Q&As and copy the appropriate schema instantly.
FAQ structured data can also be used to submit alternative answers to common questions, giving users more than one correct answer where relevant, particularly useful on product support pages or help articles.
After generating the schema, always validate it with a schema markup validator to ensure it’s error-free and eligible for indexing in Search Console.
Schema FAQ for WordPress
Implementing FAQ schema on WordPress platforms can be achieved through plugins or manual coding:
- All in One SEO (AIOSEO): This plugin allows users to add FAQ schema without coding, providing a straightforward interface to input questions and answers.
- Rank Math SEO: Offers a dedicated FAQ block for the Gutenberg editor, enabling easy addition of FAQ structured data to your posts and pages.
- Schema Pro: Allows for advanced schema implementation, including FAQs, with options to apply schema to multiple pages or a single page as needed.
For those preferring manual implementation, you can generate the necessary schema code using an FAQ schema generator and insert it into your web page's HTML. Ensure that the FAQ content is visible on the page and that the schema code accurately reflects the questions and answers provided.
FAQ Schema for Shopify
Shopify users can enhance their product support pages and blogs by adding FAQ schema, improving their presence in Google search results:
- StoreFAQ App: This application enables the addition of FAQ sections with corresponding schema markup. Once installed, you can configure the settings to implement schema across multiple pages or specific sections of your site .
- Manual Implementation: For a more hands-on approach, you can generate FAQ schema code and insert it into your Shopify theme's code, such as in the article.liquid or page.liquid files. Ensure that the schema code corresponds accurately to the visible FAQ content on the page.
Regardless of the method chosen, it's essential to validate your schema implementation using Google's Rich Results Test or the Schema Markup Validator to confirm that your FAQ content is properly marked and eligible for enhanced display in search results.

Things to Keep in Mind
Business goals & target achievements
You may now be tempted to implement the FAQ Page markup on all your FAQ and product pages.
But wait!
Just because a rich snippet may make your search results seem more prominent on Google – this doesn’t necessarily ensure driving more traffic to your page as a causality. If you provide too much information within your Q&As, the user may not even need to click on your website to get the answer they want.
Think about your business goals and whether impressions, traffic, conversions, or all the above. Provide the questions and answers for your rich snippet based on your desired achievements.
What we recommend is first testing your FAQ markup on a few (or even one) pages to gauge changes in impressions, traffic and conversions.
Once you have perfected this and achieved your goal(s), you can then start to roll out the markup for any other pages on your website.
Conclusion
Adding FAQ structured data is a smart move for improving your site's visibility and providing clear, helpful answers directly in Google search results. Whether you're working on a product support page or optimising multiple pages, implementing the correct schema can make a real difference.
If you're unsure where to start or have questions, book a chat with our SEO experts and we’ll guide you through it.
Written by
Lewis Torossian