Learn
Schema Markup: Meaning, Examples, and How to Validate It
Schema markup describes a page in a vocabulary machines already agree on. It does not improve rankings directly — it makes a page eligible for richer presentation.
Run a fresh DomainLens audit and use the report as your priority list.
Schema markup meaning
Schema markup is a block of structured data stating what a page is about, written in a shared vocabulary from schema.org. A human reads a price and a star rating from the layout; a machine reads them from the markup. Without it, a search engine has to infer meaning from raw text, and it frequently declines to.
The vocabulary is shared deliberately. Because Google, Bing, and others agreed on the same type names and property names, one block of markup serves every consumer that understands it, instead of each search engine requiring its own dialect.
| Format | Where it lives | Recommendation |
|---|---|---|
| JSON-LD | A script block, separate from the markup | Google's preferred format — use this |
| Microdata | Attributes on existing HTML elements | Supported; harder to maintain |
| RDFa | Attributes on existing HTML elements | Supported; rarely worth choosing now |
Schema markup example in JSON-LD
JSON-LD sits in the head or body as its own script block, which is why it survives template changes better than attribute-based formats — nothing about the visual markup can accidentally break it, and nothing about it constrains the visual markup.
| Type | Use on | Required essentials |
|---|---|---|
| Article | Editorial and blog pages | headline, image, datePublished |
| Product | Product detail pages | name, image, offers with price and currency |
| BreadcrumbList | Any page with a hierarchy | itemListElement with position on each item |
| Organization | Home page or a shared block | name, url, logo |
| LocalBusiness | Physical locations | name, address, openingHours |
| FAQPage | Genuine question and answer pairs | mainEntity with Question and acceptedAnswer |
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Schema Markup: Meaning, Examples and Validation",
"description": "What schema markup means and how to check it.",
"image": "https://example.com/cover.jpg",
"datePublished": "2026-08-14",
"dateModified": "2026-08-20",
"author": {
"@type": "Person",
"name": "Jamie Rivera"
},
"publisher": {
"@type": "Organization",
"name": "Example",
"url": "https://example.com"
}
}
</script>
Schema markup and SEO: what it actually does
What markup buys you is eligibility, not position. Valid Product markup makes a page eligible for a price and availability treatment in results; it does not make the page rank higher, and eligibility never guarantees the treatment appears. Google decides per query whether a rich result is useful.
The indirect benefit is real but narrower than usually claimed: a richer result can lift click-through rate on a position you already hold. That is worth having, and it is not the same thing as ranking improvement.
- Add one type per page concept rather than stacking every type you can name.
- Never mark up content the page does not visibly contain — that is a guidelines violation, not an optimisation.
- Keep markup values synchronised with the rendered page; a price that drifts out of sync is worse than no markup.
- Correct markup on a noindexed or blocked page is eligible for nothing, so fix indexability first.
Schema markup validator versus tester
Two tools share the job and answer genuinely different questions. Picking the wrong one is the usual reason markup "passes" while the rich result never appears.
The Schema Markup Validator checks your syntax against the schema.org vocabulary — it will happily approve a valid type Google has no rich result for. The Rich Results Test checks eligibility for a specific Google feature, which is the question you actually care about.
| Question | Tool | What it will not tell you |
|---|---|---|
| Is my syntax valid schema.org? | Schema Markup Validator | Whether Google supports the type |
| Am I eligible for a rich result? | Rich Results Test | Whether the result will actually show |
| What did Google see on the live page? | URL Inspection | Anything about a page you do not own |
| Which pages fail at scale? | Search Console enhancement reports | Errors on pages never crawled |
Schema markup failures that still pass a checker
Every item above validates cleanly in a syntax checker, which is exactly why a checker alone is not enough. For client-rendered sites, confirm the block survives rendering before debugging the schema itself — the JavaScript rendering guide covers how to check, and structured data errors covers what Search Console reports afterwards.
- Markup injected by JavaScript that never runs for the crawler — validate the rendered HTML, not the source.
- Values disagreeing with the visible page, such as a price in markup that differs from the price on screen.
- A review rating with no visible reviews, or self-serving ratings on the business's own page.
- FAQ markup applied to content that is not genuinely a question and answer pair.
- Valid markup on a page that is noindexed, blocked, or canonicalised elsewhere.
Schema markup generators and CMS plugins
A generator is a reasonable way to produce a first block for an unfamiliar type, because it enforces the required properties you would otherwise miss. It is a poor way to maintain markup: the output is a static snapshot, and any page whose price, date, or availability changes will drift out of sync the moment it does.
On a CMS, prefer whatever the platform emits from its own data. Squarespace, Shopify, and WordPress SEO plugins generate markup from the same fields that render the page, which keeps the two aligned automatically. The work then shifts from writing markup to auditing what the platform produced — usually checking that the type is right and that required properties are populated.
How DomainLens contributes
DomainLens parses the structured data on a page, reports the types it finds, and flags malformed or incomplete blocks alongside the rest of the audit — so markup problems appear in the context of the canonical, robots, and rendering state that determine whether they matter at all. The on-page checklist places markup beside titles, headings, and copy.
- Does schema markup improve rankings?
- Not directly. It makes a page eligible for richer presentation, which can raise click-through rate, but Google has been consistent that markup is not a ranking factor in itself.
- Which schema markup format should I use?
- JSON-LD. Google recommends it, and because it lives in its own script block it is far less likely to be broken by a template change than Microdata or RDFa.
- Can I mark up content that is not visible on the page?
- No. Structured data must describe what users can actually see. Marking up hidden or absent content violates Google's guidelines and risks a manual action.
- Why is my schema markup valid but no rich result appears?
- Validity produces eligibility, not display. Google decides per query and per page whether to show the treatment, and page quality and query intent both affect that decision.