Schema markup is structured data added to a web page that tells search engines and AI systems exactly what the page is about, the entities it discusses, and the relationships between them. To implement it, you select the schema types that match the page’s content (Article, Organization, Product, FAQPage, BreadcrumbList, LocalBusiness, and others), generate JSON-LD that follows the schema.org vocabulary, embed the JSON-LD in the page’s head or body, and validate the output with Google’s Rich Results Test and the Schema.org validator. The whole sequence takes minutes per page once the patterns are established.
Schema markup does not directly improve ranking. It improves rich result eligibility (the visual enhancements in search like star ratings, FAQ accordions, breadcrumb trails) and is read by AI systems as a structured signal of what a page contains. Pages with clean schema get cited more reliably in AI Overviews, AI Mode, and other AI surfaces because the structure is machine-readable rather than requiring inference from the prose.
This guide walks through the implementation: which schema types apply to which page types, the JSON-LD format and why it is preferred over microdata and RDFa, how to generate and embed the markup, how to validate, and the common pitfalls that cause schema to be ignored or to trigger manual penalties.
Key Takeaways
- Schema markup is structured data that describes a page’s content to search engines and AI systems using the schema.org vocabulary. It improves rich result eligibility and machine-readability for AI citation, but does not directly improve ranking.
- Common schema types map to common page types: Article and FAQPage for content pages, Product and Review for ecommerce, Organization for the site itself, BreadcrumbList for navigation, LocalBusiness for physical locations.
- Validation is mandatory. Google’s Rich Results Test and the Schema.org validator catch syntax errors, missing required fields, and non-eligible markup before publication. Unvalidated schema is often invisible to search engines or, worse, triggers manual penalties.
Schema types that matter for SEO
Schema.org defines hundreds of types, but a small set covers the vast majority of SEO use cases. Implement these first; specialty types come later if the content warrants.
Article (and BlogPosting, NewsArticle). The base type for content pages. Marks the page as editorial content, names the headline, author, publisher, dates, and main image. Required for News carousels and increases citation eligibility for AI Overviews.
FAQPage. Marks a page section that contains a list of questions and answers. Eligible for FAQ rich results in search (the expandable accordion under the result) and significantly increases citation in AI surfaces. Add to any page with a Frequently Asked Questions section.
Organization. Marks the site’s underlying organisation: name, logo, URL, social profiles, contact information. Implement once site-wide, typically on the homepage. Feeds knowledge panel eligibility.
BreadcrumbList. Marks the navigation breadcrumb trail. Eligible for breadcrumb rich results that replace the URL in search snippets with a more readable hierarchy.
Product and Review (and AggregateRating). Marks ecommerce product pages with price, availability, ratings, and reviews. Eligible for product rich results, including price and rating display in search.
LocalBusiness (and subtypes like Restaurant, Dentist, Plumber). Marks pages for businesses with physical locations: address, hours, phone, geo coordinates. Reinforces Google Business Profile signals and feeds local pack eligibility.
HowTo. Marks step-by-step procedural content. Eligibility was reduced in Google’s 2023 documentation update — HowTo rich results now appear primarily in mobile results — but the markup remains useful for AI citation.
VideoObject. Marks video content with thumbnail, duration, upload date. Required for video rich results and for inclusion in Google video search.
JSON-LD vs microdata vs RDFa
Three syntaxes can express the same schema.org data: JSON-LD, microdata, and RDFa. Modern SEO implementations should default to JSON-LD.
JSON-LD (recommended). A standalone block of structured data in a script tag, typically placed in the page’s head. The data is separate from the HTML markup, which makes it easier to generate, test, and maintain. It is the format Google recommends explicitly in its structured data documentation. JSON-LD can be added to a page without touching the underlying template HTML.
Microdata. Inline HTML attributes (itemscope, itemprop, itemtype) wrapped around the content the schema describes. Microdata is more verbose, harder to maintain, and prone to errors when the underlying content template changes. Still supported by Google but no longer preferred.
RDFa. Similar to microdata in approach (inline attributes), with a slightly different syntax (vocab, typeof, property). Used historically and still supported but less common today.
The practical guidance: use JSON-LD for new implementations. Migrate existing microdata to JSON-LD when the page is being updated for other reasons. Do not mix syntaxes on the same page — the conflicting signals confuse search engines and reduce schema effectiveness.
How to write and embed JSON-LD
JSON-LD follows a strict structure. The minimal pattern: a script tag with type=’application/ld+json’, containing a JSON object with @context (always ‘https://schema.org’), @type (the schema type), and the type’s required and recommended fields.
An example for an Article page:
<script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Implement Schema Markup",
"author": {"@type": "Organization", "name": "Stridec"},
"publisher": {"@type": "Organization", "name": "Stridec", "logo": {"@type": "ImageObject", "url": "https://stridec.com/logo.png"}},
"datePublished": "2026-04-28",
"dateModified": "2026-04-28",
"mainEntityOfPage": "https://stridec.com/blog/how-to-implement-schema-markup"
}</script>
Place the script tag in the page’s head or at the end of the body. Either is valid; the head is more conventional and easier to find when auditing. Multiple JSON-LD blocks can coexist on the same page (Article + FAQPage + BreadcrumbList is common).
The data in the schema must accurately describe content that is visible on the page. Marking up content that does not exist on the page (a common form of schema spam) violates Google’s guidelines and can trigger manual penalties. The schema should mirror what users see, not embellish it.
Implementation options vary by site stack. WordPress sites typically use a plugin in the structured data category. Static sites and modern frameworks (Next.js, Astro, Hugo) generate JSON-LD in templates with the values populated from page front matter. Custom CMS implementations should output JSON-LD as part of the page template, with values pulled from the underlying content model.
Validation tools
Validation is mandatory. Schema published without validation often contains errors that cause it to be ignored or penalised. Two tools cover the validation surface.
Google’s Rich Results Test (search.google.com/test/rich-results). The primary validation tool for Google-specific eligibility. Paste a URL or code snippet; the tool reports which rich result types the page is eligible for, lists any errors and warnings, and shows a preview of how the rich result would appear. Run this on every page before publication and again after publication to confirm the live page is parsed correctly.
Schema.org Validator (validator.schema.org). A more general validator that checks conformance with the schema.org vocabulary itself, beyond Google-specific rules. Useful for catching syntax errors and incorrect property names that Rich Results Test may not flag if they don’t affect rich result eligibility.
For sites with substantial schema implementation, Google Search Console reports schema-level errors and warnings under the Enhancements section (FAQ, Breadcrumbs, Product, etc.). Review the report monthly. New errors usually trace to a recent template change or a content update that broke the schema population.
Run validation in three places: locally during development (catch errors before deploy), on staging (catch template-integration issues), and in production via Search Console (catch issues that only appear at scale across the site).
Schema for content pages: Article and FAQPage in practice
The most common schema implementation for content sites combines Article (or BlogPosting) and FAQPage on the same page. The Article schema describes the page as editorial content; the FAQPage schema describes the Frequently Asked Questions section.
Article fields to include. headline (matches the page title), author (Organization or Person), publisher (Organization with logo), datePublished, dateModified, mainEntityOfPage (canonical URL), image (the article’s primary image). Optional but useful: description, articleBody, wordCount, keywords.
FAQPage fields to include. mainEntity is an array of Question objects, each with name (the question text) and acceptedAnswer (an Answer object with text containing the answer body). The text of each question and answer in the schema must match the visible question and answer on the page exactly — divergent content is a common cause of FAQ rich result loss.
The FAQPage rich result (an expandable accordion under the search snippet) was reduced in Google’s August 2023 update to apply only to authoritative government and health sites. The schema remains useful for two other reasons: AI Overviews, AI Mode, and other AI surfaces continue to extract FAQ-marked questions disproportionately as direct answers, and the schema reinforces the page’s structure for ranking systems even when no rich result displays.
Implementation pattern: include both schemas as separate JSON-LD blocks in the page head. Generate them from the page content model so they update automatically when the article is updated. Validate after every content change.
Common pitfalls and how to avoid them
Six pitfalls account for most schema implementation failures.
Marking up invisible content. Schema must describe content that is visible to users. Marking up FAQ questions that do not appear on the page, ratings that the page does not display, or content hidden by CSS until clicked — all violate Google’s guidelines and can trigger manual penalties.
Wrong schema type for the content. Using Review schema on a page that is not a review, Product schema on a category page, or LocalBusiness schema on a page that does not represent a specific physical business. Schema must match what the page actually is.
Missing required fields. Each schema type has required fields. Missing them causes the schema to be ignored. Common omissions: author and publisher on Article, image on Product, addressLocality on LocalBusiness. Validation tools surface these as errors.
Inconsistent data across schemas. A page with Organization schema naming the publisher as ‘Stridec’ and Article schema naming it ‘Stridec Pte Ltd’ creates a mismatch that confuses search engines. Pull values from a single source of truth.
Schema changes without re-validation. A template update that adjusts how schema fields are populated frequently breaks schema. Run Rich Results Test after every template change that touches schema.
Over-marking the page with stacked schemas. Adding every plausible schema type to every page (Article + Product + LocalBusiness + FAQPage + Organization on the same product page) dilutes the signal and often violates type-specific guidelines. Implement the schema types that genuinely match the page; resist the urge to add more.
Conclusion
Schema markup is the structured data layer that makes a page’s content unambiguous to search engines and AI systems. Implementation is procedural: identify the schema types that match the page’s content, write JSON-LD that follows the schema.org vocabulary, embed the markup in the page’s head, validate with Google’s Rich Results Test and the Schema.org Validator, and re-validate after every change. The schema does not improve ranking directly, but it improves rich result eligibility, increases citation share in AI surfaces, and reinforces page structure for the ranking systems that read it. Pages with clean schema have a measurable advantage in AI Overview citation over otherwise identical pages without schema. The pitfalls — marking up invisible content, choosing wrong types, missing required fields, inconsistent data across schemas, skipping re-validation after changes, over-marking with stacked types — are avoidable through validation discipline. Schema is a high-impact technical investment when done correctly, and a quiet liability when done carelessly.
Frequently Asked Questions
What is schema markup?
Does schema markup improve Google rankings?
JSON-LD vs microdata: which should I use?
How do I validate schema markup?
What schema types should I implement first?
Will FAQPage schema still get the rich result accordion?
Can I mark up content that is hidden on the page?
If you are implementing schema markup across a site or auditing existing structured data for errors and citation impact, we run technical SEO engagements that include schema architecture as a core deliverable.