Agent ReadyAI shopping agent readiness

FAQ schema for AI answers

Part of the Agent Ready guides. Plain advice, no signup needed.

FAQ schema is structured data that labels questions and answers already visible on your pages. It tells machines: this line is a question shoppers ask, and this block is your answer. Shopping assistants use labeled Q and A pairs when a shopper asks about shipping, returns, sizing, compatibility, or care. A store with clean FAQ markup can get its own words quoted. A store without it leaves the assistant to quote whoever labeled theirs first.

The format is JSON-LD using the Schema.org FAQPage type, containing one Question per question with an acceptedAnswer holding the answer text. It is straightforward to write and easy to get wrong in ways that void the whole block. This guide shows the correct shape, which questions to mark up, and the mistakes that waste the effort.

One honest note first. Markup makes your answers eligible to be quoted. It does not force any assistant to quote them, and it does not move your store above a competitor the assistant trusts more. Treat FAQ schema as removing a reason to be skipped, not as adding a reason to be picked. The reasons to be picked are still accurate pages, real reviews, and competitive offers.

Which questions to mark up

Mark up questions your shoppers actually ask, in the words they use. Your support inbox already holds the list: delivery times, return windows, shipping costs, gift wrapping, size fit, material care, compatibility, warranty length, and order tracking. Start with the ten questions your team answers most often. Those are the same questions assistants get asked about your store.

Each marked question must appear with its answer in visible text on the same page. This is a hard rule, not a suggestion. Markup that describes content the page does not show is the fastest way to have the block ignored. Write the FAQ section for humans first, with clear headings and complete answers, then add markup that mirrors it exactly.

Keep answers short and self contained. Two to four sentences that answer the question fully without requiring the rest of the page. An assistant may quote the answer alone, out of context, so it must make sense standing on its own. Name the store or the product in answers where it matters: saying it fits is weak, saying the Harbor Tote fits a 14 inch laptop is quotable.

The correct shape

One FAQPage block per page, holding every question on that page. Each Question carries the question text in its name field and one acceptedAnswer with the answer text. Answer text may include simple formatting but should stay close to the visible wording. Below is a two question example for a shipping FAQ section.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does delivery take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Orders ship within 2 business days. Standard delivery takes 3 to 5 business days inside the US. You get a tracking link by email when your order leaves our Portland warehouse."
      }
    },
    {
      "@type": "Question",
      "name": "What is the return policy?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Returns are free within 30 days of delivery. Email support@yourstore.com for a prepaid label. Refunds go back to the original payment method within 5 business days of arrival."
      }
    }
  ]
}
</script>

Match the markup text to the visible text. Small wording differences are tolerated, but the facts must agree: same days, same costs, same contact address. When the visible answer says 14 days and the markup says 30, consumers of the data treat both as suspect.

Where FAQ blocks belong

Put store level questions on store level pages: the FAQ page, shipping policy, returns page, and contact page. Put product level questions on the product page they answer: sizing on apparel pages, compatibility on electronics pages, care instructions on material goods. A sizing answer marked up on the homepage instead of the product page may never meet the shopper asking about that product.

One block per page is the rule. If a product page and the FAQ page both answer the returns question, each page carries its own block with its own visible text. Do not combine every store question into one giant block pasted on every page. Page level markup that mirrors page level content is the pattern validators and consumers expect.

Product pages can carry both a Product block and an FAQPage block. The two blocks are separate script elements with different types, and they coexist without conflict. Keep each valid on its own. A broken FAQ block does not invalidate the Product block, but fix both regardless, since each carries answers you want quoted.

Writing answers assistants quote

Lead with the direct answer, then add the detail. How long does delivery take. Standard delivery takes 3 to 5 business days inside the US, then the handling note. Assistants lift the first sentence most often, so the first sentence must answer the question alone. Burying the answer in the third sentence means the quote misses it.

Use concrete numbers with units. 30 days, 2 business days, 5 dollars, 14 inch laptop. Vague answers such as fast delivery or easy returns cannot be quoted with confidence and will not be. If the true answer varies, say the range and the condition: delivery takes 3 to 5 business days, or 7 to 10 for Alaska and Hawaii.

Answer the question asked, not the question you wish was asked. A returns answer should state the window, the cost, and how to start. A sizing answer should state how the item fits and what to do between sizes. Marketing sentences about quality add nothing here and dilute the part worth quoting. Save brand voice for the product description and keep answers factual.

Update answers when policies change. A markup answer that still promises last year shipping times while the page shows new ones is a mismatch that poisons both. Treat policy changes as two edits: the visible text and the markup, made together, verified together.

Common mistakes that void the block

Marking up questions with no visible answers. Every Question in the block needs matching visible text on the page. Audit by reading the page, then reading the block, and confirming a one to one match.

Advertising disguised as questions. Why should I buy from you is not a shopper question, and a paragraph of brand praise is not an answer. Validators flag promotional FAQ content, and assistants skip it. If a pair reads like an ad, delete it.

Stuffing keywords into questions. Do shoppers ask where to buy cheap canvas tote bag free shipping Portland. No, and writing questions that way reads as manipulation. Write the question a human would type, in normal words.

Duplicating the same block across unrelated pages. A shipping FAQ block belongs on pages with shipping answers, not pasted into every template. Copy pasted blocks whose answers do not match the page content are mismatches at scale.

Invalid JSON. A missing comma, an unescaped quote inside an answer, or a trailing comma after the last item voids the whole block. Answers with quotes around product names are the usual cause: escape inner quotes or rephrase. Validate after every edit.

Using FAQ markup for support forum threads. Long threads with many conflicting answers from different users are discussion content, not FAQ content. Mark up your own concise answers, not threads.

On Shopify

FAQ content usually lives in page templates, the policy templates, or an FAQ app with accordion sections. Wherever the visible questions live, the markup must come from the same source. An FAQ app that renders visible questions but emits no markup leaves the job half done: check the app docs for schema output settings and enable them.

If your theme or app lacks FAQ output, add it in the template. Under Online Store, Themes, Edit code, the page or product template can include an FAQPage block that mirrors the visible questions. For stores with one shared FAQ, a single snippet included by the FAQ page template covers it. For per product questions stored in metafields, the snippet should read the metafields so each product page emits its own questions.

Policy templates deserve attention. Shopify policy pages for shipping, refunds, and privacy are standard pages with real URLs, which makes them good markup hosts. Add concise Q and A summaries to the top of long policy pages, visible to humans, and mark those up. The summary helps shoppers too, since few people read full policy text.

On WooCommerce

Rank Math and Yoast both ship FAQ blocks for the block editor: add the FAQ block with your visible questions and the plugin emits matching markup automatically. This is the lowest error route, since the visible text and the markup come from one source. Confirm the output with a validator on one page before rolling it across the site.

Accordion and toggle plugins need a markup check. Many display FAQ content beautifully while emitting no schema at all. If your display plugin and your SEO plugin both emit FAQ blocks, disable one to avoid duplicates. View the page source, count the FAQPage blocks, and keep exactly one.

Product level questions fit naturally in the product short description or a dedicated FAQ tab. WooCommerce product tabs added by your theme or a tab plugin can host visible Q and A pairs. Whatever renders them must also feed the markup, or the markup must be added to the same template. Verify per product type: simple, variable, and grouped products may use different templates with different markup behavior.

How to validate and monitor

Validate with the Schema Markup Validator after every change: paste the URL or the code and confirm the FAQPage parses with all questions detected. Then check the Rich Results Test for eligibility display. Both tools read the page the way consumers do, so a block they parse is a block assistants can use.

Monitor with the same discipline as product schema. Revalidate the FAQ page template after theme updates, page builder updates, and FAQ app changes. Spot check one product page per template each quarter. Markup rots quietly: the visible text gets edited by one person while the block is forgotten, and the mismatch sits until someone compares them.

Want your full markup checked in one pass. Run the free Agent Ready audit to get a graded score and the exact fixes that matter most for your store. It takes under a minute and needs no signup.

Run free audit

Get a free AI-crawler audit of your store

Enter your email and store address and we will keep you posted on your score. After signup you can run the audit right away.

More guides: ChatGPT Shopping Shopify schema robots.txt for AI AI-crawler friendly Product schema llms.txt AI bot rules FAQ schema