---
title: "Schema.org Params · v2 · Unhead"
meta:
  "og:description": "Change the behaviour of your integration."
  "og:title": "Schema.org Params · v2 · Unhead"
  description: "Change the behaviour of your integration."
---

**Core Concepts**

# **Schema.org Params**

**On this page **

- [What Are Schema.org Params?](#what-are-schemaorg-params)
- [Which Params Are Available?](#which-params-are-available)
- [How Do Params Cascade to Nodes?](#how-do-params-cascade-to-nodes)

**Quick Answer:** Schema.org params configure site-wide defaults like `host`, `path`, `currency`, and `inLanguage`. Set them once and they're automatically applied to all schema nodes.

## [What Are Schema.org Params?](#what-are-schemaorg-params)

Params let you configure multiple Schema.org nodes at once, reducing boilerplate. Use the `schemaOrg` option on templateParams.

```
import { useHead } from '@unhead/solid-js'

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

## [Which Params Are Available?](#which-params-are-available)

### [`tagPosition`](#tagposition)

- **type**: `string`
- **default**: `bodyClose`The position of the Schema.org script tag. This is useful if you want to load the script in the body of your page.

### [`host`](#host)

- **type**: `string`The production URL of your site. This allows the client to generate all URLs for you and is important to set correctly.

### [`path`](#path)

- **type**: `string`
- **default**: `window.location.pathname`The path of the current page. This allows the client to generate all URLs for you and is important to set correctly.

### [`inLanguage`](#inlanguage)

- **type**: `string`
- **default**: `en`Will set the `isLanguage` to this value for any Schema which uses it. Should be a valid language code, i.e `en-AU`

### [`trailingSlash`](#trailingslash)

- **type**: `boolean`
- **default**: `false`Whether to add a trailing slash to the URL. This is important for Google to understand the canonical URL of your page.

### [`currency`](#currency)

- **type**: `string`
- **default**: `undefined`Default currency for Product, Offer, and other commerce-related schemas. Use ISO 4217 format, e.g., `USD`, `EUR`, `GBP`.

## [How Do Params Cascade to Nodes?](#how-do-params-cascade-to-nodes)

When you set a param like `host` or `inLanguage`, it automatically applies to all Schema.org nodes that support that property. This means you define your site defaults once and every `defineWebPage`, `defineArticle`, `defineProduct`, etc. inherits them without repetition.

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

// All schema nodes now use these defaults automatically
useSchemaOrg([
  defineWebPage(), // inherits host, inLanguage
  defineProduct({ name: 'Widget', offers: { price: 99 } }) // inherits currency
])
```

[Edit this page](https://github.com/unjs/unhead/edit/v2.1.2/docs/v2/schema-org/2.guides/1.core-concepts/3.params.md)

**Did this page help you? **

[**Supported Nodes** The nodes available for the Schema.org integration.](https://unhead.unjs.io/docs/v2/schema-org/guides/core-concepts/nodes) [**Custom Nodes** Learn how to implement custom nodes for your Schema.org.](https://unhead.unjs.io/docs/v2/schema-org/guides/recipes/custom-nodes)

**On this page **

- [What Are Schema.org Params?](#what-are-schemaorg-params)
- [Which Params Are Available?](#which-params-are-available)
- [How Do Params Cascade to Nodes?](#how-do-params-cascade-to-nodes)