Docket / Fix it / Schema types

A schema type is a claim about what you are

Structured data is not decoration. A type declaration is a machine-readable sentence saying this organisation is a thing of this kind, and a search engine reads it as a claim you have made about yourself. Which is why an audit that suggests the wrong type, and hands you a block to paste, is doing something more serious than being unhelpful.

The snippet that told everyone they were a plumber

This one is ours, and it is the worst thing in the catalogue.

The suggested-markup builder produced a complete, valid, ready-to-paste JSON-LD block. It declared the organisation a plumbing firm, gave it a plumbing company's name, a street address in a city on another continent and a pair of geographic coordinates to match. And it interpolated the audited site's own URL and logo into the same block.

A university received it. So did everybody else — a bakery on one continent was handed markup saying it was a plumber on another.

The interpolation is what makes it dangerous rather than merely silly. A block that opens with your real domain reads as researched, and every field below inherits that credibility. Nobody scrutinises line four of something that got lines one and two right about them.

The sharpest part: a sibling function elsewhere in the same codebase states this exact principle in its own comments — that the lines above interpolate the real name and origin, so anything number-shaped reads as researched and gets pasted verbatim — and was written carefully because of it. This one lived in a different file and never got the lesson. A rule learned in one place does not travel to another by itself.

The type that does not exist where the advice said it did

The second failure is quieter and more common in tooling generally.

The advice used to read "add LocalBusiness, or a subtype". For a university that names a type it does not have: in schema.org's hierarchy CollegeOrUniversity descends from EducationalOrganization, not from LocalBusiness. So the subtypes on offer were things like plumber, dentist and restaurant, and none of them was the answer.

A vocabulary has a shape. "Or a subtype" is only useful advice when the thing you are is actually underneath the thing being named.

Generous about applying the check, strict about what to recommend

Here is the distinction that fixed it, and it generalises well past schema.

The test for whether the local-business checks apply at all is deliberately loose — it keys on signals like a published street address, which universities, government offices, hospitals, libraries and museums all have. That looseness is correct: those organisations do have local-search work to do, and excluding them would help nobody.

But the output of the check is markup that makes a claim. Being generous about applying a lane is right. Being generous about what to recommend is not.

So only the unambiguous cases are claimed — an education or government domain label is strong evidence and gets the matching type. Everything else stays with the general type, because a charity on an ordinary domain looks exactly like a shop from the outside, and guessing wrong is precisely the thing the rule exists to prevent.

Choosing your own type

Reading any pasteable block an audit gives you

When this matters most

Structured data that misdescribes your organisation is not a missed opportunity — it is a statement search engines can act on, and the consequences run from ignored markup to manual action depending on how far the claim is from the truth. Two cases deserve care:

The fixes that make it worse

How to pass this check while saying something untrue

Declare the type the report named, fill in your real address, and you are done — the finding clears whether or not the type is accurate, because no crawler can verify what kind of organisation you are. The check can see the shape of your claim and never its truth, which is exactly why the recommendation has to be careful in a way the validation cannot be.

Where this sits in an audit

The registered check is local.schema, which covers local-business structured data. For the case where the markup on your page describes businesses you list rather than your own, see the markup on your page may not be about you →. For the other ways structured data goes wrong, see how to fix structured data errors →.

Common questions

Is LocalBusiness the right schema type for any organisation with an address?

No. Universities, government offices, hospitals, libraries and museums all publish addresses, and none of them is a LocalBusiness in schema.org's hierarchy. The accurate type carries the same fields.

Can I use a LocalBusiness subtype for a university?

There is not one. CollegeOrUniversity descends from EducationalOrganization, so advice to pick a LocalBusiness subtype offers alternatives that do not apply.

Is it safe to paste a suggested structured-data block?

Only after checking every value. These blocks are valid JSON-LD whatever they say, and a tool that interpolates your real domain makes the example data below it read as researched.

What should I use if no type fits precisely?

Go up rather than sideways. Organization is true of every organisation and claims nothing false, and a wrong specific type is worse than a right general one.

Does the wrong type actually cause harm?

It can. Markup is read as a claim you made, so a type implying a regulated category, or a location that is not yours, is a different order of error from a missing property.