What Is Schema Markup? A Complete Guide

Schema markup is a standardized vocabulary of code — drawn from the open Schema.org specification — that you add to a web page so search engines and AI systems can understand the meaning of your content, not just its words. Where a paragraph might describe a recipe, a product, or a course, schema markup makes that classification unambiguous: it tells Google, Bing, and AI assistants like ChatGPT and Perplexity exactly what type of entity is on the page, what its properties are, and how it relates to other entities in the world. The result: richer search listings, stronger entity signals, and better positioning in AI-generated answers.

At Salterra, structured data is one of the first technical layers we add to a new client site — not because it’s a magic ranking button, but because it does work that plain text simply cannot: it resolves ambiguity, connects a brand to the knowledge graph, and gives Google the machine-readable confidence to surface rich results. This guide walks through everything a working marketer or site owner needs to know to get it right.

What Schema.org Is and Where It Comes From

Schema.org is a collaborative vocabulary created in a joint effort by Google, Microsoft (Bing), Yahoo, and Yandex. It defines a shared set of types and properties — like Article, Product, LocalBusiness, Person, and hundreds more — that any website can use to annotate its content. The vocabulary is maintained in the open at schema.org and updated regularly as new content types emerge (most recently adding types for structured learning content, AI-oriented metadata, and more).

Before Schema.org existed, each search engine had its own microformat conventions, and keeping structured data consistent across engines was a headache. The shared vocabulary solved that. Today, implementing schema once means all major search engines and most AI crawlers can parse it.

The spec supports three encoding syntaxes: JSON-LD, Microdata, and RDFa. JSON-LD is the format Google recommends and the one you should use by default. It lives in a <script> tag — usually in the <head> — completely separate from your HTML, which makes it easy to add, update, and audit without touching page content.

How JSON-LD Works in Practice

A JSON-LD block starts with two required properties: @context (always “https://schema.org”) and @type (the entity type, like “Article” or “FAQPage”). Every other property depends on the type. For a simple Article, you’d declare the headline, author, publisher, date published, and image. For a LocalBusiness, you’d add name, address, telephone, and opening hours.

Here’s what makes JSON-LD powerful: it can reference other entities by nesting them. An Article can contain a nested Person object for the author, which itself can include a URL pointing to an authoritative profile (like a Wikipedia page or a verified social profile). That nesting is how you connect your content to the knowledge graph — you’re not just labeling your page, you’re asserting relationships between real-world entities.

A minimal Article example

A bare-minimum Article block includes: @type: “Article”, a headline matching your H1, an author object with @type: “Person”, name, and ideally a url pointing to a credible author bio or LinkedIn profile. Add publisher as an Organization with a logo, and include datePublished and dateModified. That’s enough for Google to associate the article with a named human expert — a direct E-E-A-T signal.

Rich Results: What You Can Actually Win

Google’s Search Gallery lists the rich result types it supports, and the list is substantial. The types with the clearest traffic upside for most sites include:

  • FAQ rich results — expands your listing with Q&A; pairs directly in the SERP, increasing click-through rate and real estate.
  • Review snippets — star ratings displayed under your title for products, local businesses, and recipes.
  • How-To rich results — step-by-step instructions surfaced visually in search.
  • Product rich results — price, availability, and ratings shown inline for e-commerce pages.
  • Course rich results — course name, provider, and description displayed for educational content (highly relevant for SEO University).
  • Article / News article — eligible for Top Stories carousel and image thumbnails on mobile.
  • Local Business — feeds and reinforces your Knowledge Panel data.
  • BreadcrumbList — displays your site’s URL hierarchy cleanly in the listing, helping users understand site structure at a glance.

Rich results are not guaranteed — Google decides whether to show them based on relevance, page quality, and markup accuracy. But they are only possible with valid schema. Without it, you’re invisible to features your competitors may already be winning.

Schema Markup and the Knowledge Graph

Google’s Knowledge Graph is a massive database of real-world entities — people, organizations, places, products — and the relationships between them. When you implement schema consistently and correctly, you’re giving Google the data it needs to resolve your brand as a distinct entity in that graph, not just a cluster of keywords.

Prefer the guided path? This is one lesson from the Advanced Schema course — get the complete step-by-step system with every lesson and template.
Explore the course →

Entity disambiguation is where this gets practically important. If your agency is named “Salterra” and there’s another company with a similar name, schema — particularly Organization markup with a sameAs property pointing to your Wikidata entry, Crunchbase profile, or Google Business Profile — helps Google distinguish you and consolidate your brand signals. Over time, this produces a Knowledge Panel and strengthens how AI systems describe you in generated answers.

The sameAs property is one of the most underused tools in structured data. Use it to link your Organization or Person entity to every authoritative third-party profile: LinkedIn, Wikipedia (if you have one), Wikidata, your Google Business Profile URL, and major industry directories. Each link reinforces the entity’s real-world existence.

How AI Search Systems Use Structured Data

AI Overviews (Google), ChatGPT, Perplexity, and similar systems don’t just read your text — they parse your structured signals when they crawl. Schema markup makes your content easier for these systems to extract, classify, and cite with confidence. A page with clean JSON-LD that declares its author, entity type, and key facts is easier to quote accurately than an unstructured page that buries the same information in prose.

FAQPage schema is particularly valuable in the AI-search era. The explicit Q&A; format maps directly to how AI answer engines construct responses: they look for a clear question and a concise, authoritative answer. Pages with valid FAQPage markup consistently appear in AI-generated answers at a higher rate than unstructured equivalents covering the same topic.

Structured data also reinforces topical authority at the entity level. If every article on your site declares the correct @type, a consistent publisher organization, and named author entities, search engines accumulate a clear picture of what topics you cover and who is responsible for the content — both signals that feed into how AI systems weight your site as a source.

Common Schema Types and When to Use Each

Matching the right type to the right page is where most implementations go wrong. Use this as a quick decision guide:

  • Article / BlogPosting — editorial content, how-to articles, opinion pieces. BlogPosting is a subtype of Article; both are valid for content marketing pages.
  • FAQPage — any page with a genuine FAQ section. Nest Question and acceptedAnswer objects for each pair.
  • HowTo — step-by-step instructional content where the steps are discrete and sequential.
  • Product — product detail pages with price and availability. Required for review snippets on e-commerce pages.
  • LocalBusiness — brick-and-mortar or service-area businesses. Use the most specific subtype available (e.g., LegalService, HomeAndConstructionBusiness).
  • Organization / WebSite — site-wide entities, typically in the homepage or sitewide template. Declare your brand, logo, and sameAs links here.
  • Person — author pages, team bios. Include jobTitle, worksFor, and sameAs pointing to LinkedIn or a professional profile.
  • Course — online education content. Declare the provider, name, and description at minimum.
  • BreadcrumbList — almost every page. Reinforces site architecture and earns cleaner URL display in search results.

How to Implement Schema Markup Without Breaking Things

The cleanest implementation path for most WordPress sites is a dedicated plugin — Yoast SEO, Rank Math, or Schema Pro — that generates JSON-LD automatically from your post metadata and settings. These handle the boilerplate and reduce errors. However, plugin-generated schema often covers only generic types; for FAQPage, HowTo, or custom entity markup, you’ll need to add blocks manually or use a secondary plugin.

For custom or headless sites, write JSON-LD directly in the <head> tag. Keep one <script type=”application/ld+json”> block per page (Google supports multiple, but one well-structured block is easier to audit). Validate every implementation with Google’s Rich Results Test (search.google.com/test/rich-results) and the Schema Markup Validator (validator.schema.org) before publishing.

Common mistakes to avoid

  • Marking up content that isn’t visible on the page. Google requires that schema-described content exists in the rendered HTML. Hidden or off-screen content used only in schema is a spam signal.
  • Using the wrong type for the content. Tagging a blog post as a Product, or a promotional page as a HowTo, violates Google’s guidelines and can trigger a manual action.
  • Stale dateModified. If you update an article, update the dateModified property. Mismatched dates undermine trust signals.
  • Missing required properties. Google’s documentation lists required and recommended properties for each rich result type. Skipping required fields means the feature won’t trigger.

Auditing and Maintaining Your Schema Implementation

Schema markup is not a one-and-done task. As your site grows, new page types are added, old markup goes stale, and Google’s requirements evolve. Build a quarterly audit into your SEO workflow.

Start with Google Search Console’s Enhancements report, which flags schema errors and warnings across your entire indexed property. Errors (missing required fields, incorrect types) suppress rich results; warnings reduce eligibility. Fix errors first — they’re always actionable. For deeper audits, crawl your site with Screaming Frog (which can extract and validate JSON-LD at scale) and cross-reference against the Rich Results Test for your highest-traffic pages.

When we run schema audits on client sites at Salterra, the most common finding is orphaned or mismatched markup — schema that was added correctly at launch but never updated as content evolved. A product page that still carries a datePublished from three years ago, or an Article block where the author name no longer matches the visible byline, are both credibility signals working against you. Keep your structured data in sync with your visible content, and you’ll stay clean.

Frequently Asked Questions

Does schema markup directly improve my search rankings?

Schema markup is not a direct ranking factor in the traditional sense, but it enables rich results that improve click-through rates, reinforces entity signals that feed into topical authority assessments, and helps AI systems cite your content more accurately — all of which produce measurable organic performance gains over time.

What is the difference between schema markup and structured data?

Structured data is the broad concept of formatting information so machines can parse it reliably; schema markup specifically refers to structured data using the Schema.org vocabulary, which is the standard supported by Google, Bing, and other major search engines for rich results and knowledge graph signals.

How do I know if my schema markup is working?

Validate your implementation with Google's Rich Results Test at search.google.com/test/rich-results, then monitor the Enhancements section of Google Search Console — it will show which pages are eligible for rich results, which have errors, and whether impressions from rich result features are showing in your performance data.

Can I add schema markup to a WordPress site without coding?

Yes — plugins like Rank Math, Yoast SEO, and Schema Pro generate JSON-LD automatically for common types (Article, LocalBusiness, FAQ, Product) based on your content and settings, requiring no manual code; for advanced custom types, you may need to add a JSON-LD block manually in a theme hook or child theme.

Do AI systems like ChatGPT and Perplexity use schema markup?

These systems crawl the web and parse structured data as part of indexing; FAQPage and Article schema in particular help AI answer engines extract and attribute information accurately, making well-marked-up pages more likely to be cited in AI-generated responses than unstructured pages covering the same topic.

How many schema types can I use on a single page?

You can include multiple JSON-LD blocks or a single block with multiple types on one page — for example, a blog post might legitimately carry Article, BreadcrumbList, and FAQPage markup simultaneously — but each type must accurately describe visible content on that page; stacking irrelevant types to game rich results violates Google's guidelines.

Terry Samuels
Written by Terry Samuels

Terry has 30+ years in software and SEO. He’s the founder of Salterra Digital Services and SEO Spring Training, host of the Roundtable SEO Mastermind, and lead instructor at SEO University — teaching the exact tactics his team uses on client work.

Ready to master this?

This guide is one lesson from the Advanced Schema course. Get every lesson, framework and checklist — plus the full 38-course catalog — inside SEO University.