Accordion FAQ – FAQ Schema, Block & Shortcode with Live Search
Accordion FAQ is the fast, accessible way to build an FAQ page in WordPress. Create beautiful accordion FAQs with the Gutenberg FAQ block or a shortcode, output valid FAQ schema (FAQPage JSON-LD) for Google rich results, and let visitors find answers instantly with live search and category filters. Whether you need a simple frequently-asked-questions section on a landing page, a full searchable knowledge base, or product FAQs on a WooCommerce store, Accordion FAQ gives you a lightweight, SEO-ready toolkit that works with any theme — no page builder required, no jQuery, and no bloat. Built for speed and SEO. Assets load only on pages that actually contain an FAQ, structured data is generated server-side for Google rich results, and every FAQ is fully keyboard accessible out of the box. Why choose Accordion FAQ? ✅ Rank in Google with valid FAQPage JSON-LD structured data (schema). ✅ Add FAQs anywhere — Gutenberg block, shortcode, Elementor widget, or WooCommerce product tab. ✅ Truly accessible — the WAI-ARIA Accordion pattern with full keyboard navigation. ✅ Blazing fast — conditional asset loading, no jQuery, scalable CSS icons. ✅ Beautiful by default — six styles, light/dark aware, and fully customizable. ✅ Grows with you — search, filtering, analytics, voting, visitor submissions, and AI. Add FAQs your way Gutenberg FAQ block — an “Accordion FAQ” block with a live preview, full-site-editing (FSE) support, and one-click AI generation right in the editor. Shortcodes — drop [accordion_faq] (or the classic [quick_faq]) into any page, post, or widget. Page builders — native elements for Elementor, WPBakery, Divi, Bricks, and Beaver Builder. WooCommerce tab — automatically add an FAQ tab to your product pages, with an optional per-product FAQ picker. FAQ schema for Google rich results Accordion FAQ outputs a single, deduplicated FAQPage JSON-LD block server-side so search engines can understand your questions and answers. Schema can be toggled globally or per instance — so if an SEO plugin such as Yoast or Rank Math already outputs FAQ schema, you can disable ours in one click to avoid duplicate structured data. Accessibility first Accordion FAQ implements the full WAI-ARIA Accordion design pattern: Real triggers with aria-expanded and aria-controls. Arrow-key navigation, Home/End support, and visible focus states. Honors the visitor’s prefers-reduced-motion setting. A zero-JavaScript native / engine for maximum compatibility. Live search & filtering Live search with highlighting — visitors filter questions as they type, with matches highlighted. Search autocomplete — a suggestion dropdown searches your entire FAQ library (REST-backed) and jumps straight to the answer. Category filter tabs — one-click filtering by FAQ category. Expand / collapse all — reveal or hide every answer at once. Sticky table of contents — an optional scroll-spy sidebar for long FAQ pages. Pagination / “Load more” — keep long libraries snappy. #anchor deep-linking — link directly to a specific question. Styles & design Six styles: Minimal, Bordered, Filled, Separated, Card, and Modern. Icon styles: chevron, plus, or arrow, positioned left or right. Accordion (one open at a time) or Toggle (many open) modes. Light/dark aware, styled with CSS variables, and theme-overridable templates. Engagement & analytics FAQ analytics — track views and see your most-viewed FAQs. “Was this helpful?” voting — collect helpful / not-helpful feedback. Search-term analytics — see what visitors search for, and which queries return no results so you can spot content gaps. Visitor-submitted questions — let users ask questions from the front end with moderation (pending review), admin email notifications, and layered anti-spam (honeypot + timing + rate limiting). Drag-and-drop ordering — reorder FAQs directly in the admin list. Analytics dashboard — 30-day trend charts and top-FAQ rankings. AI, import & export AI FAQ generation — describe a topic and generate ready-to-edit questions and answers using the WordPress core AI client (no third-party API key required). CSV / JSON import & export — move your FAQ library in and out in seconds. Developer friendly Modular, namespaced OOP with a clean autoloader. Hooks and filters throughout, plus fully overridable templates. A REST API under accordion-faq/v1 (analytics, server-side search, submissions, AI). Perfect for SaaS and product FAQ pages and pre-sales questions. Knowledge bases and support / help centers. WooCommerce product FAQs and shipping/returns policies. Documentation, onboarding, and “Getting started” sections. Any page that needs a clean, searchable, SEO-ready accordion. Shortcodes [accordion_faq] — the canonical shortcode with full options: category, `term`, `ids`, `style`, `mode`, `engine`, `heading`, `icon`, `orderby`, `order`, `limit`, `open_first`, `search`, `filter`, `expand_all`, `toc`, `per_page`, `schema`, `class`. Examples: [accordion_faq] — show all FAQs with your global defaults. [accordion_faq category="billing" mode="toggle" search="1"] — a searchable “Billing” FAQ where multiple answers can stay open. [accordion_faq ids="12,15,18" style="card" icon="plus"] — show three specific FAQs in the Card style. [quick_faq id="12"] — classic shortcode: show FAQs in category (term) 12 (fully backward compatible). [accordion_faq_submit] — render the front-end “ask a question” submission form. FAQ custom post type FAQs are stored as a quick_faq post type with a quick_faq_tax category taxonomy. Add your question as the post title and the answer in the editor, assign a category, and you’re done. Manual ordering lets you control exactly which question appears first.
Top keywords
- faq35×4.26%
- accordion17×2.07%
- accordion faq12×1.46%
- faqs11×1.34%
- search10×1.22%
- category8×0.97%
- page7×0.85%
- ai6×0.73%
- analytics6×0.73%
- questions6×0.73%
- schema6×0.73%
- block5×0.61%
VS Knowledge Base
About With this lightweight plugin you can create a knowledge base that contains your categories and posts. Main features of the plugin: Free and lightweight Support for Block Editor and Classic Editor Display your knowledge base with block, shortcode or widget Custom post types are supported (such as WooCommerce product categories and products) Customize your knowledge base with attributes Documentation at WP plugin page Active support from developer at WP forum With this plugin you can also create a FAQ or wiki in the same way as a knowledge base. How to use After installation make sure you already have some categories and posts. Go to the editor and add the VS Knowledge Base block or the shortcode [knowledgebase] to a page. This will display your knowledge base. Or go to Appearance > Widgets and use the VS Knowledge Base widget. Default settings categories: 4 columns when using block or shortode 1 column when using widget 2 columns in small screens Order by name Ascending order (A-Z) Empty categories are hidden Parent and subcategories are displayed separately Default settings posts: Order by date Descending order (new to old) All posts are displayed Customize your knowledge base with attributes. Attributes You can customize your knowledge base by adding attributes to the block, shortcode or widget. Add custom CSS class to knowledge base: class="your-class-name" Change the number of columns: columns="3" Disable the columns: columns="0" Include certain categories: include="1,3,5" Exclude certain categories: exclude="8,10,12" Display empty categories too: hide_empty="0" Change the number of posts per category: posts_per_category="5" Reverse the order of posts: order="ASC" Display posts by title: orderby="title" Display posts in random order: orderby="rand" Disable category link: category_link="false" Display category description: category_description="true" Display post counter: post_count="true" Display post meta (date and author): post_meta="true" Display View All link: view_all_link="true" Change label of View All link: view_all_link_label="your label" Change label of post without title: no_post_title_label="your label" Change the “no categories are found” text: no_categories_text="your text" Example: [knowledgebase include="1,3,5" hide_empty="0" post_meta="true"] When using the block or the widget, don’t add the main shortcode tag or the brackets. Example: include="1,3,5" hide_empty="0" post_meta="true" With the columns attribute you can set the number of columns between 1 and 4. In small screens max 2 colums. You can disable the columns in favour of your own styling. The columns attribute will be ignored when using the block or widget. Because you can set the columns via the block or widget settings. Post tags Besides displaying posts by category you can also display posts by tag: taxonomy="post_tag" Custom post types It’s also possible to display categories and posts from a custom post type (such as WooCommerce product categories and products). To display these categories and posts you should add 2 attributes: “taxonomy” and “post_type” WooCommerce: Product categories and products: taxonomy="product_cat" post_type="product" Include product category image: taxonomy="product_cat" post_type="product" woo_image="true" Display by tag instead of category: taxonomy="product_tag" post_type="product" Have a question? Please take a look at the FAQ section. Translation Translations are not included, but the plugin supports WordPress language packs. More translations are very welcome! The translation folder inside this plugin is redundant, but kept for reference. Credits Without help and support from the WordPress community I was not able to develop this plugin, so thank you!