SEO3 min read

Schema Markup and JSON-LD: A Practical Guide

Choose schema types that match visible content, generate JSON-LD from page data, and validate without overpromising rich results.

Structured data is machine-readable information about the page, not a shortcut to rankings. The safest implementation describes visible content accurately, uses a supported vocabulary, and is generated from the same source data that renders the page.

Choose a type that matches the page

An article page can describe its headline, author, dates, and publisher with Article or a more specific subtype. A software tool may use SoftwareApplication or WebApplication when the visible page genuinely represents that software. BreadcrumbList can describe visible navigation hierarchy. Adding unrelated schema types does not make a page more authoritative.

Keep structured and visible content consistent

  • Use the same title and canonical URL the visitor sees.
  • Use real publication and modification dates rather than changing dates automatically.
  • Only include ratings or reviews that are actually present and eligible under the relevant guidelines.
  • Use stable author and organization identities across pages.

Generate JSON-LD from page data

In an application framework, avoid maintaining a separate hand-written block that can drift away from the article metadata. Generate JSON-LD from the same article object used for the title, dates, author, and URL. Serialize it safely and test representative pages after changes.

{ "@context": "https://schema.org", "@type": "Article", "headline": "Example guide" }

Validate but do not overpromise

Schema.org validation can identify vocabulary and syntax issues. Google's Rich Results Test can show whether markup is eligible for specific Google features. Valid markup does not guarantee a rich result, indexing, or ranking because those decisions depend on additional systems and policies.

Sources and further reading

Primary documentation and references used to support this guide.