FAQ Schema (FAQPage) is a type of structured data that allows you to display questions and answers directly in Google search results. Proper implementation can significantly increase your page’s visibility and CTR, but Google has introduced important limitations you need to know.
What is FAQ Schema?
FAQPage is a Schema.org type that marks a page containing a list of questions and answers on a specific topic. Google uses this data to display expandable FAQ sections directly in search results (SERP).
What Does an FAQ Rich Result Look Like?
When Google displays an FAQ rich result, users see:
- Page title and description (standard result)
- Expandable questions below the description
- Answers inline when clicking a question
- Option to expand all questions
This format can increase your SERP real estate by 2-3 times!
Important Changes in 2023
In August 2023, Google significantly limited FAQ rich results display:
Before the Change (until August 2023)
- FAQ rich results displayed for all pages
- Very popular way to increase visibility
- Widely used by SEOs
After the Change (from August 2023)
- FAQ rich results only for government and medical pages with high authority
- Regular commercial pages do not receive FAQ snippets
- HowTo rich results also limited
What Does This Mean for Your Site?
- Commercial sites - FAQ Schema is still worth implementing (helps Google understand content), but don’t expect SERP display
- Government sites (.gov) - full FAQ rich results
- Medical sites - potentially FAQ rich results (requires high authority)
- Educational sites - possible FAQ rich results
FAQ Schema Implementation
Despite limitations, FAQ Schema is worth implementing because:
- Helps Google better understand content
- Can influence Featured Snippets
- Prepares the page for potential rich results restoration
- Improves content structure
Basic JSON-LD Implementation
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO (Search Engine Optimization) is the process of optimizing a website to improve its visibility in organic search results on Google and other search engines."
}
},
{
"@type": "Question",
"name": "How much does SEO cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO costs depend on many factors: industry competitiveness, website condition, scope of work. Typical prices range from $500 to $5,000 per month for small and medium businesses."
}
},
{
"@type": "Question",
"name": "How long does SEO take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "First SEO results are typically visible after 3-6 months. Full results and stable rankings are usually achieved after 6-12 months of systematic efforts."
}
}
]
}
HTML to Inject
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Question 1?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Answer to question 1."
}
}
]
}
</script>
Answers with HTML Formatting
Answers can contain basic HTML:
{
"@type": "Question",
"name": "What are the benefits of SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "<p>The main benefits of SEO are:</p><ul><li>Increased organic traffic</li><li>Higher conversions</li><li>Building brand authority</li><li>Long-term results</li></ul><p>Learn more on <a href='https://example.com/seo'>our SEO page</a>.</p>"
}
}
Allowed HTML tags in answers:
<p>- paragraphs<br>- line breaks<ul>,<ol>,<li>- lists<a href="">- links<b>,<strong>- bold<i>,<em>- italic<h2>-<h6>- headings
Google Requirements for FAQ Schema
Content Must Be Visible
FAQ must be visible on the page. You cannot add Schema for content that doesn’t exist in HTML.
<!-- FAQ section on page -->
<section class="faq">
<h2>Frequently Asked Questions</h2>
<div class="faq-item">
<h3>What is SEO?</h3>
<p>SEO is the process of optimization...</p>
</div>
<div class="faq-item">
<h3>How much does SEO cost?</h3>
<p>Cost depends on many factors...</p>
</div>
</section>
<!-- JSON-LD with the same content -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [...]
}
</script>
One FAQPage Per Page
A page can only have one FAQPage type. You can have multiple questions (Question), but one FAQPage container.
Questions Must Be Unique
Don’t duplicate the same questions across multiple pages. Google may consider this spam.
Content Cannot Be Promotional
FAQ cannot be used solely for promotion:
// WRONG - too promotional
{
"@type": "Question",
"name": "Why is our company the best?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We're the best because we have 20 years of experience and hundreds of satisfied customers. Call now!"
}
}
// CORRECT - informational
{
"@type": "Question",
"name": "What to look for when choosing an SEO agency?",
"acceptedAnswer": {
"@type": "Answer",
"text": "When choosing an SEO agency, check: portfolio and case studies, client reviews, transparency of actions, result reporting, and experience in your industry."
}
}
Implementation in Various Technologies
WordPress
Yoast SEO:
- Edit page/post
- Add “Yoast FAQ” block
- Enter questions and answers
- Schema generated automatically
Rank Math:
- Use “FAQ by Rank Math” block
- Or enable Schema in post settings
Manually:
// In functions.php or template
function add_faq_schema() {
$faq_data = array(
'@context' => 'https://schema.org',
'@type' => 'FAQPage',
'mainEntity' => array(
array(
'@type' => 'Question',
'name' => 'Question 1?',
'acceptedAnswer' => array(
'@type' => 'Answer',
'text' => 'Answer 1.'
)
)
)
);
echo '<script type="application/ld+json">' . json_encode($faq_data) . '</script>';
}
add_action('wp_footer', 'add_faq_schema');
React/Next.js
import Head from 'next/head';
const FAQSchema = ({ faqs }) => {
const schema = {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: faqs.map(faq => ({
'@type': 'Question',
name: faq.question,
acceptedAnswer: {
'@type': 'Answer',
text: faq.answer
}
}))
};
return (
<Head>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
</Head>
);
};
// Usage
const faqs = [
{ question: 'Question 1?', answer: 'Answer 1.' },
{ question: 'Question 2?', answer: 'Answer 2.' }
];
<FAQSchema faqs={faqs} />
Astro
---
const faqs = [
{ question: 'Question 1?', answer: 'Answer 1.' },
{ question: 'Question 2?', answer: 'Answer 2.' }
];
const faqSchema = {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: faqs.map(faq => ({
'@type': 'Question',
name: faq.question,
acceptedAnswer: {
'@type': 'Answer',
text: faq.answer
}
}))
};
---
<script type="application/ld+json" set:html={JSON.stringify(faqSchema)} />
<section class="faq">
<h2>FAQ</h2>
{faqs.map(faq => (
<details>
<summary>{faq.question}</summary>
<p>{faq.answer}</p>
</details>
))}
</section>
Testing FAQ Schema
Rich Results Test
- Open Rich Results Test
- Paste page URL or HTML code
- Check if FAQPage is detected
- Review any errors and warnings
Schema Markup Validator
https://validator.schema.org/ - detailed validation for Schema.org specification compliance.
Google Search Console
In GSC, check the Unparsable structured data report for structured data errors.
Alternatives to FAQ Schema
Since FAQ rich results are limited, consider other Schema types:
HowTo Schema
For step-by-step guides:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Create a Google Analytics Account",
"step": [
{
"@type": "HowToStep",
"name": "Go to analytics.google.com",
"text": "Open your browser and go to the Google Analytics website."
},
{
"@type": "HowToStep",
"name": "Click Start measuring",
"text": "On the homepage, click the 'Start measuring' button."
}
]
}
Q&A Schema
For forum-style pages with multiple answers to one question:
{
"@context": "https://schema.org",
"@type": "QAPage",
"mainEntity": {
"@type": "Question",
"name": "How to improve Core Web Vitals?",
"answerCount": 3,
"acceptedAnswer": {
"@type": "Answer",
"text": "Best answer...",
"upvoteCount": 42
},
"suggestedAnswer": [
{
"@type": "Answer",
"text": "Another answer...",
"upvoteCount": 15
}
]
}
}
Best Practices
1. Create Valuable FAQ
Answer real user questions:
- Check “People also ask” in Google
- Analyze queries in Search Console
- Review comments and customer emails
2. Update FAQ Regularly
Outdated answers can hurt:
- Review FAQ quarterly
- Remove outdated questions
- Add new questions based on trends
3. Combine FAQ with Other Schema Types
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebPage",
"name": "SEO Services - Website Positioning",
"description": "..."
},
{
"@type": "FAQPage",
"mainEntity": [...]
},
{
"@type": "Service",
"name": "SEO Services",
"provider": {
"@type": "Organization",
"name": "ACME Digital"
}
}
]
}
4. Avoid Spam
- Maximum 10-15 questions per page
- Each question should be unique
- Answers minimum 50-100 words
Summary
FAQ Schema remains a valuable element of SEO strategy, despite rich results limitations in 2023:
- Rich results limited - mainly for government and medical sites
- Implementation still recommended - helps Google understand content
- Focus on quality - valuable, unique questions and answers
- Testing - Rich Results Test before publication
- Alternatives - consider HowTo, Q&A, and other Schema types
Even without SERP display, FAQ Schema improves content structure and can influence Featured Snippets and AI answers.
Frequently Asked Questions
Does Google still show FAQ rich results in 2026?
Yes, but with limitations. Since August 2023, Google restricted FAQ rich results mainly to government and health websites. For other sites, FAQ Schema still helps Google understand content structure and may influence AI Overviews, though visual expansions in SERPs are less common.
How many questions can I add in FAQ Schema per page?
There is no technical limit, but Google recommends 3-10 questions per page. Too many questions may cause Google to ignore the schema. Questions should be relevant to the page main topic.
How do I verify that FAQ Schema is correctly implemented?
Use the Google Rich Results Test — paste your page URL and check if it detects FAQPage. You can also open DevTools and search for script type="application/ld+json" with @type: FAQPage.
Does FAQ Schema improve Google rankings?
FAQ Schema is not a direct ranking factor. However, it improves SERP visibility (larger search result footprint), which can increase CTR. It also helps Google better understand page content, indirectly supporting rankings.
Sources
-
Google Search Central - FAQ structured data https://developers.google.com/search/docs/appearance/structured-data/faqpage
-
Schema.org - FAQPage https://schema.org/FAQPage
-
Google Search Central Blog - August 2023 update https://developers.google.com/search/blog/2023/08/howto-faq-changes
-
Google Rich Results Test https://search.google.com/test/rich-results
-
Schema.org - Question https://schema.org/Question



