Structured Data & Schema Markup: How to Help Search Engines Understand Your Site
A practical guide to JSON-LD structured data — what schema.org types matter most, how rich results work, and how to validate your markup.
SiteGraph Team
SEO Research at AnantaHQ
Search engines are good at reading text, but they're much better at understanding your content when you describe it explicitly in a machine-readable format. That's what structured data does — it's an annotation layer on top of your HTML that spells out "this is a product, it costs $29, and it's in stock" instead of leaving a crawler to infer that from surrounding text.
What Is Structured Data?
Structured data is content marked up according to a shared vocabulary — almost always schema.org — so that any consumer (search engine, voice assistant, browser extension) can parse it consistently. It doesn't change what users see on the page; it's a parallel, structured description of the same content.
JSON-LD vs. Microdata vs. RDFa
There are three ways to embed schema.org markup in HTML. Google explicitly recommends JSON-LD, and it's what the vast majority of modern sites use, because it lives in a single <script> block, decoupled from your visual markup — you can add or change it without touching your page layout.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How Structured Data Works",
"author": { "@type": "Person", "name": "Jane Doe" },
"datePublished": "2026-07-01"
}
</script>
Microdata and RDFa embed the same information as attributes inline in your HTML tags (itemscope, itemprop, etc.). They still work, but they're harder to maintain because your content markup and your structured-data markup are the same markup.
Schema Types That Matter Most
- Organization / LocalBusiness: Establishes your brand identity, logo, and contact details — used across almost every rich result type that mentions your site
- Article / NewsArticle / BlogPosting: Enables headline, author, and publish-date display in search results and can support Top Stories eligibility
- Product: Powers price, availability, and review-star rich results in e-commerce search listings
- FAQPage: Can render an expandable question list directly in search results, taking up more visual space on the results page
- BreadcrumbList: Replaces a raw URL in search results with a readable breadcrumb trail
- Review / AggregateRating: Powers star ratings next to a listing — but only when reviews are genuine and clearly tied to the entity being reviewed; Google actively penalizes fabricated or self-serving review markup
Rich Results Are Not Guaranteed
Adding correct structured data makes your content eligible for a rich result — it does not guarantee one. Google's algorithms decide whether and when to render a rich snippet based on relevance, quality, and query context. Some rich result types (like FAQ snippets) have also had their eligibility tightened over time, so don't treat any single structured-data type as a permanent ranking lever.
Common Mistakes
- Marking up content that isn't visible on the page: Structured data must describe content a user can actually see; marking up hidden or fabricated data violates Google's structured data guidelines and can trigger a manual action
- Multiple conflicting @type declarations for the same entity on one page
- Stale data: a Product marked "in stock" that's actually sold out, or an Article with the wrong
dateModified - Copy-pasted boilerplate left over from a template, describing a different business entirely
How to Validate Your Markup
Use Google's Rich Results Test to check whether a specific page's structured data is valid and which rich result types it's eligible for. The broader Schema.org validator checks correctness against the full vocabulary, even for types Google doesn't currently use for rich results. Google Search Console's Enhancements reports also surface structured-data errors across your whole indexed site over time, not just one page at a time.
How SiteGraph Checks This
SiteGraph extracts and reports every JSON-LD block found on a scanned page, showing which schema.org types are present and flagging pages with no structured data at all — a quick way to see whether a site is taking advantage of this signal or leaving it on the table.
SiteGraph Team
SEO Research at AnantaHQ