---
title: "tag:normalise Hook"
description: "Legacy hook type retained for compatibility but not called by the current tag resolver."
canonical_url: "https://unhead.unjs.io/docs/solid-js/head/api/hooks/tag-normalise"
---

> Index of every page on this site: [llms.txt](https://unhead.unjs.io/llms.txt)

The `tag:normalise` hook remains in the hook type for compatibility, but the current resolver does not call it. Do not use it for new plugins.

To process each tag as it is produced, use [`entries:normalize`](https://unhead.unjs.io/docs/head/api/hooks/entries-normalize) and iterate over `ctx.tags`. To process the deduplicated tag set, use [`tags:beforeResolve`](https://unhead.unjs.io/docs/head/api/hooks/tags-before-resolve), [`tags:resolve`](https://unhead.unjs.io/docs/head/api/hooks/tags-resolve), or [`tags:afterResolve`](https://unhead.unjs.io/docs/head/api/hooks/tags-after-resolve).

## Declared Signature

```ts
export interface Hook {
  'tag:normalise': (ctx: {
    tag: HeadTag
    entry: HeadEntry<any>
    resolvedOptions: CreateClientHeadOptions
  }) => SyncHookResult
}
```

This signature is declared in the public types, but no corresponding hook call exists in the normalization or resolution path.

## Sitemap

See the full [sitemap](https://unhead.unjs.io/sitemap.md) for all pages.
