## FAQ integration

URL: https://hub.jkdevstudio.com/knowledge-base/integration/faq-integration
Updated: 2026-09-06
Summary: Create reusable questions and answers, place them three different ways, and emit FAQ structured data without assembling it by hand.

This integration adds questions and answers as their own content type, with their own categories.

Questions live as separate entries rather than as text inside one page, which means you can reuse them, reorder them, and show a different set on different pages.

## Placing them

Three ways: the Elementor widget, the editor block, and the shortcode `[jkd_faq]`.

The shortcode is worth naming separately: it is the route when questions have to go somewhere that has neither blocks nor Elementor.

There is also a dedicated FAQ page template. A page using it renders every question as an accordion with category filter pills and a closing "still need help" call to action, which is the fastest way to a complete support page.

## The structured data, which is the real reason

This is why you take a ready made integration instead of building an accordion by hand.

The questions block emits correct [FAQPage structured data](https://developers.google.com/search/docs/appearance/structured-data/faqpage) in JSON-LD, so search engines see actual questions and answers rather than a collapsed div with text in it.

The consequence: the page becomes eligible for a rich result in search, and there is nothing extra to configure for that. Whether a search engine chooses to show one is always its own decision, and you can confirm the markup itself with [the Google Rich Results Test](https://search.google.com/test/rich-results).

<div data-callout="info">

**A hand built accordion looks identical to a visitor and is invisible to a search engine.**

That difference is the whole value of this integration: the same rows, the same behaviour, plus the machine readable version that makes the page eligible for a rich result.

</div>

## How to use it

The short route: create the questions, sort them into categories, put a list on a page, and choose which categories to show.

<div data-callout="tip">

**One page should not display every question on the site.**

Categories exist so the shipping page carries shipping questions. A page with forty unrelated questions helps nobody and dilutes the structured data it emits.

</div>

## Integrations are part of the theme

<div data-callout="note">

**This integration is licensed with the theme, not on its own.**

Integrations are premium functionality for customers running a Pro license of one of our themes. They are written against our themes and expect them, and we cannot support or take responsibility for what one does inside somebody else's theme. See [how theme integrations work](/knowledge-base/jkd-toolkit/how-theme-integrations-work).

</div>

## Common questions

<details><summary>Can the same question appear on two pages?</summary>

Yes, and that is exactly what makes them separate entries rather than page text you would otherwise have to keep in step by hand.

</details>

<details><summary>Do I have to use categories?</summary>

You can show everything and you will regret it as the list grows, because categories are how each page keeps a set of questions that belongs to it.

</details>

<details><summary>Will Google show my FAQ in search results?</summary>

The markup is correct and present, and displaying a rich result is a decision Google makes rather than one we make, which they have changed the rules on more than once.

</details>

<details><summary>Can I style the accordion?</summary>

It follows the theme, which is the point of it, and what you control is placement and which categories a given list shows.

</details>

<details><summary>The questions do not show up on the page</summary>

Check that the block or widget actually has categories selected, because with none chosen there may be nothing for it to render, and if the questions exist and the page is still empty then clear any page cache before looking further.

</details>

## Still stuck

[Open a support ticket](https://hub.jkdevstudio.com/support) with a link to the page and how the questions were placed on it.