Free Q&A Page Schema Generator

Fill in the facts visible on your page, copy the Q&A Page JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Schema workflow

Use only facts a visitor can verify on the page, then validate the JSON-LD before publishing.

Question

Required by Google. Leave blank to use the number of answers below. If answers are paginated, enter the full total.

Answers

Google needs at least one answer for the Q&A rich result. A question with no answers can still be marked up, with an answer count of 0.

Required

  • Visible Q&A Page content
  • Canonical page URL
  • Clear page owner/publisher
  • Fields that match the visible page

Recommended

  • A representative image when the schema supports it
  • SameAs or related links when visible
  • Validation before publishing

Avoid

  • Adding properties that are not visible
  • Copying example URLs into production
  • Skipping Google and Schema.org validation
Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

QAPage Schema — Q&A Markup for One Question and Its Answers

QAPage markup is for a page with one question followed by answers that users submitted, like a forum thread. Done right, the page is eligible for Google's Q&A rich result.

Generate QAPage JSON-LD

Why Q&A markup goes wrong

  • An FAQ page with several questions is marked up as QAPage. Google says that is an FAQ, not a Q&A page.
  • answerCount is missing, although Google requires it.
  • The newest answer is marked as accepted, but Google says sorting by date must not be used to pick top answers.
  • Comments are marked up as answers, which inflates the answer count.

How SwiftSchema helps

The generator below builds one Question with its answers, as Google requires. You mark which answers are accepted; the rest become suggested answers.

It fills in answerCount from the answers you enter, lets you override it for paginated threads, and warns you when there are no answers.

What is QAPage schema?

Google describes Q&A pages as "web pages that contain data in a question and answer format, which is one question followed by its answers." You mark them up with three schema.org types:

  • QAPage: the page. Google only uses Question markup from pages with QAPage markup, and there must be only one QAPage per page.
  • Question: the one question, nested under the QAPage's mainEntity.
  • Answer: each answer, as an acceptedAnswer or a suggestedAnswer of the Question.

Google says marking up a Q&A page also helps it generate a better snippet, and that content from the answers may appear in the basic result if the rich result isn't shown.

When you can use QAPage

Google's main rule: users must be able to submit answers to the question.

ValidInvalid
A forum page where users can submit answers to a single questionAn FAQ page written by the site itself, with no way for users to submit answers
A product support page where users can submit answers to a single questionA product page where users can submit multiple questions and answers on one page
A how-to guide, blog post, or essay that answers a question

Other guidelines from Google:

  • One question per page. Don't use QAPage for FAQ pages or pages with several questions.
  • Only eligible pages. Don't add QAPage to every page of a forum if some pages aren't questions.
  • Full text. Each Question and Answer must include its entire text.
  • No advertising.
  • Content limits. Obscene, profane, sexually explicit, or graphically violent content, promotion of dangerous or illegal activities, and hateful or harassing language may not be shown as a rich result.

Google also describes a separate case for education sites: a page where a user submitted a homework question and a single answer was provided or selected by in-house experts may be eligible for a Q&A carousel.

For a list of questions your own team wrote, use FAQPage instead.

Required and recommended properties

From Google's Q&A documentation:

Question

PropertyRequired?Notes
nameYesThe short form of the question, such as "How many teaspoons in a cup?"
answerCountYesThe total number of answers, including ones not marked up because of pagination. Use 0 for no answers.
acceptedAnswer or suggestedAnswerAt least oneQuestions without answers aren't eligible for the rich result.
textRecommendedThe full text of the question.
authorRecommendedA Person or Organization, ideally with a url to their profile page.
datePublishedRecommendedWhen the question was posted, in ISO 8601 format.
upvoteCountRecommendedTotal votes. With up and down votes, use the net value (5 up and 2 down is 3).
comment, commentCountRecommendedComments on the question. answerCount plus commentCount should equal all replies.

image, video, dateModified, and digitalSourceType (for AI or bot-written content) are also recommended when they apply.

Answer

PropertyRequired?Notes
textYesThe full text of the answer. If only part is marked up, Google may not show it.
urlRecommendedA link straight to the answer, such as https://example.com/question#answer1. Google strongly recommends it.
authorRecommendedWho wrote the answer, ideally with a profile url.
datePublishedRecommendedWhen it was answered.
upvoteCountRecommendedNet votes on the answer.

Accepted vs. suggested answers

  • acceptedAnswer: a top answer. Google says it "must represent answers that are accepted in some way on your site", such as by the question asker, a moderator, or a voting system. There can be zero or more.
  • suggestedAnswer: every other answer. There can be zero or more.

Google says other ways of sorting answers, such as most recent, must not be used to pick top answers.

Profile pages for authors

Google recommends giving question and answer authors a url that points to their profile page on your site, and marking up that page with ProfilePage structured data.

How to build one here

  1. 01

    Enter the short question, and the full question text from the page.

  2. 02

    Add who asked it, when, and its vote count.

  3. 03

    Add each answer with its full text, author, date, votes, and a link to the answer.

  4. 04

    Tick Accepted for answers chosen by the asker, a moderator, or votes.

  5. 05

    Leave the total answers blank to count the answers you entered, or enter the full total if answers are paginated.

  6. 06

    Copy the JSON-LD into the question page and test it in Google’s Rich Results Test.

The generator covers the question, answers, votes, dates, and authors' names. To add author profile URLs or comments, edit the JSON to match the examples above.

Ready to build the markup?

One question, its answers, and answerCount.

Generate QAPage JSON-LD

Common mistakes

  • Several questions on one page. That's an FAQ. Use FAQPage, or give each question its own page.
  • No answerCount. Google requires it, even when it's 0.
  • Partial answer text. Mark up the whole answer, not a preview.
  • "Accepted" means newest. Only mark answers accepted by the asker, a moderator, or votes.
  • Comments as answers. Use comment and the Comment type.
  • Markup on pages users can't answer. Articles, how-to guides, and staff-written FAQs aren't Q&A pages.

Required properties

  • mainEntity (one Question)
  • mainEntity.name
  • mainEntity.answerCount
  • mainEntity.acceptedAnswer or mainEntity.suggestedAnswer
  • mainEntity.acceptedAnswer.text (and each suggestedAnswer.text)

Recommended properties

  • mainEntity.text
  • mainEntity.author
  • mainEntity.datePublished
  • mainEntity.upvoteCount
  • mainEntity.suggestedAnswer.author
  • mainEntity.suggestedAnswer.datePublished
  • mainEntity.suggestedAnswer.upvoteCount
  • mainEntity.suggestedAnswer.url
  • mainEntity.comment
  • mainEntity.commentCount
Forum question with an accepted answer and a suggested answer
Validate
{
  "@context": "https://schema.org",
  "@type": "QAPage",
  "mainEntity": {
    "@type": "Question",
    "name": "How do I reset the filter light on my dishwasher?",
    "text": "The filter light stays on after I cleaned the filter. Is there a button combination to reset it?",
    "answerCount": 2,
    "upvoteCount": 14,
    "datePublished": "2026-09-12T08:15-05:00",
    "author": {
      "@type": "Person",
      "name": "Dana Reyes",
      "url": "https://forum.example.com/users/dana"
    },
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Hold the Start and Heated Dry buttons together for five seconds until the light blinks twice.",
      "upvoteCount": 31,
      "url": "https://forum.example.com/q/1842#answer-1",
      "datePublished": "2026-09-12T09:02-05:00",
      "author": {
        "@type": "Person",
        "name": "Lee Park",
        "url": "https://forum.example.com/users/lee"
      }
    },
    "suggestedAnswer": {
      "@type": "Answer",
      "text": "On older models, switching the breaker off for a minute also clears the light.",
      "upvoteCount": 6,
      "url": "https://forum.example.com/q/1842#answer-2",
      "datePublished": "2026-09-12T10:40-05:00",
      "author": {
        "@type": "Person",
        "name": "Sam Ito",
        "url": "https://forum.example.com/users/sam"
      }
    }
  }
}
Question with a comment and two suggested answers
Validate
{
  "@context": "https://schema.org",
  "@type": "QAPage",
  "mainEntity": {
    "@type": "Question",
    "name": "Which tent stakes hold best in sand?",
    "text": "Camping on a beach next month. Regular stakes pulled out last time. What works?",
    "answerCount": 2,
    "commentCount": 1,
    "datePublished": "2026-08-03T18:20-07:00",
    "author": {
      "@type": "Person",
      "name": "Ari Cole"
    },
    "comment": {
      "@type": "Comment",
      "text": "How windy does it get there?",
      "author": {
        "@type": "Person",
        "name": "Jo Banks"
      }
    },
    "suggestedAnswer": [
      {
        "@type": "Answer",
        "text": "Use wide sand stakes, or bury a stuff sack filled with sand as a deadman anchor.",
        "upvoteCount": 9,
        "url": "https://outdoors.example.com/q/77#a1",
        "author": {
          "@type": "Person",
          "name": "Mo Grant"
        }
      },
      {
        "@type": "Answer",
        "text": "Snow stakes work well in loose sand too.",
        "upvoteCount": 3,
        "url": "https://outdoors.example.com/q/77#a2",
        "author": {
          "@type": "Person",
          "name": "Kit Lane"
        }
      }
    ]
  }
}
New question with no answers yet
Validate
{
  "@context": "https://schema.org",
  "@type": "QAPage",
  "mainEntity": {
    "@type": "Question",
    "name": "Can I use a 65W charger with a 45W laptop?",
    "text": "My laptop came with a 45W USB-C charger. Is it safe to use my 65W one?",
    "answerCount": 0,
    "datePublished": "2026-10-06T21:05-04:00",
    "author": {
      "@type": "Person",
      "name": "Riley Moss"
    }
  }
}

FAQs

What does Google require for QAPage markup?Show

A QAPage whose mainEntity is exactly one Question, with name (the short question), answerCount, and at least one acceptedAnswer or suggestedAnswer. Each Answer needs its full text.

QAPage or FAQPage?Show

QAPage is for one question where users can submit answers, such as a forum thread. Google says not to use QAPage for an FAQ written by the site itself, or for pages with several questions. Those are FAQ pages.

Do I need an accepted answer?Show

No. Google requires at least one answer, either an acceptedAnswer or a suggestedAnswer. An accepted answer must be accepted in some way on your site, for example by the asker, a moderator, or votes. Sorting by most recent doesn't count.

What should answerCount be?Show

The total number of answers to the question, even if only some are marked up because of pagination. For a question with no answers yet, use 0. Questions without answers aren't eligible for the rich result.

Can a product page with customer questions use QAPage?Show

Not if it has several questions. Google lists a product page where users can submit multiple questions and answers on a single page as an invalid use. A product support page with one question that users answer is valid.

How do I mark up comments?Show

Use the comment property with the Comment type, on the question or on an answer. Google says Answer markup is for answers, not comments, and that answerCount plus commentCount should equal the total number of replies.

Related types

Browse all schema types

References