Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/renderbit-technologies/renderbit-faq-structured-data-wordpress-plugin/releases/download/v4.0.1/renderbit-faq-structured-data.zipOn Packagist as renderbit/faq-jsonld:
composer require renderbit/faq-jsonldNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
FAQ JSON-LD Manager
A WordPress plugin to manage FAQ items as a custom post type (CPT) and inject FAQ JSON-LD into posts/pages. Designed for performance and scalability with advanced cache management, background queueing, and admin/CLI tools.
Features
- Custom Post Type: Manage FAQ items via the
faq_itemCPT. - Mapping Table: Fast MySQL table (
fqj_mappings) links FAQ items to posts, post types, terms, URLs, or global context. - JSON-LD Output: Injects FAQ schema on the frontend, with per-post transient caching.
- Cache Invalidation: Background queue (WP-Cron or WP-CLI) for efficient cache purging.
- Admin UI: Meta boxes and settings for mapping, output, and diagnostics.
- Health & Diagnostics: Admin page for queue/logs and manual actions.
- WP-CLI Integration: Commands for cache and queue management.
Installation
- Copy the plugin folder to your WordPress
wp-content/plugins/directory. - Activate via the WordPress admin Plugins page.
- On activation, the mapping table is created automatically.
Usage
- Add FAQ Items: Use the
FAQ ItemsCPT in the admin menu. - Associate FAQs: Use meta boxes to link FAQs to posts, post types, terms, URLs, or globally.
- Settings: Configure cache TTL, batch size, and output type under the FAQ Items > Settings menu.
- Health: Monitor queue/logs and run manual actions under FAQ Items > Health.
- WP-CLI:
wp fqj purge-transients— Purge all FAQ JSON-LD transients.wp fqj process-queue [--limit=N]— Process the invalidation queue.
Developer Notes
- Key Files:
faq-jsonld.php: Main loader and CPT registrationincludes/indexer.php: Mapping table logicincludes/queue.php: Invalidation queueincludes/frontend.php: JSON-LD output/cachingincludes/admin.php: Admin UI/meta boxesincludes/settings.php: Settings pageincludes/health.php: Health/diagnostics UIincludes/wpcli.php: WP-CLI commandsassets/js/fqj-admin.js: Admin JS (Select2, AJAX)
- Mapping Types: All associations are stored in a single table for fast lookups.
- Transient Keys:
fqj_faq_json_{post_id} - Admin JS: Uses Select2 for post selectors, AJAX for search (
fqj_search_postsaction). - Background Processing: Invalidation queue is processed every 5 minutes by WP-Cron.
Contributing
Pull requests and issues are welcome. Please follow project conventions and review inline comments in each file for guidance.
License
GPLv2+
For more details, see the inline comments in each file or the .github/copilot-instructions.md for AI agent guidance.
Releases
7 releases. Each count is every asset in that release; expand a row for the breakdown.
Tag
Published
Assets
Downloads