Schema markup is a machine-readable label attached to information that already belongs on a page. It can identify an article, a business, an event, a product, or another specific kind of content without changing what a visitor sees.
When I check a page, I compare the visible copy with the JSON-LD in the source, then read Google's documentation for the feature the page is trying to earn. Quiet failures usually show up where those sources disagree.
What schema markup is
Schema.org provides a shared vocabulary for describing things on the web. Structured data is the machine-readable information. Schema markup is structured data written with that vocabulary.
Google supports three formats for search features: JSON-LD, Microdata, and RDFa. Google generally recommends JSON-LD because it can sit in a separate script block instead of being woven through the visible HTML.
A small JSON-LD block can identify a business name, telephone number, and opening hours like this:
// abbreviated for illustration; Google LocalBusiness rich-result eligibility also requires "address"
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Acme Plumbing",
"telephone": "(555) 867-5309",
"openingHours": "Mo-Fr 09:00-17:00"
}
This block is valid JSON-LD and uses Schema.org terms. That does not automatically make it eligible for a Google LocalBusiness result. Google applies its own feature-specific requirements on top of the broader vocabulary.
Eligibility is not a guarantee
Correct structured data can make a page eligible for a supported search feature. Google still decides whether to show that feature for a particular query, device, location, and user. A passing Rich Results Test is evidence that Google can read an eligible item, not a promise that the result will look different.
Feature support is specific. Recipe markup has different rules from Product, Event, Article, or LocalBusiness markup. A type that exists on Schema.org may have no dedicated Google search feature at all.
Valid Schema.org markup and Google rich-result eligibility are two different checks. Passing one does not prove the other.
Why schema can fail quietly
The visible page can look normal while its structured data is incomplete, misleading, or irrelevant to the feature you expected. Four checks catch most problems.
Parseability. The script must be valid JSON-LD. A missing comma, quote, or closing brace can prevent the block from being parsed.
Visible-content match. Structured data must describe content a reader can actually find on the page. Hidden claims, ratings, or questions can violate Google's guidelines even when the code parses.
Correct type and properties. Use the type that describes the real page and entity. Then check Google's documentation for that supported feature. Schema.org may allow a property that Google ignores, and Google may require a property that Schema.org treats as optional.
Consistent facts. A theme, plugin, app, and hand-written block can all emit structured data. Multiple blocks are not inherently wrong, but conflicting names, URLs, addresses, or entity identities create a factual problem that needs to be resolved.
Choose schema by page purpose
Organization describes a company or brand. Person describes an individual. Article describes editorial content. BreadcrumbList describes a page's place in the site hierarchy.
LocalBusiness is for a real business location. Google's LocalBusiness rich-result documentation requires a physical address. Serving a city does not create an office there. A service-area page should describe the service and put the covered place in Service.areaServed instead of inventing a local address or a new LocalBusiness entity. The local-business guide covers that decision in detail.
How to check what's missing on your site
Start with the visible page. Confirm that every fact in the structured data appears there and is current.
Use Google's Rich Results Test to see supported items Google detects and any feature-specific errors. Use the Schema.org validator to inspect the broader vocabulary. Neither tool can decide which entities your page ought to describe.
Search Console rich-result reports show samples of supported structured-data items Google found on indexed pages. They help diagnose validity problems. They do not prove that Google displayed a rich result.
You can also inspect a page with 0-Tech Schema for a plain-English inventory and suggested JSON-LD. Review every suggestion against the visible page and the current Google documentation before publishing it.
FAQ
Does schema markup directly affect rankings?
Google does not describe structured data as a general ranking boost. It helps Google understand eligible page features and can change how a supported result appears. Correct markup still does not guarantee that feature will be shown.
What's the difference between schema markup and structured data?
Structured data is the broader concept: information formatted for machines. Schema markup is structured data that uses the Schema.org vocabulary. JSON-LD is one format Google supports and generally recommends.
Do I need a developer to add schema?
Some platforms provide fields or plugins for common types. Custom templates, multiple entities, or conflicting implementations may need a developer. The hard part is not pasting JSON-LD. It is describing the right thing with current, visible facts.
Does schema cost anything? What about plugins?
The vocabulary and JSON-LD format are free. Implementation may be built into a platform, supplied by a plugin, or added in a custom template. Check what the site already emits before adding another source.
How do I know if my schema is working?
Check that the JSON-LD parses, matches the visible page, uses the right entity, and meets Google's rules for the intended feature. The Rich Results Test and URL Inspection help with Google-supported features. Search Console reports are sampled and do not confirm display.
What is JSON-LD?
JSON-LD stands for JavaScript Object Notation for Linked Data. On a web page, it usually lives inside a <script type="application/ld+json"> element. Its facts still need to match the content people can read.
