Skip to content

Schema Markup Basics in SEOvault AI

SEOvault AI automatically generates structured data (schema markup) for your WordPress site. Schema markup helps search engines understand your content and can lead to rich results in search listings. The plugin outputs schema as JSON-LD in the <head> of your pages.

Go to SEOvault AI > General > Schema in your WordPress admin. The tab includes the master enable switch, publisher identity settings, and optional automatic component toggles.

The plugin outputs schema as a JSON-LD script tag in the <head> of your pages. The output is built from multiple sources:

  • Foundational context – automatic entities like WebSite, Organization or Person, BreadcrumbList, and SearchAction
  • Post-level schema – custom JSON-LD or guided schema instances added to individual posts
  • Schema templates – reusable schema configurations with display conditions
  • Block-derived schema – FAQPage and HowTo nodes from Gutenberg blocks
  • Extension contributions – schema added by other plugins via the seovaultseo_set_schema filter

All sources are merged into a single @graph array and rendered as one JSON-LD block.

Foundational schema is generated automatically for every page on your site. It includes:

  • WebSite – your site URL, name, and search action
  • Organization or Person – publisher identity based on your settings
  • BreadcrumbList – navigation trail for the current page
  • SearchAction – site search box for rich results

These entities are always output unless schema is disabled globally or the specific component is turned off.

Choose how your site is represented in schema:

  • Organization – your site is represented as an Organization entity (default for businesses)
  • Person – your site is represented as a Person entity (default for personal blogs)
  • Both – both Organization and Person entities are output

This setting affects the foundational schema and is used when rendering other schema types that reference a publisher.

Schema field values support dynamic variables that are replaced at render time. Common variables include:

  • %site.url% – your site homepage URL
  • %site.title% – your site name
  • %site.description% – your site tagline
  • %site.logo% – your site logo URL
  • %post.title% – current post title
  • %post.excerpt% – current post excerpt
  • %post.url% – current post permalink
  • %post.published_date% – current post publish date (ISO 8601)
  • %post.modified_date% – current post modified date (ISO 8601)
  • %post.author_name% – current post author display name
  • %term.name% – current term name
  • %term.description% – current term description
  • %author.name% – current author display name
  • %current.url% – current page URL
  • %current.title% – current page title
  • %current.description% – current page description
  • %current.time% – current time
  • %current.year% – current year
  • %current.month% – current month name
  • %current.day% – current day of month
  • %current.date% – current date

Variables use dot notation for nested values. For example, %schemas.organization% resolves to the @id of the Organization entity.

  1. Go to SEOvault AI > General > Schema.
  2. Check Enable Schema to turn on schema output (enabled by default).
  3. Select a Publisher Identity:
    • Organization – for business sites
    • Person – for personal blogs
    • Both – to output both entities
  4. Under Automatic Components, toggle optional foundational pieces:
    • Breadcrumbs – include BreadcrumbList schema
    • Search Action – include SearchAction schema
  5. Click Save Changes.

You can add custom schema to individual posts, pages, or terms:

  • Custom JSON-LD – paste raw JSON-LD in the SEOvault AI meta box for full control
  • Guided schema instances – use the guided form to build schema with field validation

Post-level schema overrides global defaults for that specific page. If you add custom JSON-LD, it is the only schema output for that page (unless you enable V2 foundational mode, which merges custom with foundational).

Schema templates are reusable configurations that apply to multiple pages based on display conditions. For example, you can create an Article template that automatically applies to all blog posts.

Templates are managed from the Schema tab and include:

  • Schema type – the schema.org type (Article, Event, Product, etc.)
  • Field values – using variables or static text
  • Display conditions – rules for when the template applies (post type, taxonomy, etc.)

Templates are merged with foundational schema and post-level schema.

  • Autopilot mode only: Schema output is only active when the plugin is in Autopilot output mode. In Manual or Disabled mode, no schema is output.
  • JSON-LD format: The plugin outputs schema as JSON-LD, which is the recommended format for Google and other search engines.
  • Validation: The plugin validates schema after post save and shows issues in the Schema Health panel. Invalid custom JSON is withheld from output after migration.
  • Block-derived schema: FAQ and HowTo blocks automatically generate schema without requiring additional configuration.
  • WooCommerce: If WooCommerce is installed, the plugin can enhance product schema and remove duplicate breadcrumb schema.
  • Multiple entities: The @graph can contain multiple entities of the same type. Each entity must have a unique @id.
  • @id references: Use variables like %schemas.organization% to reference other entities in the graph without hardcoding URLs.