---
title: "Config"
description: "Configuration options for Nuxt SEO Utils module."
canonical_url: "https://nuxtseo.com/docs/seo-utils/api/config"
last_updated: "2026-08-01T04:39:59.674Z"
---

## `enabled: boolean`

- Default: `true`

Conditionally toggle the module.

## `debug: boolean`

- Default: `false`

Enables debug logs.

## `canonicalQueryWhitelist: string[]`

- Default: `['page', 'sort', 'filter', 'search', 'q', 'category', 'tag']`

When set, only these query parameters are included in the canonical URL. All other query parameters are stripped.

## `canonicalLowercase: boolean`

- Default: `true`

When enabled, the canonical URL will be lowercased. Recommended to keep on for consistency.

## `redirectToCanonicalSiteUrl: boolean`

- Default: `false`

When enabled, it will redirect any request to the canonical domain (site url) using a 301 redirect on non-dev environments.

E.g., if the site url is `www.example.com` and the user visits `example.com`,
they will be redirected to `www.example.com`.

This is useful for SEO as it prevents duplicate content and consolidates page rank.

## `automaticDefaults: boolean`

- Default: `true`

Will set up a number of defaults for meta tags and Schema.org, if the modules and config are available.

## `mergeWithSiteConfig: boolean`

- Default: `true`

Injects site config into the `useHead` composable such as setting the title template and template params like `%siteName`.

## `fallbackTitle: boolean`

- Default: `true`

Will ensure a title is always set by providing a fallback title based on the casing of the last slug segment.

## `metaDataFiles: boolean`

- Default: `true`

Whether to use the files in the public directory to infer tags such as favicon, apple-touch-icon, and
open graph images.

## `automaticOgAndTwitterTags: boolean`

- Default: `true`

Whether to infer head data from the current input to fill in the gaps.

For example:

- If you supply a title, this will automatically add an og:title.
- If you provide an og:image, it will automatically add a twitter:image.

## `tagPriority: number | 'critical' | 'high' | 'low' | \`before:${string}` | `after:${string}``{lang="ts"}

- Default: `'low'`

Sets the `tagPriority` for SEO and Open Graph meta tags generated by this module. The default `'low'` ensures module tags act as fallbacks that page-level `useSeoMeta()` calls can override. Use a numeric value or `'critical'`/`'high'` to place tags earlier in the `<head>` (useful for OG crawlers with byte limits).

## `minify: boolean | { build?: boolean, runtime?: boolean }`

- Default: `true`

Minifies inline `<script>` and `<style>` tags in SSR responses. Both modes can be toggled independently.

**Build mode** (`build`): Minifies static scripts and styles in `app.head` and prerendered route HTML at build time using Rolldown/esbuild (JS) and lightningcss (CSS).

**Runtime mode** (`runtime`): Minifies all inline scripts and styles per request via an Unhead `ssr:render` plugin. Uses lightweight pure JS minifiers with zero native dependencies. Handles dynamic content like hydration payloads and `useHead()` injections.

<code-group>

```ts [Both (default)]
seo: { minify: true }
```

```ts [Build only]
seo: { minify: { build: true, runtime: false } }
```

```ts [Runtime only]
seo: { minify: { runtime: true, build: false } }
```

</code-group>

JSON script types (`application/ld+json`, `application/json`) are minified via JSON round-tripping. `importmap` and `speculationrules` types are left untouched. Only active in production builds.

## `treeShakeUseSeoMeta: boolean`

- Default: `true`

Attempts to treeshake the `useSeoMeta` function. Can save around 5kb in the client bundle.

Unhead v2 users must install the optional `@unhead/bundler` peer to enable this transform. Unhead v3 provides it through `@unhead/vue`.

## `extendRouteRules: boolean`

- Default: `true`

Adds `head` and `seoMeta` to the route rules and app config.

## `fixRequiredAbsoluteMetaTagsLinks: boolean`

- Default: `true`

Tries to convert relative image paths to absolute paths in meta tags.

## `extendNuxtConfigAppHeadSeoMeta: boolean`

- Default: `true`

Extends `app.head` with the `seoMeta` key.

## `extendNuxtConfigAppHeadTypes: boolean`

- Default: `true`

Augments the head schema with `/public` files making it easier to reference them in the head.

## `meta: MetaFlatSerializable`

- Default: `{}`

The SEO meta object to be used as site-wide defaults. Takes the same input as `useSeoMeta()`. See the [Nuxt Config SEO Meta](/docs/seo-utils/guides/nuxt-config-seo-meta) guide for details.

## `setupNuxtConfigAppHeadWithMoreDefaults: boolean`

- Default: `true`

Sets up additional default head values in your nuxt.config app.head section.
