---
title: "Nuxt Config · Nuxt Robots · Nuxt SEO"
canonical_url: "https://nuxtseo.com/docs/robots/api/config"
last_updated: "2026-08-17T07:55:31.497Z"
meta:
  description: "Learn how to configure Nuxt Robots using nuxt.config."
  "og:description": "Learn how to configure Nuxt Robots using nuxt.config."
  "og:title": "Nuxt Config · Nuxt Robots · Nuxt SEO"
---

Nuxt SEO on GitHub

Switch to RobotsSwitch to Nuxt SEOSwitch to SitemapSwitch to OG ImageSwitch to Schema.orgSwitch to Link CheckerSwitch to SEO UtilsSwitch to Site ConfigSwitch to Skew ProtectionSwitch to AI Ready

**Nuxt API**

# **Nuxt Config**

## `**enabled: boolean**`

- Default: `**true**`

Conditionally toggle the module.

## `**allow: string[]**`

- Default: `**[]**`

Allow paths to be indexed for the `*****` user-agent (all robots).

## `**disallow: string[]**`

- Default: `**[]**`

Disallow paths from being indexed for the `*****` user-agent (all robots).

## `**header: boolean**`

- Default: `**true**`

Whether to add an `**X-Robots-Tag**` header to the response.

## `**metaTag: boolean**`

- Default: `**true**`

Whether to add a `**<meta name="robots" ...>**` tag to the `**<head>**` of each page.

## `**groups: RobotsGroupInput[]**`

- Default: `**[]**`

Define more granular rules for the robots.txt. Each group is a set of rules for specific user agent(s).

```ts
export default defineNuxtConfig({
  robots: {
    groups: [
      {
        userAgent: ['AdsBot-Google-Mobile', 'AdsBot-Google-Mobile-Apps'],
        disallow: ['/admin'],
        allow: ['/admin/login'],
        contentUsage: { 'bots': 'y', 'train-ai': 'n' },
        contentSignal: { 'ai-train': 'no', 'search': 'yes' },
        comment: 'Allow Google AdsBot to index the login page but no-admin pages'
      },
    ]
  }
})
```

**Group configuration options.** Each group object supports the following properties:

- `**userAgent?: string | string[]**` - The user agent(s) to apply rules to. Defaults to `**['*']**`
- `**disallow?: string | string[]**` - Paths to disallow for the user agent(s)
- `**allow?: string | string[]**` - Paths to allow for the user agent(s)
- `**contentUsage?: string | string[] | Partial<ContentUsagePreferences>**` - IETF Content-Usage directives for AI preferences. Valid categories: `**bots**`, `**train-ai**`, `**ai-output**`, `**search**`. Values: `**y**`/ `**n**`. Use object format for type safety (see [**~~AI Directives guide~~**](https://nuxtseo.com/docs/robots/guides/ai-directives))
- `**contentSignal?: string | string[] | Partial<ContentSignalPreferences>**` - Cloudflare Content-Signal directives for AI preferences. Valid categories: `**search**`, `**ai-input**`, `**ai-train**`. Values: `**yes**`/ `**no**`. Use object format for type safety (see [**~~AI Directives guide~~**](https://nuxtseo.com/docs/robots/guides/ai-directives))
- `**comment?: string | string[]**` - Comments to include in the robots.txt file

## `**autoI18n: false | AutoI18nConfig**`

- Default: `**undefined**`

Override the auto i18n configuration.

## `**sitemap: MaybeArray<string>**`

- Default: `**[]**`

The sitemap URL(s) for the site. If you have multiple sitemaps, you can provide an array of URLs.

You must either define the runtime config `**siteUrl**` or provide the sitemap as absolute URLs.

nuxt.config.ts

```ts
export default defineNuxtConfig({
  robots: {
    sitemap: [
      '/sitemap-one.xml',
      '/sitemap-two.xml',
    ],
  },
})
```

## `**robotsEnabledValue: string**`

- Default: `**'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1'**`

The value to use when the page is indexable.

## `**robotsDisabledValue: string**`

- Type: `**string**`
- Default: `**'noindex, nofollow'**`

The value to use when the page is not indexable.

## `**mergeWithRobotsTxtPath: boolean | string**`

- Default: `**true**`

Specify a robots.txt path to merge the config from, relative to the root directory.

When set to `**true**`, the default path of `**<publicDir>/robots.txt**` will be used.

When set to `**false**`, no merging will occur.

## `**blockNonSeoBots: boolean**`

- Default: `**false**`

Blocks some non-SEO bots from crawling your site. This is not a replacement for a full-blown bot management solution, but it can help to reduce the load on your server.

See [**~~const.ts~~**](https://github.com/nuxt-modules/robots/blob/main/src/const.ts) for the list of bots that are blocked.

```ts
export default defineNuxtConfig({
  robots: {
    blockNonSeoBots: true
  }
})
```

## `**blockAiBots: boolean**`

- Default: `**false**`

Adds a rule group that disallows `**/**` for the training, AI search, and user-directed retrieval agents defined in the [`**AiBots**`**~~ constant~~**](https://github.com/nuxt-modules/robots/blob/main/src/const.ts). Blocking search and retrieval agents can reduce your site's visibility and citations in AI-generated answers. Some user-triggered agents may ignore robots.txt rules.

```ts
export default defineNuxtConfig({
  robots: {
    blockAiBots: true
  }
})
```

## `**robotsTxt: boolean**`

- Default: `**true**`

Whether to generate a `**robots.txt**` file. Useful for disabling when using a base URL.

## `**cacheControl: string | false**`

- Default: `**'max-age=14400, must-revalidate'**`

Configure the Cache-Control header for the robots.txt file. By default it's cached for 4 hours and must be revalidated.

Providing false will set the header to `**'no-store'**`.

```ts
export default defineNuxtConfig({
  robots: {
    cacheControl: 'max-age=14400, must-revalidate'
  }
})
```

## `**disableNuxtContentIntegration: boolean**`

- Default: `**undefined**`

Whether to disable the [**~~Nuxt Content Integration~~**](https://nuxtseo.com/docs/robots/advanced/content).

## `**debug: boolean**`

- Type: `**boolean**`
- Default: `**false**`

Enables debug logs and a debug endpoint.

## `**credits: boolean**`

- Default: `**true**`

Control the module credit comment in the generated robots.txt file.

robots.txt

```robots-txt
# START nuxt-robots (indexable) <- credits
# ...
# END nuxt-robots <- credits
```

```ts
export default defineNuxtConfig({
  robots: {
    credits: false
  }
})
```

## `**disallowNonIndexableRoutes: boolean**`

**⚠️ Deprecated**: Explicitly disallow routes in the `**/robots.txt**` file if you don't want them to be accessible.

- Default: `**false**`

Whether to add route rules which disallow indexing to the `**/robots.txt**` file.

## `**botDetection: boolean**`

- Default: `**true**`

Enable bot detection plugin. When disabled, no bot detection is performed.

**Was this page helpful?**

### **Related **

[**Config using Nuxt Config**](https://nuxtseo.com/docs/robots/guides/nuxt-config)

[**Nuxt Hooks**](https://nuxtseo.com/docs/robots/api/nuxt-hooks)

[**Config**](https://nuxtseo.com/docs/sitemap/api/config)

[**useRobotsRule()** A reactive way to access and set the robots rule.](https://nuxtseo.com/docs/robots/api/use-robots-rule) [**Nuxt Hooks** Learn how to use Nuxt hooks to modify the robots config.](https://nuxtseo.com/docs/robots/api/nuxt-hooks)