Catalog/QAPage schema incomplete (mainEntity Question with an answer)
SEO issue

QAPage schema incomplete: add a Question with an answer

QAPage schema is missing mainEntity, a Question with name and text, or an acceptedAnswer/suggestedAnswer. Find incomplete Q&A markup free and complete it for Google's Q&A rich result. Not the same as deprecated FAQPage.

6
audited sites affected

What it means

This page has QAPage JSON-LD but its mainEntity is incomplete: it must be a Question object carrying name (the question text), text (the question body), and at least one acceptedAnswer or suggestedAnswer whose Answer has a non-empty text. Reported as a notice — an advisory nudge toward the Q&A rich result.

Why it matters

QAPage targets a single user-posted question followed by community answers where others can add alternatives. Complete markup lets Google surface the question and its best answer as an expanded Q&A rich result that occupies more vertical space than a standard listing. The field chain is strict and nested: mainEntity must be a Question, mainEntity.name is the rich-result title, and at least one nested Answer must include full text — a headline without a body will not qualify. Note QAPage is not a replacement for the now-deprecated FAQPage; use it only when users can genuinely submit alternative answers.

How to fix it

  1. Confirm the page is a real Q&A page where users can submit alternative answers; if not, QAPage is the wrong type.
  2. Make mainEntity a Question with name (the question) and text (the body).
  3. Nest at least one acceptedAnswer or suggestedAnswer Answer with a full text value.
  4. Set answerCount to the actual total number of answers on the page.
  5. Add recommended fields (author, datePublished, upvoteCount, answer url) to improve which answer Google displays.
  6. Validate with Google's Rich Results Test.

Example

Before — JSON-LD
{
  "@context": "https://schema.org",
  "@type": "QAPage",
  "mainEntity": {"@type":"Question","name":"How do I reset my router?"}
}
After — JSON-LD
{
  "@context": "https://schema.org",
  "@type": "QAPage",
  "mainEntity": {
    "@type": "Question",
    "name": "How do I reset my router?",
    "text": "My router won't connect after a firmware update. How do I factory reset it?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Hold the recessed reset button for 10 seconds until the lights blink, then reconfigure."
    }
  }
}

mainEntity must be a Question with both name and text, plus an acceptedAnswer or at least one suggestedAnswer. QAPage is for user-generated Q&A, not the deprecated FAQPage.

When it's not a problem

A freshly posted, still-unanswered question is a legitimate state — include mainEntity and answerCount: 0, omit the answer node, and expect the rich result to be suppressed until an answer appears. If an accepted answer is marked as suggestedAnswer (or vice versa), Google accepts either type, so that alone is not a blocker. This rule does not fire for FAQPage markup — see schema.faq_deprecated for that.

How Crawlinx detects it

We resolve the mainEntity structurally: it must be a Question carrying name and text and at least one acceptedAnswer or suggestedAnswer with its own text. A Question without an answer or without text fails the check.

How common is it?

6 audited sites in our corpus currently show this issue. The breakdowns below show which platforms, gatekeepers, verticals and countries are most exposed.

FAQ

What's the difference between QAPage and FAQPage?
QAPage models a single user-asked question with community answers (forum-style). FAQPage was author-written Q&A — Google retired its rich result in 2026. Use QAPage only for genuine user Q&A pages.
Does a QAPage need an accepted answer?
It needs at least one answer — acceptedAnswer or suggestedAnswer. An acceptedAnswer signals the community-chosen best reply; suggestedAnswer entries are the other responses.
Can I have multiple questions on one QAPage?
No. QAPage expects one primary Question as mainEntity. For a page listing many distinct questions, that pattern no longer earns a rich result since FAQPage was deprecated.
Breakdowns

CMS

View breakdown →

Category

View breakdown →

Related
Catalog Article schema missing recommended properties (Top Stories / image carousel) BreadcrumbList present but structurally incomplete Deep page has no BreadcrumbList structured data Comma decimal in schema ratingValue/price (invalid number) Deprecated data-vocabulary.org markup (no rich-result eligibility) Dataset schema incomplete (name/description; Dataset Search only) Deprecated schema type with no Google rich result Event schema missing required properties (name/startDate/location) FAQPage structured data (rich result removed May 2026) Schema describes content not visible on the page Rich-result schema missing required properties JobPosting schema missing required properties LocalBusiness schema missing required properties (name/address) JSON-LD block missing @context or @type No structured data detected Product schema missing required or recommended properties Category CMS Recipe schema missing required properties (name/image) Review schema missing required properties (author/itemReviewed/reviewRating) SoftwareApplication schema incomplete (name/offers-or-rating/recommended) Structured-data date has already passed (stale event/job/offer) VideoObject schema missing required properties (name/thumbnailUrl/uploadDate)

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →