A page qualifies for QAPage markup when it presents one question and the answers people submitted to it. A page of questions the site wrote and answered itself is an FAQ, and Google's documentation says FAQ pages are not eligible. The rest of this piece is for community managers, forum owners and developers deciding which of their templates, if any, should carry the markup. No rich result is promised by the documentation, so the aim is to describe real pages accurately.
Three tests a page must pass
Test one: one question per page
Google's Q&A structured data documentation (Opens in a new tab) says QAPage is for pages that present a single question followed by its answers, and that only one QAPage definition may appear on a page. A page listing many questions fails here, as does a product page where users submit several separate questions. The documentation adds that a forum where some pages are not questions should not have the markup applied across the whole site.
Test two: users can submit answers
The documentation names two valid examples: a forum page where users submit answers to a single question, and a product support page where users submit answers to a single question. It explicitly rules out FAQ pages, including FAQs written by the site itself with no way for users to submit alternative answers. The test is therefore not "does this page contain a question and an answer?" but "does the page let several people answer one question?"
Test three: not a guide, post or essay
Finally, the documentation excludes how-to guides, blog posts and essays that answer a question. A post titled with a question is still a post, and the Article and FAQ schema guide covers the markup that suits it. Comments below an editorial article do not change the nature of the page.
| Test | Pass | Fail |
|---|---|---|
| One question | Single question as the page focus | Several questions, or a list of questions |
| User answers | People can submit answers; several may exist | Only the site's own answer |
| Page nature | A question page in a community or support area | Guide, blog post, essay, FAQ |
A decision rule to run on every template
Practical suggestion: write the three tests next to each page template your site has and mark each template pass, fail or unclear. Mark unclear ones as no markup until you have clarified them. An unmarked page loses nothing the documentation promises, while a wrongly marked page misdescribes your content.
What the markup describes
The required structure
Per the documentation, QAPage requires mainEntity, which holds a Question. The Question needs answerCount (an integer, 0 if there are no answers), name (the short form of the question) and at least one of acceptedAnswer or suggestedAnswer for rich result eligibility. Each Answer needs text, the full answer text.
The recommended fields
Recommended on Question: author, author.url, comment, commentCount, dateModified, datePublished, digitalSourceType, image, text, upvoteCount and video. Recommended on Answer: the same family plus url, which the page strongly recommends providing for each answer. A Comment needs text and may carry author, dates, nested comments, image or video.
| Type | Required | Recommended |
|---|---|---|
| QAPage | mainEntity | None listed |
| Question | answerCount, name, and an accepted or suggested answer | author, author.url, comment, commentCount, dateModified, datePublished, digitalSourceType, image, text, upvoteCount, video |
| Answer | text | author, author.url, comment, commentCount, dateModified, datePublished, digitalSourceType, image, upvoteCount, url, video |
| Comment | text | author, author.url, comment, commentCount, dateModified, datePublished, digitalSourceType, image, video |
For dates the page uses datePublished and dateModified; it does not list dateCreated.
Accepted versus suggested answers
The documentation says acceptedAnswer must reflect an answer accepted on your site, whether by the asker, a moderator or a voting system. Sorting answers by most recent does not make one accepted. When nobody has been accepted, list the answers as suggestedAnswer. This keeps the markup honest: the page claims acceptance only where the site itself records it.
| Situation on the page | What to mark |
|---|---|
| No answers yet | answerCount 0; the page is not eligible for a rich result without an answer |
| Answers exist, none accepted | suggestedAnswer for each |
| Asker or moderator accepted one | acceptedAnswer for that one, suggestedAnswer for the rest |
| Answers sorted by newest only | No acceptance; sorting does not count |
Answers and comments are different things
The Answer type is for answers only; comments on a question or an answer use Comment. A reply such as "thanks, that fixed it" is a comment, while the text that solves the problem is an answer. For the markup to separate them, your database must record the difference.
Votes, full text and what to avoid
Provide upvoteCount only for numbers the page actually shows. The documentation asks for the full text of the question and each answer. It says not to use the markup for advertising, and it notes that obscene, harmful or hateful content may not display as a rich result. It also mentions that education Q&A pages with a single expert-selected answer may be eligible for a Q&A carousel.
Why FAQs and posts do not fit
FAQ versus QAPage side by side
The distinction comes down to who answers and how many questions the page holds.
| Feature | FAQ page | QAPage |
|---|---|---|
| Who writes questions | The site | A user or community member |
| Who writes answers | The site | Users, possibly several |
| Questions per page | Several | One |
| Eligible under the documentation | No | Yes, if the other rules are met |
If your own help page lists questions in a section titled with the word FAQ, it is an FAQ whatever the template is called. The way out is not to relabel it but to leave it unmarked for QAPage.
Product pages with customer questions
The documentation excludes product pages where users submit multiple questions. If each question could live on its own page where users answer it, that individual page may qualify; the combined product page does not. Practical suggestion: when in doubt, leave the product page unmarked, since a wrong description is worse than none.
Example scenario: a language-learning Q&A site
Example scenario: a site for language learners lets members ask things like "when do I use the subjunctive after this verb?" Each question has its own address, members post answers, and the asker can mark one as the solution. The question pages carry QAPage markup, the marked solution becomes acceptedAnswer, and other answers are suggestedAnswer. The same site has a "Frequently asked questions" page about subscriptions that the company wrote, so no markup is added there. Weekly grammar articles written by staff are Articles. The index of recent questions is a plain list with no QAPage definition.
Spam, links and thin pages in answer areas
Open answers are an open channel
Wherever users can post, the user-generated spam described in Google's spam policies (Opens in a new tab) can follow. The page defines it as spammy content added to a site by users through a channel intended for user content, and lists spammy posts on forum threads among its examples. Because the full text of answers belongs in the markup, spam you leave published also ends up in the data. Moderation, rejection rules and link attributes therefore belong with this markup work; dofollow, nofollow, sponsored and ugc links explains the link qualifiers.
Links inside answers
The same spam policy page lists forum comments with optimized links in the post or signature as link spam. Practical suggestion: qualify outside links in answers as user-generated, reject answers that only exist to promote something, and do not accept as the solution an answer that consists mainly of a link. For the safe and ethical side of community links see forum and community backlinks, and for how comment links are weighed from the poster's side, blog comment and profile links.
Questions that never get answered
A question with no answers is allowed to carry answerCount 0 but cannot yield a rich result. The documentation gives no guidance about indexing such pages. A practical suggestion is to keep very short unanswered questions out of the sitemap or mark them noindex until they gain substance. Detection methods for weak pages are in thin content: how to find and fix it.
Data model and template design
Keep questions, answers, comments and acceptance apart
To produce correct markup the database needs separate records for questions, answers and comments, and the acceptance information has to be a real state stored with the answer: who accepted it, how and when. Practical suggestion: expose acceptance in the visible interface as well, so that what the markup claims is what a visitor sees.
| Property | Source on your site | Note |
|---|---|---|
| Question.name | Question title | Short form |
| Question.text | Question body | Recommended |
| Question.answerCount | Number of answers | 0 if none |
| acceptedAnswer | Answer accepted by asker, moderator or voting | Sorting is not acceptance |
| suggestedAnswer | Every other answer | Several allowed |
| Answer.text | Full answer | Required |
| Answer.url | Permanent address of the answer | Strongly recommended |
| upvoteCount | Votes shown on page | Only displayed numbers |
Long answer lists
The documentation has no specific rule for questions with many answers split across pages. Practical suggestion: a design where all answers live at one address makes it easiest to keep the markup consistent with what the page shows. If you paginate answers, avoid marking up answers that are not on the page being served.
Mixed sites: one template, many page types
A site may run both staff-written help articles and a user community under one domain. Help articles are guides and do not qualify; individual community question pages may. The template needs a page-type switch so the markup appears only where the tests pass. The failure to watch for is one global template stamping QAPage on everything.
Example scenario: a hardware vendor with help center and community
Example scenario: a router manufacturer publishes setup articles written by its support team and runs a community where owners ask about connection drops. The developer adds a page-type field. Articles are marked as Article. Community question pages get QAPage, with the owner-accepted reply as acceptedAnswer. The community home page and tag pages have no QAPage definition. The company's "Frequently Asked Questions" page about warranty stays unmarked for QAPage because the company wrote it and users cannot submit alternatives.
Validation and rollout
The documented steps
The documentation advises testing with the Rich Results Test and fixing critical errors, deploying a few pages and checking them with the URL Inspection tool, making sure pages are not blocked by robots.txt, noindex or login requirements, allowing several days for crawling, submitting a sitemap and keeping it updated, then monitoring the rich result status report in Search Console, particularly after template changes. Menu and report names can differ if your Search Console is not set to English.
- Confirm the page really has one question and user answers.
- Build Question with answerCount, name and at least one answer.
- Include the full text of the question and every answer shown.
- Set acceptedAnswer only from a real acceptance record.
- Keep Answer and Comment separate.
- Run the Rich Results Test and clear critical errors.
- Inspect a few live pages.
- Watch the report after each template change.
Audit table
| Check | Why |
|---|---|
| One question on the page | One QAPage definition per page |
| Users can submit answers | FAQ pages are not eligible |
| Full text of question and answers | Documentation content guidelines |
| Acceptance from a real record | Sorting by newest is not acceptance |
| Answers and comments separated | Answer type is for answers only |
| Page open to crawlers | No robots.txt block, noindex or login wall |
| No advertising use | Stated in the documentation |
| Moderation active | User-generated spam is a listed spam type |
Common mistakes
- Marking the company's own FAQ as QAPage.
- Putting several questions or several QAPage definitions on one page.
- Marking the newest answer as accepted.
- Marking comments as answers.
- Applying one global template to every page in a mixed site.
- Adding QAPage to a list of questions.
- Trimming answer text in the markup.
Expectations
The documentation says Google does not guarantee that features consuming structured data will show up, and it points to the general structured data guidelines for common reasons a result may not appear. It describes no other recent change to availability. Treat the markup as a factual description of qualifying pages. Rules in Google's documentation can change; check the current page before implementing.
Do not build a community just for the markup
Opening a Q&A section only to qualify for this markup creates moderation work and thin-page risk with no guarantee in return. Practical suggestion: open one only if users already ask questions you cannot answer one by one, someone will answer them, and someone will moderate. If those conditions are unclear, postpone.
Edge cases that break the markup
Edited, deleted and merged content
Live Q&A areas change constantly, and each change can leave the markup out of step with the page. When an answer is edited, the answer text and dateModified should both change. When a moderator deletes an answer, it should disappear from the markup as well, and answerCount should drop accordingly. When two questions are merged as duplicates, one page should survive with a single QAPage definition, and the other address should redirect or be handled according to your own policy. The documentation does not describe merging, so treat these as practical suggestions grounded in its rule that the markup reflects what the page shows.
| Event | What should change in the markup |
|---|---|
| Answer edited | Answer text and dateModified |
| Answer deleted | Answer removed, answerCount lowered |
| Answer accepted | That answer moves to acceptedAnswer |
| Acceptance withdrawn | Answer returns to suggestedAnswer |
| Question closed as duplicate | Decide on a single surviving page; do not keep two definitions for one question |
| Question locked | No markup change needed unless content changes |
Cached pages
If your pages are cached, markup can lag behind the visible content. A cached page that still shows a withdrawn acceptance or a removed answer in its data describes something that no longer exists. Tie cache clearing to answer events such as posting, editing, accepting and deleting.
Answers from automated tools
The recommended digitalSourceType property lets you declare content that comes from a language model or a bot. If your community allows or runs assisted answers, declare them. Leaving the property out means the content is assumed to be human-generated, which would be inaccurate for an automated reply. Whether to allow such answers at all is a community policy decision outside the documentation.
Running the area day to day
Roles and responsibilities
| Role | Duties |
|---|---|
| Community manager | Defines which areas are question pages, sets moderation policy, decides on acceptance rules |
| Moderators | Review new answers, remove spam, handle reports |
| Developer | Maintains the page-type switch, field mapping and cache rules |
| QA reviewer | Validates templates and compares markup with visible content after each change |
On a small site one person may wear all four hats. Writing the duties down still keeps decisions consistent, and it makes the weekly check easy to hand over.
Acceptance rules you should write down
Because the documentation lets acceptance come from the asker, a moderator or a voting system, your site should choose which of these it uses and say so in its community rules. Practical suggestion: when only the asker can accept, state what happens if the asker never returns; when voting decides, state the threshold you use. The threshold is yours to set, since the documentation gives none. Whatever the rule, the markup should mirror the state recorded by that rule.
Weekly checklist
- Review new answers and clear spam before it sits on a question page.
- Open three recent question pages and compare markup with visible content.
- Check that acceptance badges and acceptedAnswer agree.
- Look for pages whose answerCount does not match the visible number of answers.
- Scan the Search Console rich result report for new invalid items after any template deployment.
- Review unanswered questions and decide what to do with those that stay empty.
Example scenario: a pet owners' help forum
Example scenario: a forum for pet owners lets members ask about feeding routines and vet visits. A member asks how often to brush a long-haired cat. Four members answer, and the asker accepts one. Two days later a moderator removes a promotional answer. The developer's template handles both events: the accepted answer is acceptedAnswer, the other three are suggestedAnswer, and after the removal answerCount drops from five to four and the promotional text leaves the markup. The weekly reviewer opens the page, sees four answers and a marked solution, and finds the data matches.
Reading the validation results
What a clean test tells you
A passing Rich Results Test tells you the syntax is acceptable. It does not tell you the page is eligible in principle, that content quality is adequate, or that a feature will appear. Spammy content or spammy markup can cause problems the test will not detect. That makes the manual comparison of markup against visible content the most valuable check you can run.
What to do when invalid items appear after a release
If the rich result status report shows a jump in invalid items after a template change, compare the new template with the previous version, look at one failing page and read the specific error. Practical suggestion: revert only the markup change, not the whole release, if it is clearly the cause, then reintroduce it with a fix. Take the time to find out whether the error affects every page or only unusual cases, such as questions with no answers or answers with images.
Frequently Asked Questions
Can I mark up my company's FAQ page with QAPage?
No. Google's documentation says FAQ pages are not eligible, including FAQs written by the site itself with no way for users to submit alternative answers. Pages with multiple questions are also ineligible.
Can one page have several QAPage blocks?
The documentation requires exactly one QAPage definition per page, centered on a single question and its answers. If a page covers several questions, give each its own page or leave the page unmarked.
What makes an answer the accepted answer?
Per the documentation, acceptedAnswer should reflect an answer accepted on your site by the asker, a moderator or a voting system. Sorting by most recent does not qualify.
Does a question with no answers get a rich result?
The documentation sets answerCount to 0 when there are no answers but requires at least one accepted or suggested answer for rich result eligibility.
Is a blog post that answers a question eligible?
No. The documentation excludes how-to guides, blog posts and essays that answer a question. Comments under an editorial post do not change that.
Will QAPage markup get me a special search appearance?
Google does not guarantee it. The documentation says features consuming structured data may not appear, so use the markup to describe qualifying pages accurately.
Conclusion
QAPage belongs to pages with one question and answers submitted by users. Your own FAQ, a guide, a blog post or a page with several questions does not qualify. Build the required core, mark acceptance only from a real record, keep answers and comments separate, and moderate the area. Classify templates first, validate one, publish a small sample and watch the reports. Rich results are not promised and the rules can change.
If you also want links from outside your own community pages, the backlink packages are one option to consider.
Post a comment
Please log in to leave a comment. Login