Description
Renderbit FAQ Structured Data keeps your FAQs in one place and adds schema.org FAQPage structured data to the content they belong to. Write each question and answer once as an FAQ item, then attach it to the posts, post types, taxonomy terms or URLs where it should appear, or make it global.
Built for large sites:
- Fast lookups. Associations live in a dedicated, indexed database table rather than post meta.
- Per-post caching. Generated JSON-LD is cached per post and invalidated automatically when FAQs or mappings change.
- Background invalidation. Cache purges are queued and processed in batches by WP-Cron, so saving an FAQ mapped to thousands of posts stays quick.
- Health page. See the queue, recent log entries and run maintenance actions from FAQ Items > Health.
- WP-CLI. Purge caches and process the queue from the command line.
- Multisite ready. Activation, upgrades and uninstall run on every site of a network.
How output works
- JSON-LD is printed on singular views only (posts, pages and custom post types). Archives, search results and the blog home never output FAQ markup.
- Question and answer text is output as plain text: tags stripped, entities decoded and whitespace collapsed. Answers run through blocks and shortcodes.
WP-CLI commands
wp rfsd purge-transientspurges all cached FAQ JSON-LD.wp rfsd process-queue [--limit=N]processes the invalidation queue.wp rfsd queue-infoshows the number of pending queue items.
Developer filters
rfsd_question_text( $text, $faq_post )filters the plain-text question.rfsd_answer_text( $text, $faq_post )filters the plain-text answer.rfsd_uninstall_delete_faqs(defaultfalse): returntrueto delete FAQ posts when the plugin is deleted.
Development happens on GitHub.
Installation
- Install the plugin from Plugins > Add New, or upload the
renderbit-faq-structured-datafolder towp-content/plugins/. - Activate it. The mapping table is created automatically.
- Add questions under FAQ Items and use the association box on each item to choose where it appears.
- Adjust cache lifetime and batch size under FAQ Items > Settings.
FAQ
-
Where does the JSON-LD appear?
-
In the
<head>of singular posts, pages and custom post types that have at least one FAQ item mapped to them, directly or through their post type, terms, URL or a global mapping. -
Can I use HTML in answers?
-
Yes. Write answers in the editor as usual; blocks and shortcodes are rendered and the structured data contains the resulting plain text. The plugin only outputs structured data, so show the FAQs on the page with your theme or a block as you normally would.
-
Does it work with object caching?
-
Yes. “Purge all” bumps a cache generation number instead of deleting transients one by one, so it works with persistent object caches.
-
I used FAQ JSON-LD Manager. How do I switch?
-
Install and activate Renderbit FAQ Structured Data while the old plugin is still installed. On activation (and on each site of a network) it moves the FAQ items and their associations over and copies the settings. Then deactivate and delete FAQ JSON-LD Manager. Do not delete the old plugin first: its uninstall removes the FAQ associations.
-
What happens when I delete the plugin?
-
Its options, transients, scheduled events, post meta and mapping table are removed. FAQ item posts are kept unless you enable the
rfsd_uninstall_delete_faqsfilter.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Renderbit FAQ Structured Data” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Renderbit FAQ Structured Data” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
4.0.1
- The WP-CLI commands work under their documented names (
wp rfsd purge-transients,wp rfsd process-queue,wp rfsd queue-info). The underscore forms keep working. - The plugin’s GitHub repository moved to renderbit-technologies/renderbit-faq-structured-data-wordpress-plugin.
4.0.0
- Renamed from FAQ JSON-LD Manager (
faq-jsonld) to Renderbit FAQ Structured Data (renderbit-faq-structured-data). Install and activate this plugin first: it imports the FAQs, their associations and the settings of FAQ JSON-LD Manager on every site. Then deactivate and delete the old plugin. Deleting the old plugin first removes the FAQ associations. - Every name now uses the
rfsd_prefix. The FAQ post type isrfsd_faq(wasfaq_item), the filters arerfsd_question_text,rfsd_answer_textandrfsd_uninstall_delete_faqs(werefqj_*), and the WP-CLI command iswp rfsd(waswp fqj). Update any custom code, bookmarks or scripts that use the old names. - The invalidation queue notice only appears on the plugin’s own screens (FAQ list and editor, Health, Settings) instead of on every admin page, and can be translated.
- Updated the bundled Select2 to 4.1.0.
3.1.0
- URL associations now mean the URL itself: a FAQ shows on whichever post has that permalink now. Before, saving a URL also tied the FAQ to the post found there, so it followed that post when it was renamed and appeared on shortlinks and the front page’s slug URL.
- URLs on your own site are stored relative to the site root, so moving between
httpandhttps, adding or droppingwww., or changing domain keeps them working. - Upgrading rewrites URL associations that only matched through the old behaviour (shortlinks, the front page’s slug URL, renamed posts, URLs from an earlier permalink structure) to the post’s current permalink. The FAQ list screen lists every change until an editor dismisses it.
- Saving a URL that is not the permalink of a post on this site, including any external URL, shows a warning, with the right permalink when the URL leads to a post.
- Changing the permalink structure, category or tag base, or the site address clears all cached output.
- Private posts and previews no longer get cached output.
- With plain permalinks, URL associations to custom post types now clear their cached output on change.
3.0.1
- First release on WordPress.org.
- Database queries pass table names through
$wpdb->prepare()identifier placeholders. - The unminified Select2 sources are bundled and loaded when
SCRIPT_DEBUGis on.
3.0.0
- The invalidation queue moved to its own database table, and post type and term mappings are expanded in the background worker.
- Output is
FAQPageonly and printed on singular views only. - Cache purges work with persistent object caches.
- Select2 is bundled locally instead of loaded from a CDN.
- Uninstall, deactivation and multisite handling are complete.
