# SchemaSense – Smart Structured Data Contributors: fabiocchetti Tags: schema, faq, structured-data, seo, json-ld Requires at least: 5.0 Tested up to: 6.9 Stable tag: 1.1.2 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Auto-detects FAQ content and generates valid JSON-LD schema for LLMs, GEO (Generative Engine Optimization), and SEO. ## Description SchemaSense automatically scans your WordPress posts and pages to identify question and answer pairs, then generates proper FAQ schema markup (FAQPage JSON-LD). This structured data helps AI systems and Large Language Models (LLMs) better understand and surface your content in AI-generated responses, while also improving search engine visibility (SEO) with rich snippets in search results. The plugin also optionally formats existing FAQ blocks as minimalistic accordions (collapsible/expandable), providing an improved user experience for visitors browsing your Q&A content. ### Key Features * **GEO, AIO & SEO Ready** - Structured data optimized for AI systems, LLMs and traditional SEO * **Automatic Detection** - Intelligently identifies Q&A patterns in your content * **Multiple Formats** - Supports headings, paragraphs (including bold), and Q:/A: format * **Multilingual Support** - Works with 15+ languages (Latin-based question marks) * **Smart Exclusions** - Won't interfere with Elementor, Yoast, or other FAQ plugins * **Retroactive Scanning** - Process all existing posts with one click * **Optional Collapsible UI** - Enhance Q&A with expand/collapse functionality * **Performance Optimized** - Schema cached in post meta, not regenerated on every load ### How It Works The plugin detects FAQ content using two strategies: **1. FAQ Section Detection** (primary method) * Looks for headings containing FAQ keywords (e.g., "FAQ", "Frequently Asked Questions", "Common Questions") * WiWhat schema types does the plugin support? Currently, the plugin supports **FAQ (FAQPage) schema only**. It generates JSON-LD structured data with the `@type: "FAQPage"` format, which includes `Question` and `Answer` entities. Support for additional schema types (HowTo, Recipe, Product, etc.) may be added in future versions. ### Does this work with Gutenberg? Yes! The plugin supports both Classic Editor and Gutenberg (Block Editor). It can parse both Gutenberg blocks and HTML content. ### How does the plugin detect questions and answers? The plugin uses intelligent pattern detection with strict scoping to avoid false positives: **FAQ Section Detection:** * Looks for headings containing FAQ keywords (e.g., "FAQ", "FAQs", "Frequently Asked Questions", "Common Questions") * Supports 15+ languages with multilingual FAQ heading recognition * Once an FAQ section is detected, the plugin scans content within that section only **Question Detection (within FAQ sections only):** * **Heading-based questions**: Sub-headings at deeper levels than the FAQ heading (e.g., h3/h4 under an h2 FAQ heading) are treated as questions - No punctuation required - Minimum 5 characters * **Paragraph-based questions**: Paragraphs ending with "?" - Must be between 5-250 characters - Automatically handles bold (``), italic (``), or plain text formatting - Example: `

What is this?

` **Answer Detection:** * Any paragraph following a detected question is treated as the answer * Multiple consecutive paragraphs are combined into a single answer **Section Boundaries:** * FAQ section ends when a heading at the same level or higher than the FAQ heading is encountered * This prevents false detection of questions in subsequent sections * Example: If FAQ section starts with `

`, any other `

` or `

` ends the FAQ section **Additional Format:** * **Q:/A: Format**: Explicit "Q:" and "A:" patterns are supported anywhere in content (not limited to FAQ sections) ### Which languages are supported? The plugin supports 15+ languages including English, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Russian, Swedish, Danish, Norwegian, Finnish, Czech, and Turkish. All supported languages use the standard Latin question mark (?) for question detection. ### Will it conflict with Yoast SEO or other FAQ plugins? No. The plugin automatically detects and skips content managed by Yoast FAQ blocks, Elementor FAQ widgets, and other popular FAQ plugins to prevent duplicate schema markup. ### Can I customize the styling? Yes. Override the `.ssd-*` CSS classes in your theme to customize the collapsible FAQ appearanclanguages (all use standard Latin question mark `?` for paragraph-based questions): * English * Spanish (Español) * French (Français) * German (Deutsch) * Italian (Italiano) * Portuguese (Português) * Dutch (Nederlands) * Polish (Polski) * Russian (Русский) * Swedish (Svenska) * Danish (Dansk) * Norwegian (Norsk) * Finnish (Suomi) * Czech (Čeština) * Turkish (Türkçe) *Note: Languages using non-Latin question marks (Arabic, Greek, Hebrew, CJK languages) are not currently supported for paragraph-based question detection.* ## Installation 1. Upload the plugin files to `/wp-content/plugins/smart-structured-data` 2. Activate the plugin through the 'Plugins' screen in WordPress 3. Navigate to Settings → Smart Structured Data to configure ## Frequently Asked Questions ### What does SchemaSense do? SchemaSense automatically scans and detects FAQ content in your existing posts and pages using intelligent pattern recognition. It optionally transforms detected FAQ blocks into minimalistic, user-friendly accordions with expand/collapse functionality for improved UX, and it generates and adds valid FAQPage JSON-LD structured data to your page templates, making your content more accessible to search engines and AI platforms. All of this happens automatically based on your content structure—no manual markup required! ### Does this work with Gutenberg? Yes! The plugin supports both Classic Editor and Gutenberg. ### Will it conflict with Yoast SEO? No. The plugin detects and avoids conflicts with Yoast FAQ blocks and other plugins. ### Can I customize the styling? Yes. Override the `.ssd-*` CSS classes in your theme. ### What happens to my data if I uninstall the plugin? All plugin data is preserved if you simply deactivate the plugin. However, if you fully uninstall the plugin, all FAQ schema data and settings will be permanently removed from your database. ## Screenshots 1. Settings page with collapsible toggle and batch scan button 2. Automatically detected Q&A with collapsible UI 3. Generated FAQ schema in page source ## Changelog ### 1.1.2 * Minor fixes ### 1.1.1 * Fixed paragraph-based question detection in FAQ sections with bold/strong formatting ### 1.1.0 * Added support for paragraph-based questions (bold, italic, or plain text) * Enhanced FAQ detection logic * Updated documentation ### 1.0.0 * Initial release ## Upgrade Notice ### 1.1.2 Fixed FAQ detection for page builders like Elementor. If FAQs weren't detected before, run the batch processor after updating. ### 1.1.1 Improved FAQ detection reliability and fixed paragraph-based question detection in sections with formatted text. ### 1.1.0 Added support for paragraph-based questions and improved FAQ detection. ### 1.0.0 Initial release.