
Structured Data SEO Guide: JSON-LD That Works
Structured data gives search engines and AI systems a direct description of a page instead of forcing them to infer meaning from text.
· Updated · By Rogier Bruggeman, Founder of KinetixSEO
Why structured data still matters
Structured data gives search engines and AI systems a direct, unambiguous description of a page instead of forcing them to infer meaning from text and layout. JSON-LD markup — the format Google recommends over Microdata or RDFa — wraps this information in a script tag that describes entities like articles, products, organizations, and questions using the shared vocabulary at schema.org. That shared vocabulary is what lets a search engine confidently show a star rating, a FAQ dropdown, or a breadcrumb trail in results, per Google's structured data guidelines. If you're still fuzzy on what the term covers before going further, the structured data glossary entry on this site lays out the basic definition.
Test the technical signal
Want to see this on your own site?
Use your own site as the evidence. Get a free SEO and AI-citation readiness baseline, then monitor what changes.
AI-powered search and answer engines lean on structured data as a fast, low-ambiguity signal when deciding what to cite. Google's AI Overviews, ChatGPT's browsing mode, and Perplexity all favor pages where the answer is already segmented into clean, labeled entities rather than buried in prose. A page with well-formed Article or FAQPage markup hands these systems a pre-packaged answer they can lift with confidence; a page without it forces the model to parse and guess. A KinetixSEO crawl study of 36 public SEO and web-performance guide articles from software vendors and developer publications, run October 7, 2026, found that 58% publish Article or FAQPage structured data directly on the page. That leaves a real share of guide content with no machine-readable summary at all for an AI system to lift, even as more vendors adopt the practice.
The five schema types worth implementing first
Five schema types cover most of the value any site gets from structured data: Article, FAQPage, Product, BreadcrumbList, and Organization. Most sites don't need dozens of types beyond these, and chasing exotic schema before covering these five is usually wasted engineering time. A structured data / schema validator can tell you which of the five your site is already missing before you spend time guessing.
Article: identifying headline, author, and date
Article schema (or its subtypes, NewsArticle and BlogPosting) identifies headline, author, publish date, and featured image for blog posts and editorial content. This is the backbone of E-E-A-T signaling at the code level — it tells engines who wrote something and when, which matters for freshness and authorship checks, a topic covered in more depth in this site's E-E-A-T explainer. Required fields include headline, image, datePublished, and author. dateModified is a separate field that records when content was last revised, and skipping it on a page that has in fact been updated gives an AI system no way to tell a freshly revised page from one that has sat untouched for years — it's worth checking your own markup for this gap rather than assuming it's filled in by default. For a field-by-field walkthrough, the Article schema setup guide on this site covers implementation in more detail than fits here.
FAQPage: marking up question-and-answer pairs
FAQPage schema marks up question-and-answer pairs so they can appear as expandable results, though Google retired the FAQ rich result from Search in May 2026, so the markup no longer earns that visual slot in Google results even where it still helps AI systems segment an answer. Each Question needs a name and an acceptedAnswer with text, and the format only makes sense where the FAQ content is genuinely visible and answered on the page, since markup that doesn't match visible text invites manual scrutiny independent of whether a rich result is even available. KinetixSEO ran its own structured-data presence check against this site's search-intent page on October 23, 2026, testing whether the page's JSON-LD declares an Article or FAQPage node; the result came back as a flag to publish Article or FAQPage JSON-LD, confirming the page didn't yet have either — a reminder that even sites that write about this topic aren't immune to skipping it.
Product: price, availability, and review markup
Product schema powers price, availability, and review-star results — some of the highest click-through-rate real estate in ecommerce search, as described in this site's guide to rich results. The required fields are name, image, and an offers object with price and priceCurrency, or an aggregateRating/review if you're showing stars. Missing availability or leaving stale prices in the markup is the single most common reason these results get suppressed.
BreadcrumbList: replacing the raw URL in results
BreadcrumbList schema replaces the raw URL in search results with a readable path (Home > Category > Product), which improves scan-ability and reinforces site hierarchy for crawlers. It requires an ordered itemListElement array, each with a position, name, and item URL. A validator will accept this markup even when the page itself shows no visible breadcrumb trail to match it, which is its own form of drift worth checking for — it's low effort, low risk, and worth rolling out sitewide via template rather than page-by-page.
Organization: defining your brand entity
Organization schema defines your brand entity — name, logo, URL, social profiles via sameAs, and contact information. This is the schema that feeds knowledge graph entries and helps AI systems resolve "who is this company" when your content gets cited without a click-through. It should live once, consistently, ideally on the homepage and referenced elsewhere, rather than being duplicated with slightly different details on every page — a gap worth auditing for directly, since a missing or incomplete Organization node is easy to overlook precisely because nothing visible on the page signals it's gone.
Common validation mistakes that break your markup
Most structured data failures come down to three patterns: a missing required field, a deprecated type, or a conflicting @id reference, and each one breaks the markup in a different way. Missing a required field disqualifies the whole result, not just weakens it: every schema type has a set of properties Google treats as required for eligibility and a larger set it treats as recommended, and skipping a required one — image on Product, author on Article — knocks the page out of consideration entirely rather than producing a partial or degraded result. Shipping a deprecated type wastes engineering time on a result that will never appear: Google discontinued the HowTo rich result in Search, so the type remains valid schema.org vocabulary but plenty of sites keep maintaining HowTo markup expecting a visual result that isn't coming. And duplicate or conflicting @id values make it impossible for an engine to tell which version of an entity is authoritative, which happens when multiple schema blocks reuse the same @id for different entities or describe the same entity with contradictory properties.
The @id problem shows up most often when Organization or WebSite schema is generated by both a theme or plugin and a manual injection, producing two competing blocks: a plugin-generated Organization node and a manually hardcoded one both reusing the same @id but listing different logo URLs, so a validator passes each block individually and the conflict only surfaces once both render together on the live page. Always check type-specific requirements in current documentation rather than assuming any valid schema.org property is enough, since schema.org accepting a type doesn't mean a given search engine will do anything with it. Audit for duplicate @id values sitewide, not just per-page, since templated markup tends to repeat the same mistake everywhere it's included. Some of this overlaps with broader crawl hygiene, covered in this site's guide to fixing crawl budget waste on large sites, since duplicate or bloated markup adds render weight a crawler has to process on every pass.
Testing your markup before and after launch
Three checks for structured data testing
- 1
Validate without errors in a rendering-based tool
- 2
Compare markup against the visible page, field for field
- 3
Confirm the intended result appears in a live search a few days after deployment
Three checks catch nearly every markup failure that matters: whether it validates without errors, whether it matches the visible page field for field, and whether it actually triggers the intended result in a live search a few days after deployment, since results are never guaranteed, only eligible.
- Validate without errors in a rendering-based tool, not a static snippet checker, because syntax validators and rendering-based checks catch different failure modes.
- Compare it against what's visibly on the page, field for field — a technically valid Product schema with a price that doesn't match the page will pass validation and still cause problems.
- Confirm it actually triggers the intended result in a live search check a few days after deployment, since eligibility and appearance are not the same thing.
Google's Rich Results Test and the Schema Markup Validator both parse rendered JSON-LD and flag missing required fields, but they check syntax and eligibility, not truthfulness. The structured data / schema validator built into KinetixSEO runs this kind of presence and validity check against a live URL rather than a copy-pasted snippet, which is closer to what a search engine actually crawls. Set a recurring audit — quarterly for high-change page types like Product, less often for static types like Organization — since template updates, price changes, and content edits drift out of sync with markup silently.
Keeping schema in sync with visible content
Schema that contradicts the page is worse than no schema at all, because a mismatch doesn't just cost eligibility for a result — it sends a signal that can trigger manual action under Google's structured data guidelines and erode trust with AI systems pulling content for citation. This matters even more now that citation, not just ranking, is on the line. KinetixSEO's GEO citation tracking logged how Gemini's web search answered a tracked prompt on October 17, 2026 — "I'm an SEO consultant. Clients keep asking how visible they are in AI answers. What tools track brand mentions and citations across AI assistants like ChatGPT and Perplexity? Name specific products" — and the answer cited 14 sources, including viali.ai, mersel.ai, noqode.fr, tryprofound.com, and ziptie.ai; kinetixseo.com wasn't among them. A page whose markup doesn't match its visible claims, or that skips foundational nodes like Organization altogether, is a page that doesn't make that citation list.
The safest practice is to generate structured data from the same source as the visible content, not as a separate hand-maintained block. If your CMS pulls FAQ text from a field, the schema should pull from that same field. If price updates flow through a product database, the JSON-LD should be templated from that database, not hardcoded. Treat any manually hardcoded schema value as a liability that will eventually drift from the page it describes, the same way an outdated hreflang tag or a stale Core Web Vitals threshold silently degrades a page long after launch. Foundational hygiene like this is covered more broadly in this site's technical SEO primer for site owners who are setting up a validation process for the first time.
Frequently asked questions
Do I need structured data for every page on my site?
You don't need it on every page — prioritize page types where a result or AI citation has real value, like product pages, articles, and FAQ sections, and roll out sitewide types like BreadcrumbList and Organization via template rather than manually per page.
Will adding structured data guarantee a rich result?
Adding valid structured data does not guarantee a rich result; validation passing is a prerequisite, not a promise. Structured data makes a page eligible, but Google decides whether and when to render one based on quality, relevance, and search intent, so a technically valid schema block can still never appear visually.
Is HowTo schema still worth implementing?
HowTo schema is generally not worth implementing for Google Search, since Google discontinued the HowTo rich result; the markup remains valid schema.org vocabulary but won't produce the visual result it once did, so effort is better spent on supported types like Article or FAQPage.
What's the fastest way to check if my JSON-LD is broken?
The fastest check is running the page through a rendering-based validator like Google's Rich Results Test or a tool like KinetixSEO's structured data validator, which parses the actual rendered markup and flags missing required fields or syntax errors immediately.
How often should structured data be audited?
High-change page types like Product should be audited on a quarterly cycle, static types like Organization less frequently, and any page should be re-audited whenever a template, CMS field, or pricing system that feeds the markup changes.
Sources
- KinetixSEO crawl study ()
58% of the 36 public SEO and web-performance guide articles from software vendors and developer publications publish Article or FAQPage structured data on the page itself. Sample: 36 observations, measured Oct 7, 2026. Methodology: Fetched each of the 36 public SEO and web-performance guide articles from software vendors and developer publications and counted the pages whose JSON-LD declares an Article (or sub-type) or FAQPage node.
- KinetixSEO GEO citation tracking ()
On 17 October 2026, Gemini (web search) answered the tracked prompt "I'm an SEO consultant. Clients keep asking how visible they are in AI answers. What tools track brand mentions and citations across AI assistants like ChatGPT and Perplexity? Name specific products." and cited 14 sources: viali.ai, mersel.ai, noqode.fr, tryprofound.com, ziptie.ai and 9 more. kinetixseo.com was not among them.
- KinetixSEO crawl check ()
On 23 October 2026, KinetixSEO ran its "structured data presence" check against https://kinetixseo.com/learn/optimizing-for-search-intent. What it tests: Whether the page's own JSON-LD declares an Article (or sub-type) or FAQPage node. Result: Publish Article or FAQPage JSON-LD.
Test the technical signal
See how your own site scores on SEO and AI-search visibility — free report, no signup.
Use your own site as the evidence. Get a free SEO and AI-citation readiness baseline, then monitor what changes.
Related articles
- How to Fix Broken Links: A Step-by-Step GuideTechnical SEO
- Website SEO Statistics: What 5,000 Homepages RevealAI Search Reference
- Largest Contentful Paint: Definition, Thresholds & FixesTechnical SEO
- Rich Results: What They Are and How to Earn ThemTechnical SEO