# DefinedTerm: the Schema.org Type for Glossaries and Codes

> What DefinedTerm is in Schema.org, how it marks up a glossary or a code set with DefinedTermSet and termCode, and what Google does with it: nothing visible.

URL: https://clione.ai/glossary/definedterm/
Lang: en

If you open the code of a glossary page and find `"@type": "DefinedTerm"`, you are looking at the [Schema.org](/glossary/schema-org/) type that says "this is a word and this is its definition." It does not describe a product or a company, but a term in a vocabulary. A store cares in two cases: when it publishes content that defines things (a fabric glossary, a materials guide, a size chart with what each size means) and when it organizes its catalog with categories that have codes. In both, DefinedTerm is the standard way to say it with [structured data](/glossary/structured-data/). **What it does not do is earn you a special result on Google**, and it is worth knowing that before you spend time on it.

## How it works

Schema.org defines DefinedTerm as a word, name, acronym or phrase with a formal definition, and says where it is used: in classifications by category or topic, in **glossaries and dictionaries** and in types of product or work. It is an intangible type (Thing > Intangible > DefinedTerm), and the page itself gives the usage instructions: the term goes in `name`, the alphanumeric code, if it has one, in `termCode`, the definition in `description`, and the subject the term is about in `about`.[^schemaorg-definedterm]

A term usually lives inside a set. That is what DefinedTermSet is for: a set of defined terms, for example **a set of categories, a classification scheme, a glossary, a dictionary or an enumeration**. Unlike the term, the set is a work (CreativeWork), and it lists its terms with `hasDefinedTerm`.[^schemaorg-definedtermset] The term points to the set with `inDefinedTermSet`, which accepts either a DefinedTermSet described in the same markup or a URL.[^schemaorg-definedterm]

For classifications with codes there is a more specific type: CategoryCode, which inherits everything from DefinedTerm and adds `codeValue`, a short code that identifies the value, and `inCodeSet`, the code set it belongs to.[^schemaorg-categorycode] Schema.org's example for a product category is clear: a DefinedTerm named "Photovoltaic module," with the code 261315XX and, as its set, the United Nations products and services classification (UNSPSC). Right next to it comes the rule that separates the two worlds: **for a specific product or service, use the [Product](/glossary/product-schema/) type**.[^schemaorg-definedterm]

According to the data the Schema.org page itself shows, taken from Google's index in August 2026, DefinedTerm is used on between 10,000 and 100,000 domains.[^schemaorg-definedterm]

### What Google does with it

Google publishes the list of structured data types that unlock features in its Search, and **DefinedTerm is not on it**.[^google-gallery] There are no glossary or definition [rich results](/glossary/rich-results/). That does not make the markup useless: Google explains that it uses the structured data it finds on the web to understand the content of the page and to gather information about the web and the world in general.[^google-structured-data] A well-built DefinedTerm tells any machine that reads it, without ambiguity, which term the page defines and what its definition is. What you cannot expect is to see it in the results.

## In a store

This very glossary works as a real example, because every entry carries its own DefinedTerm. This page's, trimmed, looks like this:

```json
{
  "@type": "DefinedTerm",
  "@id": "https://clione.ai/glossary/definedterm/#term",
  "name": "DefinedTerm",
  "description": "DefinedTerm is the Schema.org type that describes a word…",
  "url": "https://clione.ai/glossary/definedterm/",
  "inLanguage": "en",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "inDefinedTermSet": {
    "@type": "DefinedTermSet",
    "@id": "https://clione.ai/glossary/#termset",
    "name": "SEO and AI search glossary for ecommerce"
  }
}
```

It reads like this: the term and its definition are the same ones you see above, in the title and in the lead, and the set carries a fixed `@id`, so every entry points to the same glossary without describing it each time. In the full [JSON-LD](/glossary/json-ld/), the page declares this term as its main topic, with `mainEntity`.

In a store, the most natural use is a **fictional example** like this one: a home linens store publishes a "Fabric glossary" page with entries like "Washed linen" or "Percale," each with its visible definition. Each entry is marked up as a DefinedTerm with `name` and `description`, all of them point with `inDefinedTermSet` to the same DefinedTermSet, and the glossary page lists them with `hasDefinedTerm`. If the store classifies its catalog with a code standard, the category can go as a CategoryCode with its `codeValue`. What does not change is the [product page](/glossary/product-page/): the product being sold is still a Product.


Using DefinedTerm to mark up a product, or a product feature, on the product page. Schema.org says it in its own example: a DefinedTerm is for a category with its code, and **for a specific product the type is Product**.[^schemaorg-definedterm] And Google asks that markup describe what the visitor sees on the page:[^google-sd-policies] a DefinedTerm with a definition that is not written anywhere describes something that does not exist.


## How to check it

1. **Search for `DefinedTerm` in the source code** of your glossary page or your materials guide.
2. **Compare each `name` and each `description` with the visible text.** They have to say the same thing as the page, in the same words.[^google-sd-policies]
3. **Follow each term's `inDefinedTermSet`** to its set. If it is an `@id`, it has to match the DefinedTermSet's letter for letter.
4. **Run the URL through a [schema validator](/glossary/schema-markup-validator/)** to catch syntax errors. Do not expect Google's [Rich Results Test](/glossary/rich-results-test/) to flag it as a result: DefinedTerm is not among its features.[^google-gallery]
5. **Look at the product page separately.** If you find a DefinedTerm where there should be a Product, it is surplus.

## Related concept: entity

An [entity](/glossary/entity/) is the thing: a brand, a material, a place, something that exists and can be identified without ambiguity. A DefinedTerm is the word that names it inside a vocabulary, with the definition that vocabulary gives it. **Linen is an entity; "Washed linen," with the definition from your glossary, is a defined term.** Schema.org connects them with one property: `about`, which says what the term is about.[^schemaorg-definedterm] The same term can be defined in two different glossaries and talk about the same entity.

To go further, [product taxonomy](/glossary/product-taxonomy/) explains how a catalog is organized into categories, and the [structured data reading path](/learn/structured-data/) orders the rest of the types.
