Common Mistakes While Adding Schema Markup on WordPress

WordPress makes schema implementation easier, but common mistakes can break your structured data and prevent Google Rich Results. Learn the top WordPress schema errors and how to avoid them.

Why WordPress Schema Breaks So Often

WordPress sites have unique schema challenges due to plugin conflicts, theme interference, and automatic schema generation. Over 60% of WordPress sites have at least one critical schema error without knowing it.

⚠️ Real Cost

A single WordPress schema error can prevent ALL your rich results from appearing. I've seen e-commerce sites lose $20K+ monthly revenue because of a simple plugin conflict that duplicated Product schema.

Mistake #1: Multiple Plugins Adding Duplicate Schema

🚨 Most Common WordPress Error

Running Yoast SEO + Rank Math + WooCommerce simultaneously can create 3 duplicate Organization schemas on every page.

The Problem

Popular WordPress plugins all add schema automatically:

  • βœ— Yoast SEO adds Organization, WebSite, Article schemas
  • βœ— Rank Math adds Organization, WebSite, Person schemas
  • βœ— WooCommerce adds Product, Offer schemas
  • βœ— Schema Pro adds everything you configure
  • βœ— Your theme might add its own schema

When these overlap, Google sees conflicting data and may ignore ALL your schema.

The Fix

  1. 1. Choose ONE primary SEO plugin – Either Yoast OR Rank Math, never both
  2. 2. Disable redundant schema – In your SEO plugin settings, turn off schema types already handled elsewhere
  3. 3. Use Schema settings carefully – Don't enable "automatic schema" in multiple plugins
  4. 4. Check with Schema Validator – Validate your homepage to detect duplicates

Example: Disabling Yoast Schema Graph

// In functions.php
add_filter('wpseo_json_ld_output', '__return_false');

// OR disable specific schema types
add_filter('wpseo_schema_organization', '__return_false');
add_filter('wpseo_schema_website', '__return_false');

Mistake #2: Wrong Yoast/Rank Math Configuration

Most WordPress users activate SEO plugins without properly configuring schema settings, leading to generic or incorrect structured data.

Common Configuration Errors

❌ Using "Person" instead of "Organization"

For business sites, use Organization schema, not Person. Yoast defaults to Person if not configured.

❌ Missing logo or using wrong dimensions

Organization logo should be square (1:1 ratio) and at least 112x112px. Many use rectangular logos which Google rejects.

❌ Empty social profiles

Add all your social media URLs in Yoast -> General -> Knowledge Graph for complete Organization schema.

Correct Yoast Configuration

  1. 1. Go to Yoast SEO β†’ General β†’ Knowledge Graph
  2. 2. Select β€œOrganization” if you're a business
  3. 3. Upload square logo (at least 512x512px)
  4. 4. Fill all social profile URLs
  5. 5. Go to Search Appearance β†’ Content Types
  6. 6. Set default schema types for Posts (Article) and Pages (WebPage)

Mistake #3: Theme Adding Hidden Schema

Many WordPress themes (especially premium ones like Astra, GeneratePress, Divi) add their own schema markup. This conflicts with plugin-generated schema.

πŸ” How to Detect Theme Schema

  1. 1. Disable all SEO plugins temporarily
  2. 2. View your homepage source code (Ctrl+U / Cmd+U)
  3. 3. Search for application/ld+json
  4. 4. If you see schema markup, it's coming from your theme

The Fix

Check your theme settings for schema options:

  • β€’ Astra: Customizer β†’ Layout β†’ Blog β†’ Disable "Schema Markup"
  • β€’ GeneratePress: Elements β†’ Disable schema blocks
  • β€’ Divi: Theme Options β†’ Builder β†’ Disable schema

If your theme doesn't have settings, use this code in functions.php:

// Disable Astra schema
add_filter('astra_attr_article-wrapper', function($attr) {
    unset($attr['itemtype']);
    unset($attr['itemscope']);
    return $attr;
});

// OR use a child theme and remove theme schema hooks

Mistake #4: Broken WooCommerce Product Schema

WooCommerce automatically adds Product schema, but it's often incomplete or incorrect without proper configuration.

❌ Missing GTIN/SKU

Google requires GTIN (barcode) or SKU for Product rich results. WooCommerce includes these if you fill the "SKU" field in product data.

❌ Wrong Image URLs

WooCommerce uses product thumbnail URLs, which might be too small. Google requires images at least 800x800px for Product rich results.

❌ Variable Product Confusion

Variable products (different sizes/colors) need special schema handling. Default WooCommerce schema only shows the default variation.

WooCommerce Schema Best Practices

  • βœ“ Always fill SKU field for every product
  • βœ“ Use high-quality product images (minimum 800x800px)
  • βœ“ Enable product reviews to get aggregateRating schema
  • βœ“ Keep stock status accurate (in stock/out of stock)
  • βœ“ Use Schema Pro or similar plugin for advanced Product schema
  • βœ“ Test product pages with SchemaValidator.org

Mistake #5: Missing Schema for Custom Post Types

WordPress custom post types (portfolios, testimonials, events) often have no schema markup because plugins only target standard Posts and Pages.

πŸ’‘ Solution

Use Schema Pro, WP Schema Plugin, or add custom schema via functions.php for each custom post type. Match the schema type to content (Event schema for events, Review schema for testimonials, etc.)

Mistake #6: Broken Breadcrumb Schema

WordPress breadcrumb plugins (Yoast, Breadcrumb NavXT, RankMath) can create invalid breadcrumb schema if not configured correctly.

Common Issues:

  • β€’ Breadcrumb schema on homepage (unnecessary and wrong)
  • β€’ Missing position numbers in ItemList
  • β€’ Incorrect hierarchy in category pages
  • β€’ Duplicate breadcrumb schemas from theme + plugin

Correct Breadcrumb Setup

  1. 1. Enable breadcrumbs in Yoast SEO β†’ Search Appearance β†’ Breadcrumbs
  2. 2. Disable theme breadcrumbs to avoid duplicates
  3. 3. Add breadcrumb shortcode to your theme (not on homepage)
  4. 4. Validate with SchemaValidator to check ItemList structure

Mistake #7: Wrong Schema Type for Blog Posts

Many WordPress sites use generic "Article" schema when "BlogPosting" is more appropriate, or vice versa.

Use BlogPosting When:

  • βœ“ Personal blog posts
  • βœ“ Opinion pieces
  • βœ“ Informal content
  • βœ“ Regular blog updates

Use Article When:

  • βœ“ In-depth guides
  • βœ“ Tutorials
  • βœ“ Research articles
  • βœ“ Professional content

In Yoast: Search Appearance β†’ Content Types β†’ Posts β†’ Schema type β†’ Choose appropriate type

WordPress Schema Validation Checklist

Before Publishing Any WordPress Site:

Validate Your WordPress Schema Now

Catch schema errors before they hurt your SEO

Check Your WordPress Site β†’

Related Guides