=== Firetap Knowledge Panel Schema === Contributors: firetapltd, rakshakmathur Tags: schema, json-ld, knowledge panel, localbusiness, structured data Requires at least: 6.0 Tested up to: 6.9 Stable tag: 2.7 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Generate clean JSON-LD schema with templates, FAQ, review, and video support for business and content pages. == Description == Firetap Knowledge Panel Schema is a lightweight yet powerful structured data plugin designed for SEO professionals, agencies, and local businesses who want accurate, error-free schema markup without complexity. Unlike many schema plugins, this plugin focuses on: * Clean JSON-LD output * No duplicate structured data issues * Full control over where schema appears * Compliance with Google rich result guidance It helps you build a complete Google Knowledge Panel-ready schema setup including: * Organization and LocalBusiness schema * Multi-location support with primary and additional locations via `hasPart` * Opening hours and special or holiday hours * FAQ schema with reusable FAQ Groups, multiple display layouts, and sitewide style controls * Product schema with valid `Offer` markup and image fallback * Course schema using the correct `Course` type * Review Groups for manual or imported review collections * Optional Google Reviews integration via Google Places API * Public video pages with VideoObject schema and a dedicated video sitemap * Templates, entities, conditions, validation, and post-level overrides Developed by FireTap Ltd, a UK-based digital marketing agency focused on technical SEO. == Why This Plugin? == Most schema plugins: * Output unnecessary or bloated markup * Cause duplicate FAQ or Product schema issues * Misuse schema types This plugin is built to avoid those problems with clean output, focused admin tools, and purpose-built display modules only where needed. == Features == * Business type selector such as ProfessionalService, LegalService, and Store * Primary location plus multiple additional locations * Classic main settings screen with live JSON-LD preview * Templates, entities, conditions, validation, and per-post schema overrides * FAQ Groups with: * Accordion, boxed, minimal, grid cards, and question-and-answer layouts * Website color, global FAQ style, or manual color modes * Reusable global FAQ colors and sizing * Hex color entry plus color pickers * WYSIWYG answer editing * Shortcode output * Review Groups with: * Manual review entry * Paste import support * Source labels for Google, Trustpilot, Review Solicitors, Facebook, Yelp, and other review sites * Review schema output * Product schema with: * Price * Availability * Image with automatic logo fallback * Course schema for training and education * Public Videos post type with: * Metadata fields for video URL, upload date, duration, thumbnail, description, transcript, content URL, and embed URL * Best-effort metadata detection for YouTube and Vimeo URLs * Dedicated single video pages for indexing * VideoObject schema * Video sitemap output at `/video-sitemap.xml` * URL targeting for FAQs, Products, and Courses * Opening hours and special hours support * Google rich result compatible output * Lightweight front-end output with assets only on dedicated feature pages == External Services == This plugin can optionally connect to the Google Places API (Google Maps Platform) to fetch public review and rating data. * What is sent: * Your configured Place ID * Your API key * When: * Only when Google Reviews are enabled * Only during frontend schema generation * Why: * To output `aggregateRating` and `review` structured data Service provider: Google (Google Maps Platform) Terms: https://cloud.google.com/maps-platform/terms Privacy: https://policies.google.com/privacy == Installation == 1. Upload the plugin folder to `/wp-content/plugins/` 2. Activate the plugin 3. Go to `KPSP Schema` in the WordPress admin menu 4. Configure your schema, FAQ, review, and video settings 5. Save changes 6. If video pages were just enabled, save Permalinks once to refresh rewrites == Frequently Asked Questions == = Will this cause duplicate FAQ errors? = No. FAQ schema can be restricted to specific URLs to prevent duplication issues, and FAQ Groups can output FAQPage schema only when needed. = Can I use this for courses instead of products? = Yes. Courses use proper `Course` schema instead of incorrectly using Product schema. = Can I reuse FAQ styling across the whole website? = Yes. Save a reusable FAQ style once in the plugin Settings page, then select `Use Global FAQ Style` inside any FAQ Group. = Does it support video indexing? = Yes. The plugin includes public video pages, VideoObject markup, and a dedicated `/video-sitemap.xml` feed. = Does schema output on every page? = Only if URL targeting is left blank. You can control exactly where schema appears. = Does this slow down my website? = No. The plugin outputs lightweight JSON-LD in the `` and only loads dedicated display assets where they are needed. == Changelog == = 2.7 = * Added templates, entities, conditions, validation, and post-level overrides while keeping existing KPSP settings and output intact * Added reusable schema templates with mapping, conditions, preview, and validation * Added advanced schema support for Person, Brand, Article, Service, Review, Recipe, VideoObject, Event, JobPosting, Book, SoftwareApplication, Podcast, Movie, and VehicleListing * Added FAQ Groups with multiple display styles, WYSIWYG answers, color controls, hex inputs, and reusable global FAQ styling * Added Review Groups with manual entry, import support, source tracking, and review schema output * Added public Videos post type with metadata detection, custom video details editing, standalone video pages, VideoObject schema, SEO schema integration, and `/video-sitemap.xml` output * Added entity linking for Organization, Person, and Brand using reusable `@id` nodes * Added per-post schema override metabox for disabling templates or injecting custom JSON-LD * Added duplicate protection for appended schema nodes * Updated plugin admin styling and kept the original main settings experience available for safe upgrades * Preserved legacy `kpsp_*` options and existing 2.6 schema output for safe upgrades = 2.6 = * Fixed location fields not saving correctly in admin * Fixed locations option mismatch (`locations` to `kpsp_locations`) * Improved location sanitisation and reliability * Improved live JSON preview accuracy * General stability and admin improvements = 2.5 = * Added Course schema support * Added Product image upload with logo fallback * Added URL targeting for FAQs, Products, and Courses * Fixed Product rich results validation * Improved schema output consistency == License == This plugin is licensed under the GPL v2 or later. == Technical Notes == The `Contributors:` field lists WordPress.org usernames to properly attribute development and link profiles in the plugin directory.