---
title: "Config"
description: "Configuration options for Nuxt SEO Utils module."
canonical_url: "https://nuxtseo.com/docs/seo-utils/api/config"
last_updated: "2026-08-21T08:06:20.244Z"
---

## `enabled: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

Conditionally toggle the module.

## `debug: boolean`{lang="ts"}

- Default: `false`{lang="ts"}

Enables debug logs.

## `canonicalQueryWhitelist: string[]`{lang="ts"}

- Default: `['page', 'sort', 'filter', 'search', 'q', 'category', 'tag']`{lang="ts"}

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

## `canonicalLowercase: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `redirectToCanonicalSiteUrl: boolean`{lang="ts"}

- Default: `false`{lang="ts"}

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`{lang="ts"}

- Default: `true`{lang="ts"}

Will set up a number of defaults for meta tags and [Schema.org](http://Schema.org), if the modules and config are available.

## `mergeWithSiteConfig: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `fallbackTitle: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `metaDataFiles: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `automaticOgAndTwitterTags: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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'`{lang="ts"}

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 }`{lang="ts"}

- Default: `{ build: true, runtime: false }`{lang="ts"}

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 [Build only (default)]
seo: { minify: { build: true, runtime: false } }
```

```ts [Both]
seo: { minify: true }
```

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

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`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `extendRouteRules: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `fixRequiredAbsoluteMetaTagsLinks: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `extendNuxtConfigAppHeadSeoMeta: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `extendNuxtConfigAppHeadTypes: boolean`{lang="ts"}

- Default: `true`{lang="ts"}

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

## `meta: MetaFlatSerializable`{lang="ts"}

- Default: `{}`{lang="ts"}

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`{lang="ts"}

- Default: `true`{lang="ts"}

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