Most structured data on business websites does nothing measurable. The types that actually earn rich results are Organization/LocalBusiness, BreadcrumbList, Product with Offer, and Article/BlogPosting. The bigger, longer-lasting benefit is entity clarity: one Organization object with a stable @id, reused across every page, that clearly identifies who you are to both Google and AI systems.
The problem with most schema
A large share of the structured data on business websites does nothing. It validates cleanly, it shows up in testing tools, and it has no effect on search results or on how AI systems understand the business. This happens because schema gets added as a checklist item rather than to achieve a specific outcome.
Structured data does two useful things. It makes your pages eligible for rich results, which changes how they look in search. And it gives machines an unambiguous statement of what your business is, which is what entity recognition depends on. Markup that serves neither purpose is just bytes.
The types that earn rich results
Only a limited set of types produce a visible change in Google's results, and the list changes over time. As of now the reliably useful ones for most businesses are these.
- Organization and LocalBusiness. Feeds knowledge panels and supports entity recognition. The single most important type for most businesses.
- BreadcrumbList. Replaces the URL in the search result with a readable path. Small but consistently effective on click-through.
- FAQPage. Display is now limited to authoritative government and health sites in most regions, so treat it as machine-readable structure rather than a rich result.
- Product with Offer. Price, availability and rating in the result. The highest-impact markup available to e-commerce.
- Article and BlogPosting. Supports article rich results and gives AI systems author and date signals they use to judge freshness.
- HowTo and Recipe. Still supported where genuinely applicable.
The part that matters more than rich results
Rich results get the attention, but the more durable benefit is entity clarity. When a machine reads your site, it needs to answer one question: is this organisation the same one I have seen elsewhere? Structured data is how you answer that.
Anchor the organisation once
The most common structural mistake is re-declaring the organisation on every page as a fresh, anonymous object. Each page then introduces what looks like a new company, and the authority that should accumulate on one entity scatters across dozens of unrelated ones.
The fix is to give the organisation a stable identifier and reuse it. Define the full object once with an @id such as https://example.lk/#organization, then on every other page reference it rather than repeating it.
"publisher": { "@id": "https://example.lk/#organization" }
Do the same for the founder or author with a #person identifier. Two stable identifiers, referenced consistently, do more for entity recognition than any amount of additional markup.
Use sameAs, and use it honestly
sameAs is how you connect your entity to profiles that already exist in the machine's understanding of the world. List every profile you genuinely control: the company registry entry, LinkedIn, your Google Business Profile, Crunchbase, YouTube.
The rule is that every URL must resolve and must genuinely belong to you. A sameAs pointing at a 404, or at a profile you do not control, is an unverifiable claim, and unverifiable claims reduce confidence rather than building it.
What to avoid
- Invented ratings.
aggregateRatingwithout real, verifiable reviews behind it is a structured data spam violation and attracts manual action. - Markup that contradicts the page. Structured data must describe what a visitor actually sees. Schema describing content that is not on the page is a policy breach.
- Inconsistent details. If your schema says one address and your footer says another, you have created ambiguity where you meant to remove it.
- Type stuffing. Adding twenty types because a plugin offers them does not help. A small, accurate, consistent graph beats a large messy one every time.
How to check it
- Validate every block as JSON before anything else. A single trailing comma silently disables the entire block, and it is the most common failure by a wide margin.
- Run the pages through Google's Rich Results Test to confirm eligibility for the specific features you are targeting.
- Use the Schema Markup Validator for general correctness, since it reports issues Google's tool ignores.
- Check consistency across the whole site, not page by page. The failures that matter most are contradictions between pages, and no single-page tool will show you those.
If you only do one thing, make it the organisation identifier. A single consistently referenced entity with honest sameAs links is worth more than every other type combined.