Version: 2.0.5
Author: Proofmedia Ltd
Website: https://proofmedia.uk
License: GPL v2 or later (https://www.gnu.org/licenses/gpl-2.0.html)
Part of the ProofMEDIA Professional Plugin Suite for self-hosted WordPress websites.
Note: This plugin does NOT require the ProofMEDIA Consent Plugin.
1. Overview
ProofMEDIA Schema Plugin dynamically generates optimized Schema.org structured data in real time for all singular WordPress content.
It:
- Outputs fully connected
@graphstructured data - Requires no caching or regeneration
- Stores no schema in the database
- Automatically updates when content changes
- Supports Course, Product, FAQ, Article, Breadcrumb, and more
Schema is generated live on every singular page load.
2. How It Works
- Hooks into
wp_head - Runs only on singular content (posts & pages)
- Generates JSON‑LD dynamically
- Outputs structured data using
application/ld+json - No database storage
- No background regeneration
- No cron jobs
Schema is always up to date because it is built directly from live content.
3. Schema Types Generated
| Schema Type | When It Is Generated | Google Rich Result Eligible |
|---|---|---|
| Organization | Always (global entity) | — |
| WebSite | Always (global entity) | — |
| Person (Author) | All singular posts/pages | — |
| WebPage | All singular posts/pages | — |
| Article / BlogPosting | All singular posts/pages | Article rich results |
| BreadcrumbList | All singular posts/pages | Breadcrumb rich results |
| Course | When post/page is in category course or courses | Course rich results |
| CourseInstance | When Course schema is generated | Course rich results |
| Offer (Course) | When price detected in course content | Price snippet |
| Product | When product category detected AND price exists | Product rich results |
| Offer (Product) | When Product schema is generated | Price snippet |
| AggregateRating | When _rating post meta exists and comments > 0 | Star ratings |
| Review | When rating + approved comment exists | Review snippet |
| FAQPage | When FAQ-style headings (H2–H4 ending in “?”) are detected | FAQ rich results |
4. Entity Graph Structure
The plugin outputs a fully connected @graph structure:
- Organization → WebSite
- WebSite → WebPage
- WebPage → Article (mainEntityOfPage)
- Article → Author (Person)
- Article → Publisher (Organization)
- Course or Product extends the same page entity
- BreadcrumbList attached to the page
This ensures semantic consistency and maximum search engine clarity.
5. Detection Logic
Course Detection
- Post/page assigned to category
courseorcourses - Automatically generates Course + CourseInstance schema
- If price detected, Offer is attached
Product Detection
- Post assigned to category:
productproductsdownloaddownloads
- Requires price format detection (£123.45, $123.45, €123.45)
- Generates Product + Offer schema
Price Extraction
- Detects currency symbols: £, $, €
- Automatically maps to:
- £ → GBP
- $ → USD
- € → EUR
- Supports decimal values
- Sets
priceValidUntilto +1 year - Availability set to:
https://schema.org/InStock
Rating Detection
- Requires post meta field
_rating - Requires approved comments
- Generates:
- AggregateRating
- Review (first approved comment)
FAQ Detection
- Scans content for H2–H4 headings
- Heading must end in a question mark (?)
- Must be followed by a paragraph
- Generates FAQPage with Question + Answer entities
Image Handling
- Featured image used as:
primaryImageOfPage(WebPage)image(Article/Product)- Logo attached to Organization (if custom logo set)
6. Admin Panel (Schema Manager)
Located at:
WordPress Admin → Tools → Schema Manager
Coverage Display
- Total published posts/pages
- 100% schema coverage (dynamic output)
Status Message
- Schema generated dynamically
- No caching
- No regeneration required
- Always up to date
7. Performance
- Lightweight runtime JSON-LD generation
- No database writes
- No content duplication
- No external requests
- No SaaS dependency
- No schema storage overhead
Designed for high-performance professional WordPress builds.
8. Security
- Nonce verification for AJAX
- Capability checks (
manage_options) - Sanitized output
- No user-submitted schema injection
- Safe JSON encoding via
wp_json_encode()
9. Technical Notes
- Outputs JSON-LD in
<head> - Uses Schema.org vocabulary
- Compatible with Google structured data guidelines
- Generates schema on every singular request
- No schema regeneration required
- No background processing
10. Summary
ProofMEDIA Schema Plugin provides:
- Automatic structured data generation
- Course schema support
- Product schema with pricing detection
- FAQ rich results
- Review & rating schema
- Fully connected entity graph
- No consent plugin required
- No SaaS dependency
- No database storage
Built specifically for professional WordPress deployments where:
- SEO precision matters
- Automation matters
- Performance matters
- Long-term stability matters
For more information about the ProofMEDIA Professional Plugin Suite:
https://proofmedia.uk
