How to Add an FAQ Page in Magento 2: CMS Page vs Extension
Magento 2 has no built-in FAQ page. How to build one with a CMS page and Page Builder, when that is enough, and when an extension earns its keep.

Magento 2 does not ship with an FAQ feature. There is no content type, no admin section, nothing under Content that says FAQ. Every store that wants one builds it, and there are two sane ways to do that: a CMS page you assemble yourself, or an extension that manages FAQ entries as data.
Disclosure before anything else: we run Magento stores for clients, and we sell the OCM Labs FAQ & Product Questions module for $250. We have a stake in the extension answer. We are still going to walk you through the CMS page route first and tell you plainly when it is all you need, because for a lot of stores it is.
What is the fastest way to add an FAQ page in Magento 2?
A CMS page built with Page Builder. It uses only core Magento, costs nothing, and a store-wide FAQ covering shipping, returns, and payment questions is live in under an hour. If that is your whole requirement and you run one storefront, this is the answer, and the rest of this post is just confirmation.
The extension question only becomes real when your FAQs need to live on product pages, get reused across the catalog, or get maintained by more than one person. We will get to that.
How do you build an FAQ page with a CMS page?
Create a page under Content > Pages, build the body with Page Builder, and link it from your footer. The whole thing is admin work, no code.
- Content > Pages > Add New Page. Title it FAQ, set the URL key to
faq, and you haveyourstore.com/faq. - Pick the layout. A 1 column layout keeps the reading width sane. Set it under Design.
- Build the body in Page Builder. One heading row per topic (Shipping, Returns, Payments), then question and answer pairs under each. Headings become anchor targets if you add IDs, which makes the page linkable from support replies.
- Fill in Search Engine Optimization. Meta title and description live on the same edit screen. Do it now, nobody comes back for it later.
- Link the page. Footer links come from your theme or from a CMS block, depending on how your theme wires them. Most support teams also want it in the help section of the account area.
The one snag is the accordion. Page Builder has no accordion element. Your options, in the order we would try them:
- Skip the accordion. Questions and answers straight down the page, grouped under headings. Ctrl+F works, anchors work, nothing can break. Collapsed content that nobody can find is not a feature.
- Use the Tabs element to split topics if the page gets long.
- Paste native HTML into an HTML Code element.
detailsandsummarygive you collapsible questions with zero JavaScript:
<details>
<summary>What is your return policy?</summary>
<p>Returns are accepted within 30 days of delivery in original packaging.</p>
</details>Browsers render that as a working, keyboard-accessible toggle on their own. That is more than a lot of hand-rolled jQuery accordions manage.
When is a CMS page enough?
When your questions are about the store, not about individual products, and one person owns the page. In that situation an extension adds admin surface without adding anything the shopper sees.
Signs the CMS page is your answer:
- The questions are store-level: shipping cutoffs, return windows, payment methods, warranty basics.
- Answers change a few times a year, not weekly.
- You run one storefront in one language. Two store views means two pages via store view assignment, which is fine. Six store views means six pages, which stops being fine.
- Nobody has asked for product-specific questions on product pages.
Plenty of stores live inside those four lines forever. If that is you, build the page and spend the $250 on something else.
Where does a CMS FAQ page fall short?
The moment questions become product-specific or need to appear in more than one place. A CMS page is a single blob of content, and every limitation traces back to that.
Per-product questions
Sizing, compatibility, materials, care instructions: these questions get asked while the shopper is on the product page deciding. A link to /faq at that moment is an exit ramp. And structurally you cannot fix this with CMS pages, because there is no way to attach a piece of a CMS page to 40 SKUs. You would be pasting the same question into 40 product descriptions and editing 40 places when the answer changes. We wrote up the product page side separately in product questions and answers in Magento 2.
Reuse and upkeep
The return window changes from 30 days to 45. On a CMS page, someone now greps the page (and the product descriptions, and the other store view's page) for every place the old number appears. An extension stores the question once as a record and renders it everywhere it is assigned, so the edit happens in one screen. This is the difference between content and data, and it is boring right up until the day the answers are wrong in three places.
Markup and accessibility
You can hand-write FAQPage JSON-LD into an HTML Code element, and it will drift out of sync the first time someone edits the visible answer and forgets the script block below it.
Be clear-eyed about what that markup buys you in 2026, though. Google restricted FAQ rich results to government and health sites in August 2023, then stopped showing them for everyone in May 2026, per its structured data documentation. If a vendor pitches FAQ schema as a rankings feature, that pitch is three years stale. The markup is still valid schema.org, it is still the cleanest machine-readable copy of your Q&A for whatever parses your pages next, and it is still worth emitting automatically instead of maintaining by hand. It is just not a search results feature anymore, from us or from anyone.
Accessibility is the quieter gap. A hand-rolled accordion needs real buttons, aria-expanded state, and a visible focus indicator, or keyboard and screen reader users get a wall of unlabeled toggles. The details element above sidesteps most of this, which is one reason we suggest it over custom JavaScript.
What does an FAQ extension actually add?
It turns questions into records. Everything else follows from that. Whatever vendor you look at, this is the checklist:
- Each FAQ is an entry with a status, a sort order, and store view scoping, not a paragraph inside a page.
- Entries can be assigned to products, so the same answer renders on every PDP it belongs to.
- Markup is generated from the data, so it cannot drift from the visible content.
- The storefront output is built into the theme layer, including whatever your theme is (for most new builds that question is "does it support Hyva").
- Accessibility is solved once, in the module, instead of per page.
Here is how ours answers that checklist, stated as facts and with the disclosure repeated: we build and sell it. OCM Labs FAQ & Product Questions keeps FAQs under Catalog > Product FAQs in the admin. You write a question once and assign it to any number of products by checking rows in a searchable product grid, and it renders as an FAQ tab on each of those product pages with the first question expanded. Every product page with active FAQs gets a FAQPage JSON-LD block generated automatically, with answers stripped to plain text so WYSIWYG formatting can never produce invalid markup. The accordion is WCAG 2.1 Level AA conformant out of the box. It runs on Magento 2.4.6 through 2.4.8, Open Source and Adobe Commerce, on Luma directly and on Hyva through a companion module, and costs $250. It is one of the Magento extensions we build and support ourselves.
What it does not do: shopper-submitted questions. If you want customers asking questions through a form with a moderation queue, that is a different product family, and we compare the options honestly in best Magento 2 FAQ extensions.
How to decide
- Store-level questions, one storefront, one editor: CMS page. Free, done this afternoon.
- Questions that belong on product pages, answers reused across SKUs, multiple store views or editors: extension.
- Either way, do not buy anything for FAQ rich results. That feature is gone.
✦ FAQ
Does Magento 2 have a built-in FAQ page?+–
How do I add an FAQ page in Magento 2 for free?+–
Can I show FAQs on Magento 2 product pages with a CMS page?+–
Do FAQ rich results still appear in Google?+–
How much does a Magento 2 FAQ extension cost?+–

Shane Blandford
Founder of Orange Collar Media, a Denver ecommerce agency behind 800+ Magento and Shopify builds. In Magento since version 1.x - building, rescuing, and supporting revenue-critical stores since 2008.
✦ KEEP READING
Related from the Journal.
How to Add Extra Fees to Magento 2 Checkout: Custom Code vs Extension
Two ways to add an extra fee to Magento 2 checkout: a custom totals collector (with working code) or an extension. What each handles, what each breaks.

Magento 2 Surcharges by Payment Method, Shipping Method, and Customer Group
How to add Magento 2 surcharges by payment method, shipping method, or customer group, plus the card-brand and state rules to check before you do.

Charging Handling Fees for Hazmat, Oversized, and Cold-Chain Products in Magento 2
How we set up hazmat, oversized, and cold-chain handling fees in Magento 2 with attribute conditions, plus minimum order and cash on delivery fees.
