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.
- 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
- Article + BlogPosting on the same URL from two SEO plugins.
- Product + Offer duplicated across WooCommerce and a review plugin.
- FAQPage defined twice with different Question sets.
- BreadcrumbList from theme + SEO plugin — different item lists, different orders.
How to detect them in five minutes
- 1View source
Search the raw HTML for application/ld+json — count the blocks.
- 2Validate
Paste each block into Schema.org Validator and Google Rich Results Test.
- 3Compare @type
Any URL with two blocks of overlapping @type is a conflict.
- 4Compare @id
Missing or duplicate @id values create ambiguity for LLMs.
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 type | Impact | Fix |
|---|---|---|
| Duplicate Article | Rich result loss | Delete plugin B's Article, keep A |
| Product/Offer split | Merchant listing drop | Consolidate into single Product with mainEntityOfPage |
| Double FAQPage | PAA disappearance | Merge questions into one block |
| Broken BreadcrumbList | Trail loss in SERP | Choose 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 ProAffiliate — this link goes to the official WBP Omni SEO Pro product page.



