XooCode(){

DefinedTerm

DefinedTerm is an Intangible type for words, phrases, acronyms, or concepts with formal definitions: glossary entries, taxonomy terms, classification codes, subject categories. It has 3 properties of its own: inDefinedTermSet (which glossary or taxonomy it belongs to), termCode (a code or identifier), and about (the thing the term describes). DefinedTerm appears as a value type on many properties across schema.org: teaches, variesBy, keywords, occupationalCategory.

The type hierarchy is Thing → Intangible → DefinedTerm. Use DefinedTerm for glossary pages, taxonomy pages, or anywhere you define a term formally. A DefinedTermSet is the collection (the glossary); DefinedTerm is each entry.

Full example of schema.org/DefinedTerm json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/DefinedTerm
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "DefinedTerm",
  "name": "JSON-LD",
  "description": "JavaScript Object Notation for Linked Data. A method of encoding linked data using JSON syntax. The recommended format for embedding schema.org structured data in web pages.",
  "url": "https://xoocode.com/glossary/json-ld",
  "inDefinedTermSet": {
    "@type": "DefinedTermSet",
    "name": "Xoo Code Structured Data Glossary",
    "url": "https://xoocode.com/glossary"
  },
  "termCode": "JSON-LD",
  "sameAs": "https://en.wikipedia.org/wiki/JSON-LD"
}
</script>

inDefinedTermSet

inDefinedTermSet links the term to its parent glossary or taxonomy. It takes a DefinedTermSet object or URL. For example, a medical term might be in a MeSH (Medical Subject Headings) term set, or a job code in the O*NET taxonomy.

termCode

termCode is a code or identifier for the term within its term set: an O*NET code ("15-1252.00"), an ICD code ("E44.1"), a NAICS code. Not every term has a code. Glossary definitions typically do not; classification systems do.

Minimal valid version

The smallest markup that still produces a valid DefinedTerm entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/DefinedTerm (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "DefinedTerm",
  "name": "JSON-LD",
  "description": "JavaScript Object Notation for Linked Data.",
  "inDefinedTermSet": { "@type": "DefinedTermSet", "name": "Xoo Code Glossary" }
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common DefinedTerm mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Using plain text instead of DefinedTerm where schema.org expects it

    Wrong
    "teaches": "JSON-LD structured data"
    Right
    "teaches": { "@type": "DefinedTerm", "name": "JSON-LD structured data" }

    Many schema.org properties accept DefinedTerm or Text. Using a DefinedTerm object lets Google match the concept to its knowledge graph. This is especially useful for skills, subjects, and occupational categories.

  2. 02

    DefinedTerm without inDefinedTermSet

    Wrong
    DefinedTerm with name and description but no inDefinedTermSet
    Right
    "inDefinedTermSet": { "@type": "DefinedTermSet", "name": "..." }

    inDefinedTermSet connects the term to its parent glossary or taxonomy. Without it, the term is a floating definition with no context. Google uses the term set to understand the scope and authority of the definition.

Also mentioned in 3 other examples

DefinedTerm also appears in CategoryCode, DefinedTermSet, and FinancialIncentive. See the full DefinedTerm schema page for every reference.

About the example data

A glossary entry for "JSON-LD" from the Xoo Code structured data glossary.

Comments

Loading comments...

Leave a comment