Skip to content
Browse all guides

Issue #200 · standard

Issue 200

What is this issue?

This issue checks whether the paragraph directly beneath each question-format heading opens with a short, self-contained answer.

Answer engines — Google's AI Overviews, ChatGPT search, Perplexity — do not quote whole pages. They lift a passage. The passage they can lift is the one that answers the question in the first breath, without needing the reader to have read anything before it.

A passing implementation answers the question in roughly 40-60 words immediately under the heading, then elaborates underneath. A failing implementation makes the reader (or the model) wade through 120+ words of build-up before the answer appears.

Example: Under "What is the refund policy?", the paragraph "Refunds are issued within 30 days of purchase, no questions asked." passes. A paragraph that opens with three sentences of company history before mentioning refunds fails.

Why does it matter?

The passage is the unit of retrieval, not the page. When an engine decides what to quote for a question, it scores candidate passages. A passage whose first sentence answers the question scores as an answer; the same information buried in paragraph four is scored as context.

Buried answers lose the citation, not just the ranking. The page can rank perfectly well and still never be the text an engine shows, because the extractable answer is not there to extract.

It is the cheapest AEO fix there is. No new content, no schema, no engineering — the answer is usually already in the paragraph, further down. Moving it to the front is an edit.

Readers behave the same way. People scan for the answer under the heading they clicked. Front-loading serves both audiences with one change.

How to fix it

  1. Find the buried answers. PixyScan lists the question headings whose following paragraph runs over 120 words, with the word count for each.

  2. Write the answer first. Directly under the heading, state the answer in one or two sentences — roughly 40-60 words. It must make sense read entirely on its own, with no reference to earlier text ("as mentioned above", "this", "it").

  3. Move the context down. Everything that was in front of the answer — background, caveats, history — goes into the paragraphs beneath.

  4. Repeat the question's language in the answer. "Refunds are issued…" under "What is the refund policy?" gives the engine an unambiguous match between question and answer.

  5. Keep the elaboration. This check does not ask for shorter pages. Depth below the answer is good; depth in front of it is the problem.

Common pitfall: rewriting the opening as a summary of the section rather than an answer to the question. "This section covers our refund policy" is not an answer and cannot be quoted as one.

Examples

Failing

<h2>What is the refund policy?</h2>
<p>
  When we founded the company in 2011, we spent a long time thinking about how
  we wanted to treat customers who were not satisfied… (140 more words, with the
  actual refund window appearing in the final sentence)
</p>

The answer exists. It is not extractable, because the first 120 words are not it.

Passing

<h2>What is the refund policy?</h2>
<p>
  Refunds are issued within 30 days of purchase, no questions asked. Contact
  support with your order number and the amount returns to your original payment
  method within five business days.
</p>
<p>
  We settled on this policy in 2011 because… (the context, now underneath)
</p>

Also passing — short paragraph, no finding

<h2>How do I cancel?</h2>
<p>You can cancel from Settings → Billing at any time.</p>

Not evaluated

<h2>Where is my data stored?</h2>
<div class="prose-wrapper">
  <p>Data is stored in the EU…</p>
</div>

The paragraph is not a sibling of the heading, so PixyScan cannot establish the relationship from static HTML and reports nothing for this heading.

How PixyScan detects this

PixyScan detects this from the HTML your server returns, without executing JavaScript.

  1. Heading scan. Every <h2> and <h3> on the page is read and normalized (whitespace collapsed).

  2. Question identification. A heading counts as a question if it ends in ? or begins with a question word: what, why, how, when, where, who, which, can, could, does, do, is, are, should, will.

  3. Answer paragraph resolution. For each question heading, PixyScan takes the first <p> that follows it in document order, stopping at the next heading so the paragraph is genuinely inside that section.

  4. Length measurement. The paragraph's words are counted. Over 120 words, that heading is recorded as a buried answer.

  5. Reporting. The issue is raised once per page, listing up to five affected headings with their paragraph word counts.

Deliberate limitation — when PixyScan stays silent: if a question heading has no sibling paragraph that a static parse can see (for example the text is wrapped in intervening <div> layers), that heading is skipped rather than reported. Static HTML does not expose the rendered relationship reliably, and guessing there produces false findings on correctly written pages. Ambiguous structure is not treated as a missing answer.

References