Technical SEO

The 10-minute manual schema check that beats validators

TS Talha Shahzad··6 min read
The short version
  • Schema validators confirm syntax but miss duplication and logic errors that break rich results.
  • A single Organization entity sitewide is the first thing to verify manually.
  • Conflicting property values across multiple JSON-LD blocks silently confuse Google.
  • Cross-check your manual findings against GSC Enhancements for the full picture.

Schema validators will tell you your markup is valid. Google will still ignore it. That gap between "validates" and "works" is where most rich result failures live, and it is almost always a logic problem, not a syntax problem.

I run a focused manual check on every site I touch. It takes about 10 minutes. It catches the issues that validators miss every time: duplicate entities, conflicting property values, broken references, and empty fields that technically pass validation but functionally do nothing.

Why validators give you false confidence

The Google Rich Results Test and Schema.org Validator do exactly one thing well: they confirm your JSON-LD follows the spec. If a required field exists and the nesting is correct, you get a green checkmark.

But here is what they do not check. They do not tell you that you have three separate Organization entities on the same page with slightly different names. They do not flag that your @id reference in one block points to an entity that does not exist in another. They do not warn you that two blocks define conflicting values for the same property.

These are the failures that make Google quietly drop your rich results. Not a syntax error. A trust problem. When Google sees conflicting signals, it does not guess which one is right. It ignores all of them.

Step 1: confirm a single Organization entity

Open your homepage source. Search for "@type": "Organization". You should find exactly one. If you find two or more, that is the most common silent failure I see across client sites.

This happens because plugins, themes, and manual additions each inject their own Organization block. A Yoast SEO plugin adds one. A custom JSON-LD block in the header adds another. A footer script adds a third. Each one has slightly different values for name, url, or logo.

Google sees three different organizations claiming to be the same site. It does not merge them. It gets confused and drops the whole thing.

The fix: consolidate into one authoritative Organization block, usually in the site header. Remove or suppress any duplicates from plugins or templates. Use a consistent @id so other entities can reference it cleanly.

Step 2: check for conflicting property values

With your single Organization confirmed, scan for any other JSON-LD blocks on the page. Look at the property values they reference.

Common conflicts I find:

  • A BlogPosting block lists the author as "Talha Shahzad" but the Organization block uses "Talha S." as the founder name.
  • A LocalBusiness block has one address format while a ContactPoint block uses a different one.
  • Two FAQ blocks on the same page with overlapping questions but different answers.

Each of these tells Google that your structured data is unreliable. Validators see valid individual blocks. Google sees a page that contradicts itself.

Want a website that turns visitors into customers, not just compliments?

Book a 15-min intro

Step 3: verify @id references resolve

Modern schema best practice uses @id to link entities together. Your Person entity might reference your Organization entity by its @id. Your BlogPosting might reference the Person the same way.

Open your page source and search for every @id value. For each one, confirm that a matching @id exists in another block on the same page or is accessible at the URL if it is a full URI.

Broken references are invisible to validators. They look like valid JSON. But when Google tries to connect your author to your organization and the reference points nowhere, the relationship breaks. Your author does not get associated with your brand. E-E-A-T signals do not compound.

I have seen sites lose their author rich result simply because a template update changed the @id format from #organization to #org and nothing else was updated to match.

Step 4: ensure no empty required fields

Validators flag missing required fields. They do not always flag fields that exist but contain empty strings, placeholder text, or obviously wrong values.

Check these specifically:

  • name: is it your actual business name, not "Company Name" or empty?
  • url: does it point to your live domain, not localhost or a staging URL?
  • logo: does the image URL actually resolve? Load it in a browser.
  • datePublished on articles: is it a real date, not a template placeholder?
  • author: is it a named person or organization, not "Admin" or blank?

I once found a site where every blog post had datePublished: "2024-01-01" because the CMS template had a hardcoded default that nobody changed. Every post looked identical to Google. None of them earned the date-based rich result they should have had.

Step 5: cross-check against GSC Enhancements

The final step ties your manual findings to what Google actually sees. Open Google Search Console, navigate to Enhancements, and check each schema type you have implemented.

GSC will show you:

  • Which pages have valid structured data
  • Which pages have errors or warnings
  • Whether your pages are eligible for rich results

Compare this against your manual check. If you fixed a duplicate Organization issue but GSC still shows errors, the old cached version might still be in play. Request revalidation.

If GSC shows valid structured data but you are not getting rich results, the issue is likely not schema at all. It could be content quality, E-E-A-T signals, or Google simply choosing not to display that type of rich result for your queries. Schema is necessary but not sufficient.

The 10-minute checklist summary

Here is the exact sequence I follow:

  1. View page source. Search for "@type": "Organization". Count instances. Should be exactly one.
  2. Check all JSON-LD blocks for conflicting property values, especially name, address, and author fields.
  3. Search for every @id value. Confirm each one has a matching definition.
  4. Verify no required fields are empty, placeholder, or obviously wrong.
  5. Open GSC Enhancements. Cross-reference against your manual findings.

That is the whole check. Ten minutes, five steps, and it catches the category of error that causes the vast majority of "my schema validates but I have no rich results" complaints.

Validators are a starting point. They confirm the floor. This manual check confirms the ceiling. If you are an agency pitching structured data as a service, this is the difference between "we added schema" and "we made schema work." One of those gets renewed. The other gets questioned when the client checks GSC three months later and sees nothing changed.

If your structured data is validating but not performing, that is the kind of technical audit I run before touching anything else. The fix is almost always in the details the tools skip over.

Prefer to hire through Upwork?
Top Rated Plus, 100% Job Success, 450+ projects shipped. See the reviews and start a contract.
Hire me on Upwork

FAQ

Why don't schema validators catch all the errors?

Validators check syntax and required fields against the Schema.org spec. They don't evaluate whether you have duplicate entities, conflicting values across blocks, or broken internal references. Those logic-level failures are what actually break rich results.

How often should I run this manual check?

After every major site update, CMS migration, or plugin change. Schema breaks silently when content around it changes. A quarterly cadence is the minimum for stable sites.

Can I automate this check instead of doing it manually?

You can automate parts of it, like counting Organization entities or flagging empty fields. But the judgment calls, like whether conflicting values make sense, still need a human. The 10 minutes are worth it.

All posts
the next step is small

Want a site that does this for you?

15 minutes, no deck, no pressure. Worst case, you leave with a free plan.

keep reading

More notes