🎯 Overview
A common question we hear is: my OTTO plugin shows as connected and the schema shows as deployed, so why isn't it appearing in Google Rich Results Test, schema validators, or search results? This article walks through the most frequent causes and how to resolve them so your structured data is served and recognized correctly.
⏱️ Give It Time to Crawl and Cache
OTTO deploying schema is not the same as Google indexing it. Even when a validator can read the markup instantly, search results and rich results require Google to re-crawl the page. Keep these timelines in mind:
- Validators (Rich Results Test, Schema.org validator): Should reflect changes within minutes to a few hours after deployment.
- Google Search rich results: Can take days to weeks after Google re-crawls the page.
- CDN or caching plugins: May serve a cached version of the page without the injected schema until the cache clears.
If a validator does not show your schema after a few hours, continue with the checks below.
✅ Confirm the Page Is Crawlable
OTTO schema will not be recognized if the target URL cannot be crawled by search engines. We previously fixed an issue where schema was being deployed on pages that were not crawled. Verify the following for the exact URL you are testing:
- The page returns a 200 status (not a redirect, 404, or 500).
- The URL is not blocked in robots.txt.
- The page does not carry a noindex meta tag or header.
- You are validating the exact same URL that OTTO deployed to — including trailing slashes, http vs https, and www vs non-www variations.
🔗 Test the Correct URL Variation
Schema is deployed on a specific URL. If your site redirects between www and non-www, or between http and https, validators may test a version of the page that OTTO did not inject into. Always run the validator against the canonical, final URL that resolves in your browser after any redirects.
⚠️ Check for Validation Errors and Warnings
OTTO validates schema before deployment. In some cases schema may deploy with warnings, and certain errors can prevent Google from recognizing it as valid structured data. Watch for these known issues:
- @context must use HTTPS: If the schema context reads http:// instead of https://, validators may reject it. Ensure your context is set to the secure schema.org URL. Note that this error can also appear in nested schema properties and may not always be caught before deployment — if validators flag an
@contextHTTPS error even after re-deploying, inspect all nested schema objects forhttp://references. - Bypassed validation warnings: OTTO allows you to bypass validation and deploy anyway with a warning. If you used this option, the deployed schema may contain errors that external validators flag.
If you bypassed a validation warning during deployment, re-review the schema and correct the underlying issue before re-deploying.
🧹 Rule Out Duplicate or Stale Schema
If schema continues to appear even after you remove an OTTO deployment — or the wrong schema shows up — another source may be serving structured data on the same page. Common sources include:
- A separate SEO or schema plugin injecting its own markup.
- Your WordPress theme adding built-in schema.
- A previously cached version of the page still being served.
Conflicting or duplicate schema can cause validators to display unexpected results. Disable other schema sources temporarily to isolate what OTTO is serving.
Note for WordPress users: A known issue exists where schemas continue to be served on a page even after the OTTO schema deployment has been removed. If you are seeing schema in validators that you have already deleted in OTTO, check whether another plugin or theme is the source, and also clear all caches before concluding OTTO is still injecting it. This issue has been addressed in a recent release (WP-541).
🔄 Re-Deploy and Clear Caches
Once you have confirmed the page is crawlable and free of validation errors, refresh your deployment:
- Confirm the OTTO plugin still shows as connected.
- Re-deploy the schema to the target URL.
- Clear your WordPress cache and any CDN cache.
- Load the live page and view the source to confirm the JSON-LD markup is present.
- Run the URL through the Rich Results Test and a schema validator again.
If the markup is present in the page source but a validator still does not detect it, the issue is almost always a caching layer or a URL mismatch — recheck those first.
💬 Need More Help?
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.