Course → Module 5: Schema.org Structured Data
Session 1 of 10

The Shared Vocabulary

Schema.org is a collaborative project created in 2011 by Google, Bing, Yahoo, and Yandex. It provides a shared vocabulary of terms and types that website owners can use to mark up their content with machine-readable data. When you add schema.org markup to your HTML, you are translating your human-readable content into a format that search engines can parse without guessing.

Without schema, Google reads your website the way a foreigner reads a menu without knowing the language: it can recognize some patterns, but it is guessing about meaning. With schema, you hand Google a dictionary.

Schema.org does not change what users see on your website. It changes what search engines understand about your website. The content stays the same. The machine-readable meaning layer is added on top.

The Type Hierarchy

Schema.org organizes everything into a hierarchy of types. At the top is Thing. Every other type is a specialization of Thing. For entity infrastructure, the types that matter most are:

graph TD Thing["Thing"] --> Org["Organization"] Thing --> Person["Person"] Thing --> Place["Place"] Thing --> Product["Product"] Thing --> CW["CreativeWork"] Thing --> Event["Event"] Org --> LB["LocalBusiness"] LB --> Store["Store"] LB --> Prof["ProfessionalService"] LB --> Rest["Restaurant"] CW --> Article["Article"] CW --> Blog["BlogPosting"] CW --> FAQ["FAQPage"] CW --> HowTo["HowTo"]

Each type has properties. Organization has properties like name, url, logo, foundingDate, and sameAs. Person has name, jobTitle, worksFor, and knowsAbout. More specific types inherit all properties from their parent types and add their own.

What Schema Looks Like in Practice

Schema.org markup can be implemented in three formats. Each produces the same machine-readable result, but they differ in how they integrate with your HTML:

Format Placement Google Preference Readability
JSON-LD Separate <script> block in HTML Recommended High (clean, separate from content)
Microdata Attributes embedded in HTML tags Supported Low (mixed with content markup)
RDFa Attributes embedded in HTML tags Supported Low (verbose)

Google explicitly recommends JSON-LD. It is a separate script block that does not mix with your visible HTML content. You can add it, modify it, or remove it without touching any visible element on the page. The next session covers JSON-LD syntax in detail.

What Schema Enables

Schema markup enables two categories of outcomes: entity recognition (which you are building in this course) and rich results (visual enhancements in search results).

Schema Type Entity Signal Rich Result
Organization Declares company entity with properties Logo in search, company info in Knowledge Panel
LocalBusiness Declares physical location entity Business info panel, Maps integration
Person Declares person entity with credentials Author info in search results
Product Defines what your entity sells Price, availability, rating stars in results
FAQPage Demonstrates topical expertise Expandable Q&A directly in search results
BreadcrumbList Defines site hierarchy Breadcrumb path shown in search result URL
Article/BlogPosting Connects content to author entity Article metadata in search results

Pages with rich results have an estimated 82% higher click-through rate than pages without them. But for entity infrastructure purposes, the entity recognition column matters more than the rich result column. Rich results are the visible bonus. Entity recognition is the structural foundation.

Schema.org Is Not Optional

As of 2025, over 70% of rich snippets in Google use JSON-LD structured data. Websites with structured data are 54% more likely to gain enhanced listings. But beyond statistics, schema is the primary mechanism by which you communicate with Google's entity recognition system in a language it does not have to interpret or guess at.

The remaining sessions in this module walk through each schema type relevant to entity infrastructure, with implementation examples you can adapt for your own site.

Further Reading

Assignment

  1. Go to schema.org/Organization and read the properties list. Count how many properties exist. Then check: how many of these does your website currently declare in structured data?
  2. View the source of your homepage (right-click, View Page Source). Search for application/ld+json. If you find a block, copy it into a text editor and examine what types and properties it contains.
  3. If you find no structured data, note this as a critical gap. The upcoming sessions will teach you how to build it.
  4. Visit a competitor's website and do the same check. Compare their schema implementation to yours. Document any schema types they use that you do not.