In one sentence: an FAQ block is a question paired with a self-contained answer, present in the rendered HTML and mirrored in FAQPage schema — and the failure mode is almost always markup describing content the page does not show.

Why the shape fits so well

An answer engine retrieves passages and needs a question-to-answer mapping. An FAQ block hands it exactly that, pre-segmented, with no inference required. Of all the structured data types available, this is the one whose shape most closely matches what the consumer wants.

The abuse that ruins it

Generating FAQPage markup over content the page never renders. It is tempting: the schema is easy to emit from a data file and the page stays visually clean. But the markup then describes a page that does not exist, and a system comparing markup against rendered content has a reason to discount both.

If the answer is worth marking up, it is worth showing. Schema is a claim about your page; a claim the page contradicts costs more than no claim at all.

The same applies to accordions. A collapsed FAQ is fine — the content is in the HTML and merely hidden with CSS. An FAQ that fetches its answers on click is not; the server-rendered page has the questions and none of the answers.

Writing the answers

  • Self-contained. The answer must survive being cut out. "It depends on your plan" is unusable; "Exports are available on the Pro and Enterprise plans" is not.
  • Name the subject. No pronouns depending on the question above.
  • Two to four sentences. Long enough to be complete, short enough to be lifted whole.
  • Real questions. Take them from your support inbox, your sales calls and your Search Console queries — not from a keyword tool. Question-shaped queries are already arriving: in our own September 2026 data, 181 of 475 impression-producing queries were full questions or seven words or more.
  • Answer the awkward ones. Pricing, limitations, what you do not do. These are the questions buyers actually ask an assistant precisely because vendors avoid them, so the field is empty.

Where to put them

On the page that answers the question, not in a central FAQ page. A pricing question belongs on the pricing page; an integration question on the integration page. A single mega-FAQ collects questions whose answers live nowhere near the context that makes them credible, and it competes with your own pages for the same queries.

How to verify

Extract the JSON-LD the page actually ships and check every question and answer against what a reader sees with JavaScript disabled. Then re-check after template changes, because markup and content diverge silently, and the first sign is usually not an error — it is a slow drop in the pages being cited.