Use when adding FAQ sections to landing pages or blog posts, generating FAQPage JSON-LD from existing Q&A content, or validating that structured data on pages with FAQ sections is syntactically and semantically correct.
74
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Valid FAQPage structured data can generate rich results in Google Search, displaying expandable question-and-answer pairs directly in the SERP. This increases click-through rate and SERP real estate without requiring a higher ranking position.
FAQPage JSON-LD with mainEntity question/answer pairs to pages that contain FAQ sectionsQuestion must include acceptedAnswer with an Answer type containing the text propertyCheck pages that contain FAQ or Q&A sections. For each: (1) Is there a <script type="application/ld+json"> block with "@type": "FAQPage"? (2) Does it include a mainEntity array of Question objects? (3) Does each Question have a name (the question text) and an acceptedAnswer with "@type": "Answer" and a text property? (4) Does the schema content match what is visible on the page?
<head> or <body>:{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How do I reset my password?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Click 'Forgot password' on the login page and enter your email address. You will receive a reset link within 5 minutes."
}
}
]
}FAQPage structured data enables Google to display expandable Q&A pairs directly in search results as a rich result. This increases the page's visible footprint in the SERP and can improve click-through rate. Invalid or mismatched schema (questions in markup not visible on page) will cause Google to ignore it and may trigger a manual action.
Parse all <script type="application/ld+json"> blocks. Find any with "@type": "FAQPage". Validate that mainEntity is an array, each item has "@type": "Question", name is a non-empty string, and acceptedAnswer is an object with "@type": "Answer" and a non-empty text. Cross-reference each question in the schema against visible question elements on the page.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
48405aa
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.