Structured Data for Schema.org

plugin banner

Generate Schema.org structured data via shortcode. Supports HowTo, FAQPage, ItemList, CreativeWork.

Author:Phil (profile at wordpress.org)
WordPress version required:5.8
WordPress version tested:6.9.4
Plugin version:1.0.12
Added to WordPress repository:11-03-2026
Last updated:12-03-2026
Rating, %:0
Rated by:0
Plugin URI:https://iphil.top/portfolio/structured-data-f...
Total downloads:302
plugin download
Click to start download

Structured Data for Schema.org helps you add valid Schema.org markup to your WordPress content. This improves how search engines understand your content and may qualify for Google Rich Snippets (depending on schema type and page structure).

Supported Schema Types

  • HowTo — Step-by-step tutorials (Google Rich Result eligible, 1 per page recommended)
  • FAQPage — Questions & Answers (Google Rich Result eligible, 1 per page limit enforced)
  • ItemList — Ordered/unordered lists (Google Rich Result eligible)
  • CreativeWork — General content (SEO only, no Rich Result)

Important: Google Rich Results

Not all schema types guarantee Rich Snippets. Google has specific requirements:

  • HowTo: Best results with ONE main tutorial per page
  • FAQPage: Only ONE FAQPage schema per page is eligible for Rich Results (plugin enforces this)
  • ItemList: Works well for top-10 lists, product collections
  • CreativeWork: Helps SEO but does not trigger Rich Results

This plugin generates valid Schema.org markup. Rich Result eligibility depends on your content structure and Google’s algorithms.

Usage

HowTo Schema

[schema type="HowTo" name="How to Draw a Rune" time="5M"]
Step 1: Clear your mind
Step 2: Focus on your question
Step 3: Click the daisy
[/schema]

FAQPage Schema

Use | to separate questions and answers (one Q&A per line):

[schema type="FAQPage" name="Rune FAQ"]
What are runes? | Ancient Germanic alphabet symbols
How do I use them? | Focus on a question and draw randomly
When should I draw? | When you need guidance
[/schema]

For schema-only output (no visible HTML), add hidden="1":

[schema type="FAQPage" name="FAQ" hidden="1"]
Question 1 | Answer 1
Question 2 | Answer 2
[/schema]

ItemList Schema

[schema type="ItemList" name="Top 3 Runes"]
Fehu - Wealth and abundance
Uruz - Strength and vitality
Thurisaz - Protection and power
[/schema]

For unordered list (bullets), add items-tag="ul":

[schema type="ItemList" name="My List" items-tag="ul"]
Item 1
Item 2
Item 3
[/schema]

CreativeWork Schema

[schema type="CreativeWork" name="My Guide" description="A comprehensive rune guide"]
Your content here...
[/schema]

Attributes

  • type — Schema type: HowTo, FAQPage, ItemList, CreativeWork (default: HowTo)
  • name — Title of the schema (required for all types)
  • description — Brief description (HowTo, CreativeWork)
  • time — Duration (HowTo only, auto-converts to ISO 8601: “5M”, “1H30M”, “PT30M”)
  • image — Featured image URL (HowTo only)
  • hidden — Hide HTML output, keep schema only (values: 1, true)
  • position — Starting position for ItemList numbering (ItemList only)
  • url — URL for list items (ItemList only, applies to all items)
  • items-tag — HTML tag for ItemList: “ol” (default) or “ul”

Developer Notes

Classes

  • SDFSO_Schema (includes/class-sdfso-schema.php) — Core schema generation logic (static methods)
  • SDFSO_Shortcode (includes/class-sdfso-shortcode.php) — Shortcode registration and rendering

Supported Schema Types

| Type        | Rich Result  | Limit Per Page | Required Fields         |
|-------------|--------------|----------------|-------------------------|
| HowTo       | Yes          | 1 recommended  | name, step[]            |
| FAQPage     | Yes          | 1 enforced     | mainEntity[]            |
| ItemList    | Yes          | ∞              | name, itemListElement[] |
| CreativeWork| No           | ∞              | name                    |

License

This plugin is licensed under GPLv2 or later.

Copyright (C) 2026 philstudio

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.


Screenshots
FAQ
ChangeLog