FAQ schema had a strange few years. Google showed FAQ rich results everywhere, then in 2023 cut them back hard, and a lot of people concluded FAQ markup was dead. It is not dead. What changed is who the audience is. The Google rich result is now rare, but the same markup has become one of the most useful things you can publish for AI assistants, which read your questions and answers and quote them directly. Here is how to do it well on Shopify.
What FAQPage schema actually is
FAQPage is a Schema.org type that marks up a list of questions and their answers as structured data. You add it as a JSON-LD block on the page. It looks like this:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do your jackets run true to size?",
"acceptedAnswer": {
"@type": "Answer",
"text": "They run true to size. If you are between sizes, size down for a trim fit or up for layering."
}
},
{
"@type": "Question",
"name": "Is the waterproofing PFAS-free?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. The durable water repellent finish is PFAS-free across the full line as of 2025."
}
}
]
}
That is the whole structure. A list of questions, each with one accepted answer. The text can include basic HTML, but keep it clean.
The one rule that gets people penalized
The answer in the markup must be visibly present on the page, and the FAQ must be genuine. This is not a suggestion. Google has issued manual actions for FAQ markup that does not match visible content or that is stuffed onto pages where it does not belong.
So the workflow is always: build a real, visible FAQ section on the page first, then mark it up to match exactly. Do not mark up questions a shopper cannot see. Do not put FAQPage schema on a product page that has no FAQ on it. The structured data describes the page; it does not invent content for it.
Where to use it on a store
Three places earn their keep.
Product pages, for the questions specific to that product. Fit, materials, compatibility, what is included. These are the highest value because they answer purchase-blocking questions at the moment of decision.
Policy and help pages, for shipping, returns, and warranty questions. Assistants field a lot of "what is their return policy" questions, and marked-up answers are exactly what they quote.
A dedicated FAQ or support page, for the broad questions about the brand. This is also a natural home for the questions that do not fit a single product.
What I would not do is paste the same generic FAQ block onto every product. Per-page questions that actually relate to the page are worth far more than a boilerplate list repeated five thousand times.
Adding it on Shopify
You have a few options, depending on how hands-on you want to be.
By hand in the theme, you can add a JSON-LD block to the product or page template in Liquid, generating the questions from a metafield so each product can have its own. This is clean but it is developer work, and you have to keep the visible FAQ and the markup in sync yourself.
Through the page content, some merchants put the FAQ in the product description or a page section and add the schema separately. The risk here is drift: someone edits the visible text and forgets the markup, and now they disagree, which is exactly the mismatch Google penalizes.
With an app, the schema and the visible content stay tied together so they cannot drift, and you do not touch theme code. This is the approach we generally recommend for stores that are not running a dedicated developer, because the failure mode of hand-rolled FAQ schema is almost always the visible-versus-marked-up mismatch, and removing the chance of that is worth a lot.
Why it matters more now, not less
The Google rich result is a bonus, and you may occasionally still get one. The real return in 2026 is the assistants. When a shopper asks ChatGPT or Perplexity "does this brand offer free returns," the assistant wants a clean, attributable answer. A FAQPage block gives it exactly that: a question that matches the shopper's question and an answer it can quote with confidence. Plain prose buried in a description is harder to extract and easier to get wrong.
That is the shift worth internalizing across all of structured data. The markup that used to be about earning a richer Google listing is now also about being quotable by the systems that increasingly sit between shoppers and stores. FAQ schema is one of the cleanest examples, because the format is already a question and an answer, which is precisely the shape an assistant is looking for.
We build per-product FAQ markup into the Shopify stores we run, and it is one of the structured-data types AgentReady manages for merchants directly, keeping the visible questions and the schema locked together so they never drift. Whichever way you implement it, the discipline is the same: real questions, visible answers, markup that matches. Do that, and your answers show up where shoppers are now asking.

