Skip to main content

Schema Conflicts Are Killing Your Rich Results — How to Find Them

Two plugins, three schema types, one page. That's the recipe for silent rich-result loss. Here's how to detect, explain and fix schema conflicts across a WordPress site.

March 5, 2026 10 min read The WBP Editorial Team
Glowing JSON schema code brackets

Schema is the most under-audited layer of a WordPress site. Every plugin adds its own JSON-LD, WooCommerce injects Product, your theme adds BreadcrumbList — and no one checks whether they contradict each other. Google quietly demotes the page.

TL;DR
  • Schema conflicts = multiple JSON-LD blocks describing the same entity differently.
  • Symptoms: lost rich results, PAA disappearance, GEO citation drop.
  • Root causes: overlapping plugins, theme injection, page builders.
  • Fix: audit → dedupe → canonicalize one source of truth.

The four most common conflict patterns

  1. Article + BlogPosting on the same URL from two SEO plugins.
  2. Product + Offer duplicated across WooCommerce and a review plugin.
  3. FAQPage defined twice with different Question sets.
  4. BreadcrumbList from theme + SEO plugin — different item lists, different orders.

How to detect them in five minutes

Manual detection
  1. 1
    View source

    Search the raw HTML for application/ld+json — count the blocks.

  2. 2
    Validate

    Paste each block into Schema.org Validator and Google Rich Results Test.

  3. 3
    Compare @type

    Any URL with two blocks of overlapping @type is a conflict.

  4. 4
    Compare @id

    Missing or duplicate @id values create ambiguity for LLMs.

The five-minute rule

If a page has more than one JSON-LD block, one of them is probably wrong. WBP Omni SEO Pro's Schema Auditor surfaces this per URL.

Conflict typeImpactFix
Duplicate ArticleRich result lossDelete plugin B's Article, keep A
Product/Offer splitMerchant listing dropConsolidate into single Product with mainEntityOfPage
Double FAQPagePAA disappearanceMerge questions into one block
Broken BreadcrumbListTrail loss in SERPChoose one emitter, disable the other

The one-source-of-truth rule

Pick one plugin to own each schema type. WBP Omni SEO Pro can own everything, or it can defer specific types to WooCommerce or a review plugin. The rule is simple: never two emitters for the same @type on the same URL.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "@id": "https://example.com/post/#article",
  "mainEntityOfPage": "https://example.com/post/",
  "headline": "How to detect schema conflicts",
  "author": { "@type": "Organization", "name": "WBP" }
}
Is more schema always better?

No. Redundant or conflicting schema is worse than none. Quality beats quantity.

Does Google punish duplicate JSON-LD?

Not with a manual action — but rich results silently disappear, which is often worse.

Can I keep WooCommerce's schema and add my own?

Yes, as long as you don't duplicate @type. Use mainEntity + hasPart relationships instead.

Find every schema conflict on your site

WBP Omni SEO Pro's Schema Auditor scans your entire library and shows conflicts as approvable diffs.

Get WBP Omni SEO Pro

Affiliate — this link goes to the official WBP Omni SEO Pro product page.

T
The WBP Editorial Team
WP Bulk Publishing