QAPage Schema

How to implement QAPage schema for community Q&A pages, how it differs from FAQPage and DiscussionForumPosting, its required and recommended properties, and why — unlike FAQPage — it's still an active Google rich result in 2026.

First published: Jul 1, 2026 · Last updated: Jul 20, 2026 · Advanced
demand #24 in Structured Data#53 in On-Page#243 in Technical SEO#330 on the site

QAPage schema (schema.org/QAPage) is structured data for a page built around a single question with community-submitted answers — a forum's solved thread, a Stack Overflow page, a product-support Q&A — so Google can show it as a Q&A rich result. The freshest thing worth knowing in 2026: unlike FAQPage (deprecated May 7, 2026) and HowTo (removed by 2024), QAPage's docs carry no deprecation notice and it remains an active, supported rich result. The load-bearing distinction is authorship: FAQPage is a site-owner-authored fixed list; QAPage is a single question with answers submitted by different community members. It's built as a QAPage whose mainEntity is one Question, requiring name, answerCount, and at least one of acceptedAnswer or suggestedAnswer, with each Answer needing text (upvoteCount and a strongly-recommended url are the fields most guides underweight). Google frames QAPage as a special case of a discussion forum — 'is your forum primarily Q&A?' is its own dividing line against DiscussionForumPosting. Don't blanket-apply the template across every thread, don't mark up FAQ pages as QAPage, and don't dress up self-answered content as community Q&A. Valid markup only makes a page eligible; Google still decides whether to show the result.

TL;DR — schema.org/QAPage markup (JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.) makes a page eligible for Google’s Q&A rich result. It’s a QAPage whose mainEntity is a single Question (required: name, answerCount, and at least one of acceptedAnswer / suggestedAnswer); each Answer requires text, with upvoteCount and a strongly recommended url the fields most guides underweight. The distinction from FAQPage is authorship — FAQPage is a site-owner-authored fixed list, QAPage is one question with community-submitted answers. Google frames QAPage as a special case of DiscussionForumPosting: “Does your forum follow a question and answer pattern? Use Q&A markup instead.” Don’t blanket- apply it across every thread, don’t dress up self-answered content as community Q&A, and keep Answer distinct from Comment. The 2026 headline: unlike FAQPage (deprecated May 7, 2026) and HowTo (gone by 2024), QAPage carries no deprecation notice and remains active. Valid markup earns eligibility; Google still decides whether to show the result.

Evidence for this claim Schema.org QAPage represents a page focused on one question and its answers. Scope: Schema.org QAPage vocabulary. Confidence: high · Verified: Schema.org: QAPage Evidence for this claim Google's Q&A feature is for pages where users can submit answers to a single question; FAQ and publisher-authored answer pages are not eligible under QAPage guidance. Scope: Current Google Q&A structured-data requirements and content scope. Confidence: high · Verified: Google Search Central: Q&A structured data

Why QAPage still matters in 2026 — the FAQPage deprecation didn’t touch it

Start here, because it’s the freshest and most misunderstood point. Google has been retiring Q&A-adjacent rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show.:

  • HowTo — restricted to desktop-only in 2023, then fully deprecated in 2024.
  • FAQPage — Google added a deprecation notice to the FAQPage docs on May 7, 2026, and FAQ rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. stopped appearing in Search that day. Per Search Engine Journal’s coverage, the rollout is phased: rich results stopped May 7, 2026; Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s FAQ search-appearance filter, rich result report, and Rich Results Test support are removed in June 2026; and Search Console APIA set of REST APIs that let you programmatically read and manage Google Search Console data for properties you've verified — Performance data, URL index status, sitemaps, and properties — authorized with OAuth 2.0. support for FAQ data goes in August 2026.

QAPage was not swept up in either change. As of this research (mid-2026), the QAPage docs carry no deprecation banner, warning, or “Note:” callout — it’s still documented as a distinct, supported rich-result type. That contrast is the single most differentiated thing I can tell you about QAPage right now: FAQPage is dead, QAPage is not, and the reason one dying doesn’t threaten the other is that they cover genuinely different content (more on that next). If anything, Google has kept iterating on QAPage rather than abandoning it — around October 2021 it removed the author requirement from suggestedAnswer, which is the opposite of a spec left to rot.

I’ll add the honest caveat: nobody at Google has publicly guaranteed QAPage’s future, and I couldn’t find a named Google rep (Mueller, Illyes, Sullivan) on record specifically about QAPage in this research. The evidence that it’s healthy is the documentation status and the ongoing maintenance, not a promise. “Google hasn’t had to publicly walk QAPage back the way it did FAQPage” is a fair read of the situation.

QAPage vs. FAQPage: the real distinction is who answers

The number of questions on the page is a red herring. The distinction is authorship:

  • FAQPage = the site owner authoring a fixed list of question/answer pairs — their own content, their own answers.
  • QAPage = a single question with answers submitted by different community members, potentially many answers to the one question.

Google’s eligibility language makes “user-submitted” the load-bearing phrase. The QAPage docs name the valid cases explicitly — “a forum page where users can submit answers to a single question” and “a product support page where users can submit answers to a single question” — and name the invalid ones just as explicitly: FAQ pages with no user-submission capability, pages with multiple questions, how-to guides, and blog posts. Practically, the test isn’t just who happens to have answered so far — it’s whether the page structurally lets different users submit alternative answers. A support thread where you, the site owner, wrote every reply that exists today still fits QAPage if other users can add competing answers to it; a page where only you can ever answer does not, no matter how it’s currently worded. So the temptation to relabel your own FAQ as QAPage to sidestep the FAQPage deprecation doesn’t work — it’s the exact content type QAPage forbids.

QAPage vs. DiscussionForumPosting: Google’s own dividing line

Authorship and page shape choose the type; QAPage is the active one-question community pattern. Source: Patrick Stox

If the site owner writes a fixed list of questions and answers, use FAQPage, whose Google rich result is retired. If a community submits answers to one question, use QAPage, which remains active. If a community is holding a general discussion rather than following a one-question answer pattern, use DiscussionForumPosting, which is also active. Do not relabel an owner-authored FAQ as community Q&A.

© Patrick Stox LLC · CC BY 4.0 ·

If you run a forum, you’ve got a second, subtler decision: is a given thread a Q&A page or a discussion? Google answers this directly in its Discussion Forum docs: “Note that for most of Google’s use cases, a Q&A page is considered a special case of a discussion forum page. If the structure of the forum website is primarily questions with answers, we recommend that you use Q&A markup instead. If the structure is more general and isn’t usually question and answer content, DiscussionForumPosting would be a better choice.” The same doc gives the practical one-line test: “Does your forum follow a question and answer pattern? Use Q&A markup instead.”

So the mental model is a hierarchy: DiscussionForumPosting is the general case, and QAPage is the special case you reach for only when the structure is genuinely one question plus answers. A Reddit AMA-style “ask me anything” thread leans Q&A; a general subreddit comment thread is discussion, and belongs under DiscussionForumPosting.

Answer vs. Comment — a distinction Google actually draws

Inside a QAPage, not every reply is an Answer. Google separates:

  • Answer — a genuine answer to the question. These are what acceptedAnswer and suggestedAnswer point at.
  • Comment — a clarifying remark on the question or on an existing answer. Google documents Comment as an optional type and is explicit that it is not the same as an Answer.

Marking every comment on an answer as another Answer inflates your answer count and misrepresents the page — and content-mismatch is exactly the kind of thing that attracts a structured-data manual action (below). Google’s properties mirror this split: answerCount counts answers, commentCount counts comments, and both are recommended on the Question (and on individual Answer/Comment objects) so the two totals can be reconciled separately rather than lumped into one number.

The structure is three nested types: a QAPage, its mainEntity (one Question), and the Answer(s) hanging off that question.

QAPage level

PropertyStatusNotes
mainEntityRequiredMust be a single Question

Question level (mainEntity)

PropertyStatusNotes
nameRequired”The full text of the question in its short form” — the question title
answerCountRequiredTotal number of answers; 0 represents an unanswered question, but that question isn’t eligible for the rich result until it has at least one acceptedAnswer or suggestedAnswer
acceptedAnswerRequired (one of)An Answer marked as accepted; can repeat
suggestedAnswerRequired (one of)An Answer not marked accepted; can repeat, and can coexist with acceptedAnswer
author, author.urlRecommendedWho asked; Google recommends marking up the author’s own page with ProfilePage structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. to help uniquely identify them
textRecommendedLonger-form body of the question
upvoteCountRecommendedNet votes on the question
datePublished / dateModifiedRecommendedWhen asked / last edited
comment, commentCountRecommendedClarifying Comments on the question, and how many exist

Answer level (acceptedAnswer / suggestedAnswer)

PropertyStatusNotes
textRequiredThe complete answer content
urlStrongly recommendedAnchor link to the specific answer on the page — matters on long threads
upvoteCountRecommendedVotes on the answer
author, author.urlRecommendedWho answered; same ProfilePage recommendation as the question’s author
datePublishedRecommendedWhen answered
comment, commentCountRecommendedClarifying Comments on this answer, and how many exist

Three things most implementation guides get wrong or blur together. First, separate the valid-representation rule from the eligibility rule: answerCount: 0 is a legitimate way to represent a question nobody has answered yet, but Google’s docs are explicit that “questions without answers aren’t eligible for the rich result” — 0 is valid markup, not valid eligibility. Second, acceptedAnswer and suggestedAnswer are not mutually exclusive — “one of” means you need at least one, not only one. A real page commonly has both an accepted answer and several suggested ones, and each property can repeat (Google’s tables allow “zero or more” of each). Don’t read the requirement as forcing a choice between them. Third, Answer.url is strongly recommended for a reason: on a page with dozens of answers, it lets Google (and users) deep-link straight to a specific answer rather than the top of the thread. If you template QAPage and skip the answer anchors, you’re leaving that on the table.

Author identity. Beyond naming who asked or answered, Google recommends pointing author.url at that person’s own page and marking that page up with ProfilePage structured data, so the identity is unambiguous. Like every other recommended property here, this is a recommendation, not a guarantee — it doesn’t promise a ranking or display effect, only that Google has an easier time resolving who’s who.

Content policies and what gets a page disqualified

Valid markup isn’t the whole bar. The QAPage docs and Google’s general structured-data rules add content constraints:

  • Not for FAQ pages, and not for multiple-questions-per-page. One question per QAPage. A page listing several distinct questions doesn’t qualify.
  • Don’t blanket-apply across every thread. The docs are explicit: “Don’t apply QAPage markup to all pages on a site or forum if not all the content is eligible.” This is the trap for forum software — dropping the same schema block on every thread URL regardless of whether that thread is actually a one-question, community-answered page. Template it conditionally, only where the page fits.
  • Content-visibility parity. The question and answer text in your markup must match what a human visitor sees. This is the same rule every Google rich result carries, applied here.
  • Prohibited content. Obscene, sexually explicit, graphically violent, or hateful language makes the page ineligible even if the markup is technically valid.
  • Manual actions. Google’s troubleshooting note: “If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results).” The most common real-world trigger for a Q&A-type structured-data manual action isn’t QAPage-specific — it’s the general “don’t mark up content a user can’t see” rule applied to this type (for example, marking up answers that aren’t actually on the page, or inflating Answer with Comment content).

And the eligibility-vs-display point that applies to all structured data: QAPage doesn’t guarantee a rich result or a ranking boost. It isn’t a ranking factor; it makes a page eligible for the Q&A rich result, and Google still decides whether to show it.

How real platforms implement it

The cleanest real-world proof point is Discourse, the open-source forum platform. When Discourse’s team discussed adopting Google’s then-new markup for its discourse-solved plugin (the “mark this reply as the solution” feature), founder Sam Saffron argued for QAPage as the right fit — a major forum-software maintainer deliberately choosing QAPage over the alternatives for “solved” threads. That maps QAPage’s structure onto a familiar feature: the solved reply becomes the acceptedAnswer, the other replies become suggestedAnswers, and the vote counts become upvoteCount. If you’re building or configuring forum software, that’s the pattern — wire the markup to the “accepted answer” mechanism you already have, and emit it only on threads that genuinely follow the Q&A pattern.

QAPage and Education Q&A: not the same feature

One quick disambiguation, because the names collide. Google separately documents Education Q&A structured data — a Quiz + Question + Answer markup (with eduQuestionType: Flashcard) that powers a flashcard-style carousel for educational topics. It’s a different feature with a different appearance. Its own docs point single-question community pages back to QAPage: if your page is one question followed by several user-submitted answers, use QAPage — not Education Q&A.

Validating and testing your markup

Test QAPage markup with the Rich Results Test (which reports Q&A eligibility) and the schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. Schema Markup Validator (for pure syntax). A sane workflow: add the properties → check them against the QAPage guidelines → deploy as JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. → validate. Then, once live, watch Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. for structured-data errors and confirm the enhancement actually appears — remembering that eligibility isn’t a guarantee of display.

A note on Bing

I looked for Bing-specific QAPage documentation and didn’t find any. Bing WebmasterMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. Tools documents general JSON-LD/Microdata/RDFa structured-data support and offers a Schema MarkupSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. Validator, but nothing QAPage-specific surfaced. So the honest statement is: Google is the engine with dedicated QAPage guidance and a documented Q&A rich result; Bing’s support here is comparatively undocumented. That’s a gap in what Bing has published, not a claim about how Bing — or any other system that reads schema.org markup — actually parses or displays it. Valid, schema.org-compliant markup doesn’t establish that a particular non-Google consumer uses the type; if you need to know how Bing (or anything else) treats it, that has to be verified directly against Bing’s own results, not inferred from the markup being technically valid.

Where this sits

QAPage lives in the Social & Community corner of structured data, alongside its siblings FAQPage schemaFAQPage schema (schema.org/FAQPage) is structured data for a page's frequently-asked-questions content. It used to make pages eligible for an expandable FAQ rich result in Google Search, but Google fully removed that rich result on May 7, 2026 — the markup itself stays valid schema.org vocabulary, Google says it still reads it for understanding, and Bing has announced no equivalent removal. and DiscussionForumPosting schemaDiscussionForumPosting schema (schema.org/DiscussionForumPosting) is structured data for genuinely user-generated forum and community posts, so Google can identify online discussions and consider them for the Discussions and forums and Perspectives features. It requires author, datePublished, and one of text/image/video. — the three you’ll weigh against each other constantly. For the broader vocabulary and where QAPage fits, see the Structured Data and Schema Markup hubs this article nests under.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.