Content Accessibility · Recommended · High impact
FAQ / question-answer schema
Question-and-answer content is the type agents quote most.
- Recommended
- High impact
- Draft standard
| Property | Value |
|---|---|
| Check id | faq-schema |
| Dimension | Content Accessibility (22%) |
| Tier | Recommended — pool 20 pts |
| Weight inside tier | 2 |
| Impact | High |
| Maturity | Draft — A published specification that is not yet ratified. |
| Conditional | No |
| Publishing skill | faq-schema |
| Standards | schema.org/FAQPage |
What is measured
This check declares no probe path, so the scanner works from the JSON-LD of the already fetched homepage / and looks for a FAQPage entity anywhere in the graph. Pass when FAQPage is present and mainEntity is a non-empty array of objects typed Question that each carry a name and an acceptedAnswer typed Answer with non-empty text; partial when FAQPage exists but mainEntity is empty, when an entry is not typed Question, or when a question lacks a typed, non-empty acceptedAnswer; fail when no FAQPage type appears.
Reproduce it yourself
You do not have to take our word for any of this. Run the same measurement against your own domain:
DOMAIN="https://example.com"
curl -sL "$DOMAIN/" | perl -0777 -ne 'while (m{<script[^>]*application/ld\+json[^>]*>(.*?)</script>}gsi) { print "$1\n" }' | jq -r '.. | objects | select((."@type"? | if type == "array" then .[] else . end) == "FAQPage") | .mainEntity[] | [.name, (.acceptedAnswer.text // "NO ANSWER")] | @tsv'
The fix
This is the artifact to ship. It is the complete change, not a description of one.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What does an agent readiness audit measure?",
"acceptedAnswer": {
"@type": "Answer",
"text": "61 checks across discovery, content, bot access, protocol and commerce, each scored and paired with a fix."
}
},
{
"@type": "Question",
"name": "How long does the audit take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Scanning your public pages takes about two minutes; the scored report is generated immediately."
}
}
]
}
</script>
Standards referenced
-
schema.org/FAQPage
Related checks
| Check | Tier | Impact | Same skill |
|---|---|---|---|
markdown-negotiation — Markdown content negotiation | Recommended | Critical | — |
headings — Semantic heading structure | Essential | High | — |
meta — Title and summary metadata | Essential | High | — |
jsonld — JSON-LD structured data | Essential | Critical | — |
breadcrumb — Breadcrumb / navigation schema | Emerging | Low | — |
summary — Prominent summary block | Recommended | Medium | — |
lang — Language declaration and multilingual access | Recommended | Medium | — |
no-js-fallback — Content that needs no JavaScript | Essential | High | — |