RevealTheme logo
Back to Blog

Schema Markup for WordPress: What to Add and Where

Schema Markup for WordPress: What to Add and Where
The RevealTheme Team

By

·

Schema markup is the layer that turns a WordPress page from a wall of HTML into something a search engine can read with confidence. It tells Google "this is an article, written by this person, published on this date" or "this is a product, it costs $39, and it has 142 reviews averaging 4.6 stars." In 2026 it does double duty: it still powers Google's rich results, and it increasingly feeds the AI answer engines (Google's AI Overviews, ChatGPT Search, Perplexity) that parse structured data to decide what to cite.

The two questions people actually get stuck on are what to add and where it comes from on a WordPress site. WordPress is unusual here because you rarely write schema by hand — your SEO plugin generates most of it, sometimes your theme generates more, and the two can collide. This guide covers both: which schema types are worth your attention in 2026, and where in WordPress each one is actually controlled.

Where schema comes from on a WordPress site

Before adding anything, understand that a typical WordPress page already emits schema from up to three sources, and they don't coordinate with each other:

  • Your SEO plugin. Yoast SEO outputs a single connected @graph — one JSON-LD block where Organization, WebSite, WebPage, Article, and Person nodes all reference each other by @id. This interconnection is genuinely good for machine comprehension. Rank Math takes a different approach: a Schema Generator with reusable templates plus a per-post Schema tab where you pick the type for each piece of content.
  • Your theme. Many themes — especially older ones and some page-builder stacks — inject their own Article or Organization markup, often in outdated microdata format.
  • WooCommerce. It emits Product schema on product pages automatically, independent of your SEO plugin.

The practical consequence: most WordPress sites don't need more schema. They need to know what they already have and make sure it isn't duplicated or broken. Start by running an important URL through Google's Rich Results Test and reading what comes back before you add a single line.

The baseline every WordPress site already has

If you run Yoast or Rank Math with default settings, these four are typically in place. You don't add them — you configure them:

  • Organization (or Person) schema. Identifies the site as a publishing entity with a name, logo, and social profiles. In Yoast this lives under Settings → Site representation, where you choose Organization vs. Person and upload the logo Google uses in results. In Rank Math it's under Titles & Meta → Local SEO / Global Meta. Set this once; get it right, because every other node references it.
  • WebSite schema with SearchAction. Declares your internal search, which historically let Google show a sitelinks search box. Auto-generated; nothing to configure.
  • BreadcrumbList. Powers the breadcrumb trail shown in place of the raw URL in search results. Auto-generated once your breadcrumbs are enabled.
  • Article / BlogPosting. Added to each post with author, datePublished, and dateModified. This is the workhorse for blogs and news sites.

That baseline captures the large majority of the schema benefit for a typical content site. Everything beyond it is content-specific and should only be added if your site actually contains that kind of content.

What to add selectively — and what's now obsolete

Here is where 2026 advice diverges sharply from articles written two or three years ago. Two once-popular schema types no longer produce rich results at all:

  • HowTo schema is dead for rich results. Google removed HowTo rich results entirely in September 2023. Adding HowTo markup to a tutorial no longer earns the stepped visual treatment it used to. The markup isn't harmful, but don't add it expecting a search appearance — there isn't one.
  • FAQPage schema is fully deprecated. Google restricted FAQ rich results to authoritative government and health sites in August 2023, then removed the appearance entirely in May 2026. As of mid-2026 there is no FAQ rich result for anyone. Google still reads FAQPage markup to understand a page, and AI engines may parse it, so it isn't pointless — but stop treating it as a path to star-studded SERP real estate. If your SEO plugin still auto-adds it, that's fine; just don't build pages around the expectation of a visual payoff.

The schema types that still earn rich results in 2026, added only when relevant:

  • Product (with Offer and AggregateRating). The most valuable schema for commerce. Every WooCommerce product page should carry name, image, description, brand, price/availability, and review ratings where they exist. WooCommerce handles the base; confirm your SEO plugin isn't emitting a second, conflicting Product node.
  • Review / AggregateRating. Drives the star ratings in results for genuine review content. Google has tightened its policy — self-serving reviews of your own business don't qualify — so use it only for legitimate editorial or user reviews of distinct items.
  • Recipe. Still strongly supported, with rich cards, ratings, cook times, and Google's recipe carousels. Essential for food sites; irrelevant everywhere else.
  • VideoObject. Surfaces video thumbnails and key-moment timestamps in search and the Video tab. Worth adding on any page where video is the main content.
  • Event, Course, JobPosting, SoftwareApplication. Each maps to a specific niche (event listings, online courses, hiring pages, software reviews) and produces a dedicated rich result. Add the one that matches your content; ignore the rest.

The mistake the "Yoast vs. Rank Math: which supports more schema types" comparisons encourage is treating breadth as value. A general blog gains nothing from Course schema, and a WooCommerce store gains nothing from Recipe schema. Match schema to content, not to a feature checklist.

The WordPress-specific gotcha: duplicate schema

The single most common real problem on WordPress isn't missing schema — it's duplicate schema. When your theme and your SEO plugin both emit an Article node, or WooCommerce and an SEO plugin both emit Product, the Rich Results Test shows two of the same entity. Google may pick the wrong one, ignore both, or flag a conflict.

To diagnose, view a page's source and search for application/ld+json — each match is a separate schema block. Two Article blocks means two sources. The fix is to silence one of them: most quality themes have a toggle to disable their built-in schema (look under the theme's SEO or general settings), and that's almost always the one to turn off, leaving your SEO plugin's connected graph as the single source of truth. If the theme offers no toggle, the plugin route is more reliable to keep.

When plugins aren't enough

For most sites, Yoast or Rank Math covers everything above. The cases where you reach for more are narrow: a custom post type your plugin doesn't model, or a complex nested entity (a multi-day Event with sub-events, say). Options in rough order of effort are Rank Math's custom-schema builder, a dedicated plugin like Schema Pro, or hand-written JSON-LD injected via a small functions.php hook into wp_head. The last is accurate and fully under your control, but very few WordPress users ever need it — treat it as a last resort, not a starting point.

Verify it, then re-verify it

Schema fails silently. A broken block doesn't get you penalized — it just quietly forfeits the rich result, and you may never notice. Build a small verification habit:

  1. Run your key page types — homepage, a post, a product — through Google's Rich Results Test to see what Google can actually parse and which results you're eligible for.
  2. Use the Schema.org validator for technical correctness independent of Google's eligibility rules.
  3. Watch Google Search Console's Enhancements section, which reports rich-result eligibility by type across your whole site. New deployments take roughly one to four weeks to surface here.

The most frequent silent break is a malformed date — Article schema requires ISO 8601 (2026-01-15T08:00:00Z) and a plugin or theme update can occasionally output something else. Schema validity isn't a one-time setup; a theme switch or plugin update can break it without warning. Re-test your two or three most important pages once or twice a year, and you'll catch the regressions everyone else discovers months too late.