A rich-results test on one post returned something unexpected: no FAQPage schema, despite a clearly formatted question-and-answer section sitting right there in the rendered page. The FAQ content was real. The schema describing it to search engines and AI systems simply did not exist. Finding out why led to a one-word bug, a one-line fix, and a decision to verify that fix against all 836 posts on the site rather than trust a sample.
The Missing Schema Nobody Noticed
A page can render a perfectly normal-looking FAQ section and still emit zero FAQPage structured data, because most automated schema generators do not read the content the way a person does. They pattern-match against the heading text, and a heading that does not match the expected pattern produces no schema at all, silently, with no error and no visual difference on the page itself.
That is exactly what happened here. The post in question used the heading “FAQ:” above a set of clearly formatted questions and answers, in the same visual style as dozens of other posts on the same site that did generate FAQPage schema correctly. Nothing about the rendered page signaled a problem. The only way the gap surfaced at all was running that specific post through a schema validator during an unrelated audit and noticing the FAQPage type simply was not present in the output.
Why the Bug Existed in the First Place
The schema generator on this site decided whether to emit FAQPage markup by checking whether a heading’s text matched the literal phrase “frequently asked questions.” That is a narrow, deliberate design choice, not sloppiness: matching on exact heading text avoids the much worse failure mode of a generator that fires on any question-shaped content and wraps unrelated sections in FAQ schema they were never meant to have.
The narrowness that protects against false positives is the same narrowness that produces false negatives. A meaningful share of a large, multi-year blog’s posts used shorter or differently worded headings above their FAQ sections, “FAQ:”, “Common Questions,” “Quick Answers,” each one a legitimate way to introduce the same kind of content a human reader would immediately recognize as an FAQ. The generator recognized none of them.
The One-Line Fix, and Why “One Line” Is the Dangerous Part
The actual fix was a one-line regex widen: broadening the heading-text match from the single literal phrase to a small set of accepted variants, including the abbreviated “FAQ” form, while keeping the match anchored tightly enough that it still would not fire on an unrelated heading that happened to share a word.
A one-line fix is exactly the kind of change that invites shipping it on the strength of “it fixed the post I was looking at.” That instinct is the actual risk here, not the fix itself. A text-matching pattern widened without care can start matching headings it was never meant to touch, silently generating FAQPage schema on a section that is not actually a question-and-answer list, which describes the page incorrectly to every system reading that markup. Getting the widen right meant testing it against both directions of failure: confirming it now caught the previously missed headings, and confirming it did not newly catch anything it shouldn’t.
Verifying Against the Full Corpus, Not a Sample
Confirming a text-matching fix on the ten or twenty posts that prompted the investigation would have answered whether those specific posts were fixed. It would not have answered whether the same fix quietly broke something elsewhere, on a post nobody was looking at during this pass. The only way to know that is checking every post the pattern could possibly touch, which meant running the updated detection logic against all 836 posts on the site rather than a sample.
The full-corpus pass found zero false positives: no post picked up FAQPage schema it should not have as a result of the widened pattern. It also confirmed the actual scope of the original bug, a small number of posts across the site’s history that had been silently shipping without FAQ schema despite carrying genuinely valid FAQ content. A sample of twenty posts would have fixed the posts already suspected of a problem and left the actual size of the gap, and the confidence that nothing new had broken, both unknown.
What This Says About Automated Schema Generation Generally
The value of a periodic full-corpus check is not specific to FAQ schema. Any schema generator that decides what to emit by pattern-matching on heading text, class names, or content shape is fragile in exactly this way: quietly correct on the patterns it was built to recognize, quietly wrong on everything just outside that boundary, with nothing in the page’s rendered output to signal the difference.
This is also a useful moment to be precise about what fixing this bug is actually worth, because it is easy to overstate. Google restricted FAQ rich results, the visible expandable dropdown in search results, to a narrow set of government and health sites starting in August 2023, and reporting from May 2026 says the dropdown stopped appearing even for those remaining eligible sites as of May 7 that year[1]. Fixing this bug does not restore a search-result feature that no longer exists for a B2B SaaS marketing site regardless. What it restores is the underlying structured data itself: a machine-readable signal that a given section of a page is a set of questions and their answers, which feeds general entity clarity and gives any system parsing the page, search engine or AI assistant, a more accurate read of the content’s shape.
That is a real but modest benefit, and it should be described as one. A 2026 Ahrefs study tracking 1,885 pages that added JSON-LD schema against roughly 4,000 that did not found citation changes in ChatGPT and Google AI Mode inside statistical noise, with Google AI Overviews citations actually down 4.6%[2]. The site’s own evidence says the same thing even more directly: a competitor page with zero JSON-LD schema was cited twice in one answer while this site’s fully populated schema graph was cited zero times in the same test. Fixing a schema bug is worth doing because broken structured data is a correctness problem on its own terms, not because it is a lever for getting cited more. Framing it as the latter would be the exact mistake the technical SEO pillar this fix belongs to was built to avoid.
The Checklist to Audit Your Own FAQ Schema
Run any post carrying a visible FAQ section, however it is headed, through a structured-data testing tool and confirm FAQPage actually appears in the output, not just that the page renders without errors. If a post fails that check, look specifically at the heading text above the FAQ section and compare it against whatever exact phrase or pattern the generator is documented to require. A mismatch there, not a broken template or a plugin conflict, is the most common cause.
And when a detection pattern gets widened to catch a missed variant, verify the change against every post the pattern could touch, not the handful that prompted the fix, because the false positive a narrow check misses is exactly as real as the false negative a narrow pattern originally produced.
This sits alongside the plugin-default schema gaps already documented on this site and the entity-consistency question a related entity-clarity fix raises: structured data only does its job when someone periodically checks that it is actually being emitted, not just that it was configured to be at some point in the past. Not every schema type is worth this level of attention; which ones actually earn their place narrows that list considerably.
Sources
- Search Engine Journal, Google Drops FAQ Rich Results From Search – Published May 10, 2026; Google restricted FAQ rich results to government/health sites in August 2023, then FAQ rich results stopped appearing entirely, even for those sites, as of May 7, 2026 ↩
- Ahrefs, We Tracked 1,885 Pages Adding Schema. AI Citations Barely Moved. – 2026; 1,885 pages adding JSON-LD schema vs. ~4,000 controls; ChatGPT/AI Mode changes within statistical noise, Google AI Overviews citations down 4.6% (significant) ↩
Seeing these patterns at your company?
Book a free WebOps Diagnostic. I'll review your site before the call and share specific observations.
Book a Free Call →Frequently Asked Questions
Because many automated schema generators decide whether to emit FAQPage markup by matching the exact text of a heading, often looking for the literal phrase 'frequently asked questions.' A post using a shorter heading like 'FAQ:' or 'Common Questions' can carry a perfectly valid question-and-answer section that the generator never recognizes as an FAQ at all.
Google restricted FAQ rich results to a narrow set of government and health sites starting August 2023, and as of May 2026 reporting, they stopped appearing even for those sites. The visible search-result dropdown is gone for almost everyone. The schema markup itself remains valid structured data that clarifies page content for search engines and AI systems parsing the page, which is a real but smaller benefit than the rich result used to provide.
A sample tells you the fix works on the posts you happened to check. A full-corpus check tells you whether the fix introduced any false positive, a heading that now incorrectly triggers FAQ schema on content that isn't actually an FAQ, anywhere in the site. Widening a text-match pattern is exactly the kind of change where the failure mode you're not looking for is more expensive than the one you already found.
False positives: headings that happen to contain matched words but aren't actually followed by question-and-answer content. A schema generator that fires on the wrong content emits structured data that misdescribes the page, which is arguably worse for entity clarity than emitting no schema at all.