🧩 OTTO and Yoast Schema Conflicts

Camilo Aponte

Camilo Aponte

Last updated on Sep 30, 2026

🔍 What is happening

OTTO and Yoast can both attempt to generate structured data on the same WordPress pages. When OTTO takes over schema output, Yoast may return an empty @graph:[] instead of its normal BlogPosting and author entities.

This can affect many posts at once, including sites with 700 or more articles. The issue is usually a schema-output conflict, not missing author data in WordPress or Yoast.

✅ Confirm the conflict

  1. Open an affected blog post in an incognito browser window.
  2. View the page source and search for application/ld+json.
  3. Check whether Yoast outputs an empty @graph while OTTO-related schema markup is present or controls the page output.
  4. Test several posts, including posts with different authors and publication dates, to confirm the issue is site-wide.
  5. Use Google’s Rich Results Test or Schema Markup Validator to compare an affected page with a page from before OTTO was enabled.

🛠️ Restore Yoast schema output

  1. In WordPress, open the OTTO plugin settings or installation configuration.
  2. Find the setting that enables OTTO schema, structured data, schema takeover, or replacement of existing schema.
  3. Disable OTTO’s schema output or configure OTTO to preserve the existing Yoast schema. Do not disable OTTO’s other SEO changes unless required.
  4. Save the configuration and clear WordPress, hosting, CDN, and browser caches.
  5. Regenerate or recrawl the affected URLs if your setup provides a schema refresh or site scan option.

Setting names can differ by OTTO plugin version and WordPress configuration. If no schema control is visible, temporarily deactivate the OTTO plugin on a staging site and retest. If Yoast schema returns, the conflict is confirmed.

👤 Verify BlogPosting and author data

  1. Open a recently updated post and inspect its JSON-LD.
  2. Confirm the @graph contains a BlogPosting entity.
  3. Confirm BlogPosting includes an author property that references or contains a Person entity.
  4. Check that the Person entity includes a valid name and, where applicable, a profile URL.
  5. Test posts by multiple authors to ensure the fix applies across the site.

Do not manually add duplicate BlogPosting or Person schema to every post. Duplicate entities can create new validation issues and may conflict with Yoast after future updates.

🧪 Validate at scale

For a site with 700 or more posts, first validate a representative sample: old and new posts, posts by different authors, and posts using different templates. Then crawl the full blog section to identify pages that still return an empty graph or lack BlogPosting and author data.

Search engines may need time to recrawl the corrected pages. A valid test result confirms the markup is present, but it does not guarantee immediate changes in search results.

🚨 If the issue continues

Check for additional schema plugins, theme-generated JSON-LD, caching layers, and custom code that filters Yoast schema. Re-enable only one schema provider at a time on staging to identify competing output.

When requesting help, include an affected URL, a page-source excerpt showing the empty graph, the OTTO plugin version, the Yoast version, and the result after disabling OTTO schema output.

If you need further assistance, open the chat widget in the bottom-right corner of the platform and type human teammate to be connected with a member of our team.