---
title: "Schema.org Params"
description: "Configure shared Schema.org metadata with host, path, inLanguage, currency, and trailingSlash. Each resolver inherits the values it supports."
canonical_url: "https://unhead.unjs.io/docs/schema-org/guides/core-concepts/params"
last_updated: "2026-07-24T07:44:25.419Z"
---

Schema.org params provide shared metadata such as `host`, `path`, `currency`, and `inLanguage`. Each node resolver inherits only the fields it supports.

## Schema.org params

Params let you configure metadata used by multiple Schema.org nodes. Set them with the `schemaOrg` property in `templateParams`.

<code-group>

```ts [useHead]
import { useHead } from '@unhead/dynamic-import'

useHead({
  templateParams: {
    schemaOrg: {
      host: 'https://example.com',
      path: '/blog'
    }
  }
})
```

</code-group>

## Available params

### `host`

- **type**: `string`<br />

The origin of your production site, including the protocol, such as `https://example.com`. It is used to generate absolute IDs and URLs.

### `path`

- **type**: `string`
- **default**: `/`<br />

The path of the current page. Set it on each page when you are not deriving it in a framework integration.

### `inLanguage`

- **type**: `string`
- **default**: `undefined`<br />

Sets `inLanguage` for resolvers that inherit it. Use a valid language tag, such as `en-AU`.

### `trailingSlash`

- **type**: `boolean`
- **default**: `false`<br />

Whether to retain a trailing slash on generated page URLs. The root path remains `/` in either mode.

### `currency`

- **type**: `string`
- **default**: `undefined`<br />

Default currency for Offer and other commerce-related nodes that inherit it. Use an ISO 4217 code, such as `USD`, `EUR`, or `GBP`.

### Page metadata

The following optional string params are inherited by resolvers that declare support for them:

- `title`
- `description`
- `image`
- `datePublished`
- `dateModified`

## Script Position

`tagPosition` is an entry option, not a shared Schema.org param. Pass it as the second argument to `useSchemaOrg()`:

```ts
useSchemaOrg(nodes, {
  tagPosition: 'head', // or 'bodyOpen' / 'bodyClose'
})
```

The default is `bodyClose`.

## Param inheritance

Each resolver declares the metadata it inherits. For example, Article inherits `inLanguage`, while Product uses `currency` through its nested Offer resolver.

```ts
useHead({
  templateParams: {
    schemaOrg: {
      host: 'https://example.com',
      inLanguage: 'en-AU',
      currency: 'AUD'
    }
  }
})

// Each helper uses the params supported by its resolver
useSchemaOrg([
  defineWebPage(), // uses host and path for its URL and ID
  defineArticle(), // inherits inLanguage
  defineProduct({ name: 'Widget', offers: { price: 99 } }) // the Offer inherits currency
])
```
