Skip to content
Order Genie is live on the Shopify App Store — 25 free conversations, forever →
FAQ Accordion 6 min read

FAQ Schema on Shopify: What It Does and No Longer Does

Google no longer shows FAQ rich results. What FAQ schema still does on a Shopify store, the rules that matter, and how to check your page.

ShopAppsLab The team building FAQ Accordion
On a dark green background, four stacked teal rows like folded panels with a thin bracket beside them, one row opened wider with an amber dot, beside the words Written for people first

What FAQ schema is, in one paragraph

FAQ schema is a small block of code on a page that lists the page’s questions and answers in a format programs can read without guessing. On Shopify it is usually JSON-LD: a script tag, invisible to shoppers, that says “this page has a question, here is its exact wording, and here is its answer”. The vocabulary comes from schema.org, where the type is called FAQPage. Your theme, an app or a hand-written snippet can add it.

That is all it is: a machine-readable copy of questions that are already written on the page for people. Most of the confusion about it comes from what it used to do in Google, which has changed.

What it used to do in Google, and what changed

For a few years, FAQ schema could earn a page an expanded search result: a couple of questions shown under the link, which opened to show the answers. That is why so many guides and apps promoted it.

Google then took that away in two steps.

  • August 2023. Google said FAQ rich results would only be shown for well-known, authoritative government and health websites. For almost every store, they stopped appearing.
  • May 2026. Google’s documentation now states that FAQ rich results are no longer appearing in Google Search at all. It also announced that the FAQ report in Search Console and FAQ support in the Rich Results Test would be dropped.

So, as of today, adding FAQ schema to a product page will not make questions appear under your link in Google. Any article, app listing or agency that promises that is out of date.

What it still does

Google’s documentation says you do not need to remove FAQ markup; it can stay in place without causing problems. And the format itself has not gone anywhere. FAQPage is still a valid schema.org type, and the markup still does what it always did underneath the search feature: it labels which text is a question and which text is its answer.

That is a modest benefit, and it is honest to keep it modest. Software that reads your page, whether a search engine or something else, does not have to work out where one question ends and the next begins. How any particular service uses that, if at all, is up to that service, and we would not promise you anything about it.

What it never did

Some claims about FAQ schema were never true, and they are worth clearing out:

  • It is not a ranking boost. Structured data describes a page; it does not make the page more relevant to a search.
  • It does not improve the answers. A vague answer in markup is still a vague answer.
  • It does not replace visible content. Questions that exist only in the code, and not on the page, are the opposite of what the markup is for.

The part that does the work for your shoppers is the FAQ itself: the right questions, answered plainly, next to the product. We wrote about how to write a product page FAQ and which questions belong there.

The rules that still matter

If you keep FAQ markup on your pages, keep it clean. These rules come from what the markup means, and they have not changed:

  1. It must match what is on the page. The questions and answers in the code should be the same ones a shopper can read. If you edit an answer on the page, the markup should change with it.
  2. One FAQ block of markup per page. If your theme adds FAQ schema and an app adds it too, the same page can end up describing two FAQs. Use one source and switch the other off.
  3. Your questions, your answers. FAQPage is for questions the store writes and answers. Questions that shoppers post and others answer are a different type of content.
  4. No advertising inside it. An answer that is really a promotion belongs in your marketing, not in an FAQ.

How to check what your page has

You do not need a tool to see whether a page carries FAQ schema:

  1. Open the product page in a desktop browser and view the page source.
  2. Search the source for FAQPage. Each match is one block of FAQ markup.
  3. If you find more than one, find out where each comes from: your theme’s settings, an app, or code someone added. Keep one.

To check that the markup is well-formed, the Schema Markup Validator run by schema.org reads a page or a pasted snippet and shows what it found. Google’s Rich Results Test is no longer the place for this, since Google announced it was dropping FAQ support there in June 2026.

So, should you bother?

Write the FAQ for people first. A shopper who finds the answer to “will this fit?” or “how long does delivery take?” next to the buy button is the whole point, with or without markup.

Then treat the markup as housekeeping: if it is there, make sure it matches the page and appears once. Do not pay for it, and do not choose an app or a theme because it promises rich results. That promise no longer has anything behind it.

Where we come in, briefly. FAQ Accordion is one of three blocks in Store Essentials, the free app we build at ShopAppsLab. It puts up to ten questions in an accessible accordion on the product page — added from the theme editor, with no code. The block can add FAQ structured data built from the same questions shown on the page, and you can switch that off if your theme already adds its own. There are no paid plans, and the app asks for no access to your store’s data. Everything above works without it — that is the honest version.

If you do one thing this week

Open one product page, view its source and search for FAQPage. If it appears more than once, or the questions in it no longer match the page, fix that. If it does not appear at all, nothing is lost: spend the time on the answers instead.