Structured data is a standard vocabulary, mostly from Schema.org, that labels parts of a page: this is an article, this is its author, this is a product with a price. Search engines can use those labels to understand the page and, for some types, to show richer results.

Describe what is visible

Markup must reflect content that visitors can see on the page. Adding ratings, prices or reviews that are not there breaks Google's guidelines and can lead to the markup being ignored or a manual action.

Why JSON-LD is the practical choice

Google recommends JSON-LD. It sits in a script block and does not need to be woven into your HTML.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Schema Markup: What It Can and Cannot Do",
  "datePublished": "2026-09-12",
  "author": { "@type": "Person", "name": "Author Name" }
}
</script>

The Schema Markup Generator can help you build a starting point.

Valid is not the same as eligible

A validator checks syntax and whether required fields exist. It does not promise that Google will show a rich result. Eligibility depends on the content type, quality and Google's current policies. Some result types, like FAQ and how-to, are now limited or removed.

What it can do. It can help search engines identify entities and relationships, and it can qualify certain pages for features such as product, recipe, event or breadcrumb results.

What it cannot do

It does not raise rankings directly. It cannot rescue thin content, and it cannot make a page eligible for a feature that Google does not offer for that type.

Avoid duplicate or conflicting data. If your CMS or plugin already outputs schema, adding another block can create conflicts. Check the page source once, and remove duplicates.

Which types are worth considering

For a content site, Article or BlogPosting, BreadcrumbList and Organization or Person are common. A tools site might use SoftwareApplication or WebApplication where appropriate. Only add types that match your content and for which you can fill in accurate properties. A smaller set of correct markup is better than a long list of guesses.

A short maintenance routine

When you change a title, date or author, update the markup too. After a redesign, test a handful of page types. Watch Search Console for warnings. If you use a plugin, check its output now and then, because settings and updates can produce surprising results.

What an Article block usually includes

Common properties are headline, image, datePublished, dateModified and author. Use the real values from the page, with the date format ISO 8601, for example 2026-09-12. Keep the headline close to the visible title. If your site shows a modified date, make the markup match it.

A breadcrumb example

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Guides", "item": "https://example.com/guides/" },
    { "@type": "ListItem", "position": 2, "name": "Schema Markup" }
  ]
}

Breadcrumb markup should mirror the breadcrumbs that visitors see on the page.

Reading test results. The Rich Results Test lists errors, which usually block a feature, and warnings, which are suggestions. Fix errors first. Do not add fake fields just to clear a warning. If a field does not apply to your page, leave it out.

Test and monitor

Use the Rich Results Test and Schema Markup Validator after publishing. In Search Console, the enhancement reports list errors and warnings by type.