Free and Pro workflow guide
Build one FAQ library. Reuse it wherever answers are needed.
Create ordered question-and-answer sets, organise related sets into groups, publish them with one of three dynamic blocks, and control when FAQPage structured data is appropriate. This guide covers Flexible FAQs Free and Pro 0.6.0.
Quick start
Publish a reusable FAQ set
- Install and activate either Flexible FAQs Free or Flexible FAQs Pro—not both editions together.
- Open FAQs → Add New, give the set a clear internal title, and add each question with its answer.
- Drag the FAQ items into the order visitors should encounter them, then publish the set.
- Edit the destination post or Page and add the Text, Box, or Accordion Style Expandable FAQs block.
- Select the FAQ set in the block sidebar, review the presentation controls, and update the Page.
- Test every disclosure with a keyboard and pointer on the published URL, then review whether FAQ schema should remain enabled for that Page.
Checkpoint: editing an answer in the FAQ set should update every Page that renders the set; the source Page should not contain a second hand-copied answer.
Understand sets and groups
A Flexible FAQs set is a WordPress wpgo_faq record containing parallel ordered question, answer, and disabled-state lists. A group is a wpgo_faq_group taxonomy term used to collect multiple published sets. Use one set for a self-contained topic and a group when several maintained sets should appear together.


When a group is rendered, published sets are read in menu-order and then date order. Pro can display the group name and description above the combined output. Disabled or incomplete items do not enter the generated schema graph.
Choose the block that matches the page


Available block layouts
Keeps the disclosure presentation close to surrounding editorial content and enables both separators by default.
Gives each question-and-answer pair an individual visual container.
Presents the set as a coordinated accordion-style sequence.
Each Pro block registers 60 saved attributes. The exact type, default, Free/Pro boundary, and accepted values for every Text, Box, and Accordion attribute are generated in the complete reference. Editor-owned fields such as selector JSON and theme ancestry are listed for compatibility but should not be edited by hand.
Start with a verified theme, then customise deliberately
The released source contains 12 Free template-specific presets and 94 combined Free/Pro preset entries across the three layout families. These are source counts, not a rounded marketing estimate. A preset supplies a group of saved attributes; an explicit block or shortcode attribute can override the selected preset.

Pro custom themes: duplicate a core theme when you need a reusable variation. The editor records its parent and custom-theme status; changing back to another factory theme can discard unsaved presentation customizations.
Know which workflow belongs to each edition
| Workflow | Free | Pro |
|---|---|---|
| FAQ sets and groups | Create, order, group, and reuse FAQ content. | Includes the Free workflow. |
| Dynamic blocks | Text, Box, and Accordion blocks with core controls and presets. | Adds the full styling surface and extended preset library. |
| Item management | Edit and reorder question/answer pairs. | Temporarily disable individual items and duplicate complete FAQ sets. |
| Group presentation | Render the FAQ sets assigned to a group. | Display the group label and description. |
| Global options | Per-Page FAQ schema opt-out. | Collapse other FAQ editor items and optionally load assets on every Page. |
Use the retained display shortcode only where blocks are unsuitable
The maintained display shortcode is [flexible-faqs]. Use [flexible-faqs id="123"] for one set or [flexible-faqs group="45" template="accordion-expand"] for a group. A valid group takes priority over id. The template allowlist is text-expand, box-expand, and accordion-expand; invalid values fall back to Text.
The complete reference lists all 60 accepted display attributes. Boolean shortcode values arrive as text and the plugin converts the exact strings true and false before rendering.
Retained, not recommended: the Pro package still registers [submit-faq] and its [submit-flexible-faq] alias, but the 0.6.0 public feature list describes front-end submission as coming soon. Do not introduce it into a new production workflow without a separate security, moderation, and product review.
Apply FAQPage schema only to eligible visible content
On a singular post or Page, Flexible FAQs recursively detects its three blocks and the [flexible-faqs] shortcode, loads the referenced sets or group, removes disabled, incomplete, and duplicate question/answer pairs, and emits one deduplicated FAQPage JSON-LD graph in the document head.
- Open FAQ Schema Settings in the block or classic editor to disable the graph for one post or Page.
- The opt-out changes only structured data; the visible FAQ remains rendered.
- Schema is skipped on non-singular views and when no complete enabled pair remains.
- The public filters can disable output, filter normalized Question entities, or filter the complete schema array.
- Structured data improves machine readability but does not guarantee a search-result enhancement.
For developer-controlled integrations, the three public filters are flexible_faqs_schema_enabled, flexible_faqs_schema_entities, and flexible_faqs_schema_data. Their arguments and return contracts are generated from the release manifest in the complete reference.
Test disclosure behaviour, not just appearance
Version 0.6.0 adds keyboard disclosure controls, visible focus treatment, and synchronized ARIA state to expandable layouts. On the published Page, move through every question with Tab, open and close it with Enter and Space, confirm focus remains visible, and verify that the exposed expanded state matches the answer on screen.
Keep questions concise, write answers as normal readable content, maintain sufficient colour contrast when customising a theme, and do not rely on icon rotation or colour alone to communicate state.
Troubleshoot the source before the styling
The block says that no FAQs are selected
Open the block sidebar and select either a published FAQ set or group. The editor stores each selection as JSON; a blank selection intentionally returns the notice instead of an empty container.
A group is empty or in the wrong order
Confirm the sets are published and assigned to the intended FAQ group. Group output follows menu order and then date order; update the FAQ records rather than rearranging copied Page content.
A theme change removed custom styling
Theme switching replaces the active presentation attributes. In Pro, duplicate the closest core theme first when the variation should be retained as a reusable custom theme.
FAQ schema is missing
Confirm the request is a singular post or Page, the per-Page opt-out is disabled, and at least one visible FAQ has both a non-empty question and answer. Also check whether a developer filter disables or empties the graph.
The layout flashes without styling
If the FAQ is inserted through a widget-style or otherwise late-rendered placement, Pro can load the plugin scripts and styles on every Page. Enable that global option only when the targeted enqueue behaviour is insufficient.
Include this context with a support request
- Flexible FAQs version and Free or Pro edition.
- WordPress, PHP, active theme, and editor or page-builder versions.
- The block name or shortcode, with private IDs and URLs removed.
- Whether the source is one FAQ set or a group, and whether the issue also appears with the default theme.
- Reproduction steps, the result expected, and a screenshot of the relevant block controls.
Still stuck?
Choose support for your edition.
Pro customers can sign in for private support connected to their purchase. Free-edition questions belong in the public WordPress.org support forum.