Structured data & schema checklist
Structured data is a standardized way of describing what's actually on a page—this is a product with this price, this is an article by this author, this is a business at this address—so search engines (and other tools that read the web) can understand it with certainty instead of guessing. Done well, it can unlock richer search result displays; done carelessly, it can describe a page inaccurately, which is a real risk, not just a wasted opportunity.
Choosing the right format
- JSON-LD is used rather than older microdata or RDFa approaches—it's the format search engines document and recommend, and it lives in a single script block instead of being scattered through HTML attributes
- Structured data is placed as a self-contained script rather than split awkwardly across the page
- Only genuinely applicable schema types are used—there's no benefit, and real risk, in bolting on a type that doesn't actually describe the page
Core, near-universal types
- Organization: name, logo and URL for the business behind the site, usually included site-wide
- WebSite: the site's name and URL, optionally with a sitelinks search box definition if the site has real internal search
- BreadcrumbList: matches the visible breadcrumb trail on the page exactly—position and labels included
Content-specific types
- Article / BlogPosting: headline, author, publish and modified dates that match what's actually visible on the page
- Product: accurate price, currency, availability and, where genuine, aggregate rating—see the e-commerce checklist
- LocalBusiness (or a more specific subtype): name, address, phone and hours that match the site and Google Business Profile exactly—see the local SEO checklist
- FAQPage: only used for content that is genuinely presented as a question-and-answer list on the page, with the exact visible question and answer text
- Event: accurate date, time, location and status (scheduled, postponed, cancelled) kept current as an event approaches or passes
- Recipe, Review, JobPosting and other niche types: used only where the site genuinely publishes that content type, with every required property filled in accurately
Accuracy & maintenance
- Structured data is generated from the same data source as the visible page content wherever possible, so the two can't quietly drift apart
- Price, availability, ratings and dates in markup are never more favorable than what a visitor actually sees on the page
- Markup is regenerated or reviewed whenever the underlying content, pricing or inventory system changes
- Fabricated or padded review/rating data is never added purely to try to unlock a rich result—this violates search engine guidelines and is exactly the kind of thing that draws a manual action
⚠️ Structured data that claims something the page doesn't actually show—an inflated rating, a price that doesn't match checkout, an availability status that's wrong—isn't just a technical error. It's misleading users and it violates the guidelines of every major search engine that supports rich results.
Testing & validation
- Every page type with structured data has been tested individually with Google's Rich Results Test
- General schema validity (not just Google's supported subset) is checked with the Schema.org validator
- Markup is spot-checked after any template or CMS update, since a single broken include can silently break structured data sitewide
- Search Console's relevant enhancement reports are checked periodically for new errors, not just at initial launch
See the on-page SEO checklist and technical SEO checklist for how structured data fits into the broader picture, and the local SEO and e-commerce checklists for the schema types most specific to those site types.