--- title: Supported Nodes description: The nodes available for the Schema.org integration. --- **Quick Answer:** Schema.org nodes are created with `define*` functions like `defineArticle()`, `defineProduct()`, etc. Each function validates input and outputs valid JSON-LD. Official nodes are ones that have a direct impact on Google Rich Results. ## How do I add a custom Schema.org node? If you need a node that isn't officially supported, provide it as a plain object following the [Schema.org specification](https://schema.org/docs/full.html). For TypeScript support, use [schema-dts](https://github.com/google/schema-dts). ::code-group ```ts [Untyped] import { useSchemaOrg } from '@unhead/schema-org/@framework' useSchemaOrg([ { '@type': 'DefinedTerm', 'name': 'Nuxt Schema.org', 'description': 'Nuxt Schema.org is a Nuxt module for adding Schema.org to your Nuxt app.', 'inDefinedTermSet': { '@type': 'DefinedTermSet', 'name': 'Nuxt Modules', }, } ]) ``` ```ts [schema-dts] import type { DefinedTerm } from 'schema-dts' import { useSchemaOrg } from '@unhead/schema-org/@framework' const NuxtSchemaOrgDefinedTerm: DefinedTerm = { '@type': 'DefinedTerm', 'name': 'Nuxt Schema.org', 'description': 'Nuxt Schema.org is a Nuxt module for adding Schema.org to your Nuxt app.', 'inDefinedTermSet': { '@type': 'DefinedTermSet', 'name': 'Nuxt Modules', }, } useSchemaOrg([NuxtSchemaOrgDefinedTerm]) ``` :: ## Which nodes are officially supported? Officially supported nodes are those that enable Google Rich Results. Each has a dedicated `define*` function with validation and auto-completion. :SchemaOrgNodeList{}