Skip to main content
Checklist

FAQPage Schema Checklist: 12 Items Every Ecommerce Store Should Audit

By · Updated · 7 min read

Why Ecommerce Stores Need a FAQPage Schema Audit

FAQPage schema tells search engines that a block of question-and-answer content on a page is structured, machine-readable, and eligible for rich results in Google Search. When implemented correctly, FAQ rich results display expanded accordion snippets directly in the SERP, consuming more visual space and reducing the click cost of reaching your page. When implemented incorrectly, Google ignores the markup entirely or, worse, issues a manual action for spammy structured data.

Ecommerce stores accumulate FAQPage schema across product pages, category pages, policy pages, and blog posts. Each implementation is a separate audit target. Running a structured checklist against every page type catches the silent failures—missing required properties, duplicate markup, and content mismatches—before they become ranking liabilities.

The 12-Item FAQPage Schema Audit Checklist

1. **@type is exactly 'FAQPage'** — PASS: The top-level @type value is the string 'FAQPage'. FAIL: It reads 'FAQ', 'QAPage', or is absent. QAPage is a different schema type with different eligibility rules.

2. **@context is 'https://schema.org'** — PASS: The JSON-LD block opens with '"@context": "https://schema.org"'. FAIL: It uses 'http://' (no S), a trailing slash variant like 'https://schema.org/', or is missing entirely. Google's Rich Results Test flags context mismatches.

3. **Every question uses Question @type** — PASS: Each item in the 'mainEntity' array has '"@type": "Question"'. FAIL: Items use plain objects without a type declaration. Without the @type, Google cannot identify the node as a question.

4. **Every answer uses Answer @type inside 'acceptedAnswer'** — PASS: Each Question node contains an 'acceptedAnswer' property whose value is an object with '"@type": "Answer"'. FAIL: The answer is a plain string, or the property is named 'answer' instead of 'acceptedAnswer'. Google's documentation specifies 'acceptedAnswer' as the required property name.

5. **'name' property holds the question text** — PASS: The question text lives inside the 'name' property of each Question node. FAIL: It is placed in 'text', 'question', or another non-standard property. The 'name' property is the only one Google reads for the question display.

6. **'text' property inside Answer holds the answer text** — PASS: Answer text is in the 'text' property of the Answer node. FAIL: It is in 'name', 'description', or missing. Some CMS plugins write 'name' for both question and answer, which renders the answer invisible to parsers.

7. **Answers are not truncated relative to page content** — PASS: The 'text' value inside acceptedAnswer matches or closely matches the visible answer text on the page. FAIL: The schema contains a shortened or paraphrased version of the answer while the page shows the full version. Google's guidelines require that schema content matches on-page content.

8. **No HTML tags inside 'text' values** — PASS: All 'text' and 'name' values are plain strings with no '<p>', '<b>', '<ul>', or other HTML tags. FAIL: Tags are present. JSON-LD is not an HTML context; embedded tags display as raw strings in rich results and can trigger validation warnings.

9. **Only genuine questions appear in the markup** — PASS: Every question in the schema is a real question a user would ask, displayed visibly on the page. FAIL: Questions are keyword-stuffed phrases, promotional statements formatted as questions ('Why is [Brand] the best?'), or content not visible on the page. Google treats these as spam signals.

10. **The schema is valid JSON-LD (no syntax errors)** — PASS: Running the raw JSON through a JSON validator (e.g., jsonlint.com) returns zero errors. FAIL: Trailing commas, unescaped quotes inside strings, or mismatched brackets are present. A single syntax error invalidates the entire block.

11. **No duplicate FAQPage blocks on a single page** — PASS: Each page contains exactly one FAQPage JSON-LD block. FAIL: Two or more blocks exist, whether from a plugin, a theme footer injection, or a manually added script. Google processes only one block per page; duplicate blocks create unpredictable behavior.

12. **Rich Results Test returns zero errors and at least one valid item** — PASS: Google's Rich Results Test (search.google.com/test/rich-results) shows the FAQPage as detected with no errors listed under the result. FAIL: Warnings or errors appear, or the tool does not detect a FAQPage at all despite markup being present.

How to Run This Audit Efficiently Across a Large Catalog

For stores with hundreds of pages carrying FAQPage schema, manual checks are not scalable. Export all URLs containing FAQPage markup using a crawl tool such as Screaming Frog with its structured data extraction feature, or use Google Search Console's Rich Results report under 'Enhancements' to identify pages with errors and valid items at scale. Both tools surface the same class of failures the checklist above targets.

Prioritize the audit by revenue impact: product pages and high-traffic category pages that already rank on page one benefit most from clean rich results. Policy pages and blog posts carry less urgency unless they generate significant organic traffic. Fix errors in JSON-LD syntax and @type mismatches first, since these prevent Google from reading any of the markup, then address content-matching issues as a second pass.

Common Failure Patterns in Ecommerce FAQPage Implementations

The most common failure in ecommerce stores is a plugin that generates FAQPage schema automatically from a custom field but writes the answer into the 'name' property of the Answer node rather than 'text'. The result passes a basic JSON-LD syntax check, looks correct to a developer inspecting the source, but fails Google's structured data validation because 'name' on an Answer node is not the expected property.

The second most common failure is a content mismatch caused by lazy localization or A/B testing. A store running a price test shows one answer on the page ('Ships free on orders over $50') while the schema retains an outdated value ('Ships free on orders over $75'). Google's guidelines are explicit: schema content must reflect what a user sees. Mismatches are treated as misleading structured data and can result in the rich result being suppressed without any notification in Search Console.

Actionable Next Step After Completing the Audit

After completing all 12 checks, submit corrected URLs for re-indexing via Google Search Console's URL Inspection tool. Rich results generated from FAQPage schema typically appear in search results within days of Google recrawling a corrected page, not weeks. Do not wait for a full site recrawl.

Set a recurring quarterly reminder to re-run checks 10, 11, and 12 specifically. These three—JSON validity, duplicate blocks, and the Rich Results Test—are the checks most likely to regress after a theme update, plugin upgrade, or CMS migration introduces new script injection behavior without developer review.

Frequently asked questions

What is the minimum valid FAQPage schema structure?

A minimum valid FAQPage schema requires a JSON-LD block with '@context' set to 'https://schema.org', '@type' set to 'FAQPage', and a 'mainEntity' array containing at least one object with '@type' of 'Question', a 'name' property for the question text, and an 'acceptedAnswer' object with '@type' of 'Answer' and a 'text' property for the answer. All four layers must be present for Google to recognize the markup.

How many FAQ items should a product page include in its schema?

Google does not publish a maximum or minimum count, but rich results in the SERP typically display two to four accordion items visually. Including every question visible on the page in the schema is the correct approach—do not cherry-pick. Marking up three questions while displaying ten on the page creates a content mismatch, which violates Google's structured data quality guidelines.

Does FAQPage schema on a product page improve conversion, or just rankings?

FAQPage rich results increase SERP real estate for the page, which raises click-through rate from search. The FAQ content itself—shipping times, return policies, sizing details—also addresses purchase objections before a visitor lands on the page. The schema does not directly affect on-page conversion metrics, but pre-answering objections in the SERP filters for higher-intent clicks.

Can a page have both FAQPage schema and HowTo schema at the same time?

Yes. Google supports multiple structured data types on a single page as long as each block is syntactically complete and the content of each block matches visible on-page content. A product page can carry FAQPage schema for a Q&A section and HowTo schema for an assembly section simultaneously without conflict, provided there is only one FAQPage block and one HowTo block.

Why would the Rich Results Test show FAQPage as valid but Google Search Console shows errors?

The Rich Results Test evaluates the page at a single point in time using the URL you submit. Search Console reflects Google's crawler behavior, which runs at a different time and from a different IP. If the page serves different markup to Googlebot than to a browser—due to server-side rendering issues, bot detection, or A/B testing frameworks—the two tools see different versions of the page and report different results.

MG
Written by

Matt is the founder of RunOctopus. He built All Angles Creatures from zero to page-1 rankings in reptile feeder insects in under 60 days using exactly this method — turning a hard, entrenched niche into RunOctopus's proof store for programmatic SEO and AI search citation.

Connect on LinkedIn →

See what Otto would build for your store

Free architecture preview. No card required. Five minutes.

Generate Preview →