Search Engines & SEO

Schema Markup

Definition

Schema.org is a shared vocabulary launched in 2011 by Google, Microsoft, Yahoo and Yandex, covering several hundred types with defined properties. Three syntaxes can express it: JSON-LD, Microdata and RDFa. JSON-LD is the one Google recommends and the one nearly everyone uses, because it sits in its own script block with type application/ld+json rather than being threaded through the visible markup, which means you can add or change it without touching the layout. A typical block names a type in the @type field and then fills in its properties, so an Article carries headline, datePublished and author, while a Product carries name, image, offers and aggregateRating. The markup describes the page; it does not change how the page looks in a browser at all.

Why It Matters

The concrete payoff is eligibility for rich results — the star ratings, prices, event dates and breadcrumb trails that make a listing take up more space and answer more of the question before the click. Beyond appearance, it removes ambiguity: a date in the text could be a publication date, an event date or an expiry, and a datePublished property settles it. The rule that catches people is correspondence. Structured data must describe content a visitor can actually see on the page, and inventing ratings or prices that exist nowhere on it is a documented policy violation that draws a manual action removing rich results site-wide. Markup is a description of the page, not a claim about it.

How It Works

The block goes in the head or the body — either is valid for JSON-LD — and is collected during rendering, after JavaScript has run. Google's Rich Results Test reports whether a page qualifies for a specific enhancement, and the Schema Markup Validator checks the vocabulary itself without regard to what any one engine supports; the two answer different questions and both are worth running. Entities can be linked by @id so that an Organization defined once is referenced from every Article, rather than repeated. Ongoing errors show up in the enhancement reports in Search Console, grouped by type. Open Graph tags do a superficially similar job for social platforms, but they are a separate, much smaller vocabulary and neither replaces the other.

Real-World Example

A freelancer publishes a one-page CV as static HTML at nadia-cv.99helpers.site and adds a JSON-LD Person block giving name, jobTitle, url and sameAs links to two professional profiles. The page looks identical afterwards, since the block renders nothing. What changes is that the search engine now has an unambiguous statement of who the page is about, rather than inferring it from a heading — and because 99helpers serves the file exactly as uploaded, the markup reaching the crawler is the markup that was written.

Common Mistakes

  • Describing things the page does not show — markup must match visible content, and inventing ratings or prices is a policy breach with site-wide consequences
  • Copying a template and leaving placeholder values in place — an aggregateRating of 5 from one review is both implausible and, for a self-review, ineligible
  • Validating only with the Rich Results Test — it reports Google eligibility, not whether the schema.org vocabulary is used correctly
  • Adding markup for a type Google does not support as an enhancement — it is still valid and still useful, but no listing will change because of it

Related Terms

Put a file online in seconds

Drop in a document, an image, a page or a whole static website and share the link — free, with no build step and no server to set up.

Host a file free →