STRUCTURED DATA
Structured Data for SEO: JSON-LD Schema Markup That Actually Moves Rankings
Structured data helps Google understand what your content is about and unlocks rich results in search. Here's how JSON-LD schema markup works, which types matter for SEO, and how to implement and validate it correctly.
Published July 12, 2026 · 9 min read
Structured data is machine-readable markup that tells search engines what your content means, not just what it says. A page can contain the text "4.8 stars from 312 reviews" — but without structured data, Google has to infer whether that's a product review, a book rating, or something else. With structured data, you tell Google explicitly: this is a Product, it has an aggregateRating of 4.8 from 312 ratingCount values.
The payoff: rich results in search — star ratings, FAQ dropdowns, recipe cards, how-to steps, event dates, and more — that increase your CTR without improving your ranking position. For some schema types, structured data is also a direct signal to AI answer engines that your content is well-structured and citable.
This guide covers how structured data works, which schema types deliver the most SEO value, and how to implement and validate each one.
How structured data works
Structured data is embedded in a page's HTML as a signal to crawlers. Three formats exist:
JSON-LD (JavaScript Object Notation for Linked Data) — the format Google recommends and the one you should use. It's placed in a <script type="application/ld+json"> tag in the <head> or <body>. It doesn't affect the visible content, can be updated without touching the HTML markup, and is easy to generate programmatically.
Microdata — HTML attributes added directly to existing elements: <span itemscope itemtype="https://schema.org/Product">. Older, harder to maintain, not recommended for new implementations.
RDFa — similar to Microdata; attributes added to HTML elements. Used in some academic and government contexts; not recommended for general web SEO.
For every new implementation: use JSON-LD.
How rich results work
Structured data eligibility doesn't guarantee rich results appear. Google uses structured data as an eligibility signal — the page must have valid schema markup of the right type for that rich result format — but also evaluates content quality, E-E-A-T, and page experience before deciding to show a rich result.
The path from structured data to rich result:
- Add valid JSON-LD of the eligible schema type
- Google crawls and processes the page
- Google validates the schema against its Rich Results requirements (these are stricter than Schema.org's spec)
- If valid and if the page meets quality thresholds, a rich result may appear for relevant queries
Not all schema types unlock rich results. Some types (Organization, WebSite, BreadcrumbList) influence Knowledge Panel and sitelinks display without creating a distinct visual rich result in the organic listings.
Schema types that matter for SEO
FAQPage
FAQPage schema marks up question-and-answer content and is one of the most valuable schema types for most content sites. When Google validates it, the SERP listing can show expandable FAQ items directly in the results — significantly increasing the listing's visual footprint and CTR.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Structured data is machine-readable markup embedded in a page's HTML that tells search engines what the content means."
}
}
]
}
FAQPage schema is also the primary structured data signal for AI answer engine citation: AI Overviews, ChatGPT browsing, and Perplexity all favour content with clearly structured question-answer pairs. The GEO score's FAQPage check is one of the five AI visibility signals.
HowTo
HowTo schema marks up step-by-step instructional content. Google can show it as a rich result with numbered steps and optional images. Best for tutorials, recipes, repair guides, and setup instructions.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to add structured data to a Next.js page",
"step": [
{
"@type": "HowToStep",
"name": "Create a JSON-LD object",
"text": "Define your schema as a JavaScript object matching the Schema.org type."
},
{
"@type": "HowToStep",
"name": "Embed it in a script tag",
"text": "Add a <script type=\"application/ld+json\"> tag in the page's <head> containing the JSON."
}
]
}
Article
Article schema marks up editorial content — blog posts, news articles, long-form guides. Required properties: headline, author (a Person or Organization object), datePublished, dateModified. Optional but recommended: image, publisher.
Article schema doesn't create a visual rich result in standard organic listings, but it's important for E-E-A-T: linking content to a named author with credentials helps Google assess authoritativeness. It's also required for Google News eligibility.
Product
Product schema marks up product pages with name, description, image, SKU, brand, and — most importantly for rich results — aggregateRating and Offer (price and availability). Valid Product + AggregateRating schema unlocks star rating rich results in product search listings.
BreadcrumbList
BreadcrumbList marks up the breadcrumb navigation path for a page. Google uses it to display the URL path in search results as a readable breadcrumb trail instead of a raw URL, and to understand site hierarchy. All sites should implement BreadcrumbList — it's one of the easiest schema types and affects how every URL appears in search results.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Blog", "item": "https://example.com/blog" },
{ "@type": "ListItem", "position": 2, "name": "Structured Data Guide", "item": "https://example.com/blog/structured-data" }
]
}
Organization and WebSite
Organization schema marks up your brand's identity — name, URL, logo, social profiles, contact information. WebSite schema marks up the site itself and can enable the sitelinks search box in Knowledge Panel results. Both should be on your homepage.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Corp",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"sameAs": [
"https://twitter.com/example",
"https://www.linkedin.com/company/example"
]
}
SoftwareApplication
SoftwareApplication marks up software tools and apps — operating system requirements, pricing, application category, and aggregate rating. For SaaS products and developer tools, this schema type can unlock rich results with pricing and ratings in search.
Implementing structured data
The preferred implementation: a <script type="application/ld+json"> tag in the <head> of each page that needs it. Multiple schema objects can be included in a single script tag as a JSON array, or as separate script tags.
Next.js implementation:
export default function BlogPost({ post }) {
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Article',
headline: post.title,
author: { '@type': 'Person', name: post.author },
datePublished: post.publishedAt,
dateModified: post.updatedAt,
};
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
{/* page content */}
</>
);
}
WordPress: Yoast SEO and Rank Math both auto-generate structured data for posts, pages, and products. Review their schema output in the Rich Results Test — both occasionally emit invalid or incomplete schema for edge cases.
Manually: Generate JSON-LD for any schema type at Schema.org, validate it with Google's Rich Results Test, then embed the validated JSON in a <script type="application/ld+json"> tag.
Validating structured data
Google's Rich Results Test (search.google.com/test/rich-results) — paste a URL or HTML snippet; shows which schema types are detected, whether they're valid for rich results, and any errors or warnings. This is the primary validation tool.
Schema Markup Validator (validator.schema.org) — validates against the Schema.org specification (broader than Google's rich result requirements). Use this for types that don't have a Google rich result but still provide semantic value.
Google Search Console's Rich Results report — after deploying structured data on live pages, GSC's Enhancement reports (under the Enhancements section) show the indexed status of specific schema types, including any validation errors found during crawling.
Common structured data mistakes
Marking up content that isn't visible on the page. If the FAQ answers in your JSON-LD aren't visible in the page's rendered HTML, Google will invalidate the schema — it's a spam signal to mark up content users can't see.
Incorrect nesting. Each schema type has specific required and recommended properties. FAQPage requires mainEntity → Question → acceptedAnswer → Answer nesting. Missing a level or using the wrong type name ("@type": "FAQ" instead of "@type": "FAQPage") causes validation failure.
Not updating dateModified. Article schema with a stale dateModified date tells Google the page hasn't been updated — which affects how content freshness is interpreted. Always update dateModified when making meaningful content changes.
Adding schema to every page regardless of content type. A contact page shouldn't have Article schema. A blog post shouldn't have Product schema. Match the schema type to what the page actually is. Mismatched schema raises spam flags.
Ignoring GSC enhancement errors. Schema errors in the Rich Results report mean rich results aren't appearing for those pages — even if the implementation looks correct locally. Check the Enhancement reports monthly and fix validation errors as they appear.
Run the DeepSEOAnalysis free audit to check which schema types are present, which have validation errors, and which pages are missing schema they should have.
Frequently asked questions
Does structured data directly improve Google rankings?
Structured data is not a direct ranking signal in the same way that backlinks or content quality are — adding FAQPage schema doesn't give a page a ranking boost. The indirect benefits are significant: rich results (FAQ dropdowns, star ratings, breadcrumbs) improve CTR from existing rankings, and certain schema types (Article with author, Organization) contribute to E-E-A-T signals that Google uses to assess content authority. FAQPage and HowTo schema also increase the likelihood of being cited in AI Overviews and AI answer engines.
Which schema type should I prioritise first?
BreadcrumbList on every page (quick win, affects all URL displays), then FAQPage on any page with Q&A content (rich result potential and AI citation signal), then Article on all blog posts (E-E-A-T and Google News eligibility), then Product + AggregateRating on product pages (star rating rich results). Organization and WebSite on the homepage once. HowTo on step-by-step instructional pages.
How long does it take for structured data to show as rich results?
After deploying valid structured data, Google typically discovers and processes it within the next crawl cycle — usually days to a couple of weeks for most sites. Rich results eligibility is then evaluated, which can take additional time. Monitor Google Search Console's Enhancement reports and the Rich Results Test for specific URLs to track progress. Rich results are never guaranteed even with valid schema — Google decides whether to show them based on quality signals.
Does JSON-LD need to match the visible content exactly?
The content in JSON-LD must reflect what's visible on the page — Google validates that schema markup isn't fabricated or misrepresenting the content. For FAQPage, the questions and answers must appear in the visible HTML. For Product, the price in the Offer must match the displayed price. For Article, the author name should match a visible author attribution. The exact wording doesn't need to be character-for-character identical, but the meaning should be equivalent.
MORE FROM THE BLOG
Related articles
10 min read
On-Page SEO: The Complete Checklist for 2026
On-page SEO covers every element you control on the page itself — title tags, headings, content, internal links, structured data, and image optimisation. Here's the full checklist and what to prioritise.
Read →8 min read
Mobile SEO: A Complete Guide for 2026
Google indexes the mobile version of your pages first. Here's the complete mobile SEO checklist: mobile-first indexing, responsive design, Core Web Vitals on mobile, tap targets, intrusive interstitials, and the Mobile Usability report in GSC.
Read →9 min read
Local SEO: A Complete Guide for 2026
Local SEO is the practice of optimising for geographically specific queries — 'coffee shop near me', 'plumber Manchester'. Here's how the Local Pack works, what Google's three local ranking factors mean in practice, and the full optimisation checklist.
Read →Run DeepSEOAnalysis on your own site.
Free, no signup. Technical SEO, Core Web Vitals, structured data, and AI visibility in one report.
Run a free audit →