v2 RC to v2 Stable · Nuxt SEO

[NuxtSEO](https://nuxtseo.com/ "Home")

- [Modules](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Tools](https://nuxtseo.com/tools)
- [Pro](https://nuxtseo.com/pro)
- [Learn SEO](https://nuxtseo.com/learn-seo/nuxt) [Releases](https://nuxtseo.com/releases)

[1.4K](https://github.com/harlan-zw/nuxt-seo)

[Nuxt SEO on GitHub](https://github.com/harlan-zw/nuxt-seo)

[User Guides](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)

[Releases](https://nuxtseo.com/docs/nuxt-seo/releases/v5)

Nuxt SEO

- [Switch to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Switch to Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Switch to Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [Switch to OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Switch to Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Switch to Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [Switch to SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Switch to Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Switch to Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [Switch to AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

Search…```k`` /`

v5.1.3

- Playgrounds
- [Discord Support](https://discord.com/invite/275MBUBvgP)

### Changelog

### Migration Guides

- [v2 RC to v2 Stable](https://nuxtseo.com/docs/nuxt-seo/migration-guide/rc-to-stable)
- [v2 Beta to v2 RC](https://nuxtseo.com/docs/nuxt-seo/migration-guide/beta-to-rc)
- [Nuxt SEO Kit to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/migration-guide/nuxt-seo-kit)
- [v3 to v4](https://nuxtseo.com/docs/nuxt-seo/migration-guide/v3-to-v4)
- [v4 to v5](https://nuxtseo.com/docs/nuxt-seo/migration-guide/v4-to-v5)

### Releases

- [v5.0.0](https://nuxtseo.com/docs/nuxt-seo/releases/v5)

Migration Guides

# v2 RC to v2 Stable

[Copy for LLMs](https://nuxtseo.com/docs/nuxt-seo/migration-guide/rc-to-stable.md)

## [Introduction](#introduction)

What you'll learn

- Config keys changed: `index` → `robots`, `rules` → `groups`, `cacheTtl` → `cacheMaxAgeSeconds`
- Deprecated composables removed: `defineRobotMeta`, `RobotMeta` component
- `nuxt-seo-experiments` renamed to `nuxt-seo-utils`

This guide will help you migrate from the Nuxt SEO v2 RC to the v2 stable release.

Please see the [announcement](https://nuxtseo.com/announcement) post for details on the release.

## [Support](#support)

If you get stuck with the migration or have post-migration bugs, please get in touch.

- [Jump in the Discord](https://discord.com/invite/5jDAMswWwX)
- [Make a GitHub issue](https://github.com/harlan-zw/nuxt-seo/issues)

## [Nuxt Site Config v3](#nuxt-site-config-v3)

Nuxt Site Config is a module used internally by Nuxt Robots.

The major update to v3.0.0 shouldn't have any direct effect on your site, however, you may want to double-check the [breaking changes](https://github.com/harlan-zw/nuxt-site-config/releases/tag/v3.0.0).

## [Nuxt SEO Utils v6](#nuxt-seo-utils-v6)

In moving to the stable release, Nuxt SEO experiments has been renamed from `nuxt-seo-experiments` to `nuxt-seo-utils`.

The original name of the module was `nuxt-seo-experiments`, hinting that the features weren't stable and that they would land in the Nuxt core. This is no longer the case, and the module has been renamed to reflect this.

With this rename the module scope changes to include the random functionality that Nuxt SEO was previously providing:

- `useBreadcrumbItems()` composable
- Config: `redirectToCanonicalSiteUrl`
- Config: `fallbackTitle`
- Config: `automaticDefaults`

As Nuxt SEO Utils shared the same config key as the Nuxt SEO module, your config requires no changes. However, it's worth testing your site to ensure that everything works as expected.

## [Nuxt Sitemap v7](#nuxt-sitemap-v7)

### [Removed `inferStaticPagesAsRoutes` config](#removed-inferstaticpagesasroutes-config)

If you set this value to `false` previously, you will need to change it to the below:

```
export default defineNuxtConfig({
  sitemap: {
-      inferStaticPagesAsRoutes: false,
+      excludeAppSources: ['pages', 'route-rules', 'prerender']
  }
})
```

### [Removed `dynamicUrlsApiEndpoint` config](#removed-dynamicurlsapiendpoint-config)

The `sources` config supports multiple API endpoints and allows you to provide custom fetch options, use this instead.

```
export default defineNuxtConfig({
  sitemap: {
-      dynamicUrlsApiEndpoint: '/__sitemap/urls',
+      sources: ['/__sitemap/urls']
  }
})
```

### [Removed `cacheTtl` config](#removed-cachettl-config)

Please use the `cacheMaxAgeSeconds` as its a clearer config.

```
export default defineNuxtConfig({
  sitemap: {
-      cacheTtl: 10000,
+      cacheMaxAgeSeconds: 10000
  }
})
```

### [Removed `index` route rule / Nuxt Content support](#removed-index-route-rule-nuxt-content-support)

If you were using the `index: false` in either route rules or your Nuxt Content markdown files, you will need to update this to use the `robots` key.

```
export default defineNuxtConfig({
  routeRules: {
    // use the \`index\` shortcut for simple rules
-    '/secret/**': { index: false },
+    '/secret/**': { robots: false },
  }
})
```

## [Nuxt Robots v5](#nuxt-robots-v5)

The `index`, `indexable`, and `rules` config options no longer exist. You must migrate to the `robots` key for route rules and `groups` for robots.txt configuration.

### [Removed `rules` config](#removed-rules-config)

The v4 of Nuxt Robots provided a backward compatibility `rules` config. As it was deprecated, this is no longer supported. If you're using `rules`, you should migrate to the `groups` config or use a robots.txt file.

```
export default defineNuxtConfig({
  robots: {
-      rules: {},
+      groups: {}
  }
})
```

### [Removed `defineRobotMeta` composable](#removed-definerobotmeta-composable)

This composable didn't do anything in v4 as Nuxt enables the robots meta tag by default. If you'd like to control the robot meta tag rule, use the [`useRobotsRule()`](https://nuxtseo.com/docs/robots/api/use-robots-rule) composable.

```
- defineRobotMeta(true)
+ useRobotsRule(true)
```

### [Removed `RobotMeta` component](#removed-robotmeta-component)

This component was a simple wrapper for `defineRobotMeta`, you should use [`useRobotsRule()`](https://nuxtseo.com/docs/robots/api/use-robots-rule) if you wish to control the robots rule.

### [Removed `index`, `indexable` config](#removed-index-indexable-config)

When configuring robots using route rules or [Nuxt Content](https://nuxtseo.com/docs/robots/guides/content) you could control the robot's behavior by providing `index` or `indexable` rules.

These are no longer supported and you should use `robots` key.

```
export default defineNuxtConfig({
  routeRules: {
    // use the \`index\` shortcut for simple rules
-    '/secret/**': { index: false },
+    '/secret/**': { robots: false },
  }
})
```

## [Features](#features)

### [Config `blockAiBots`](#config-blockaibots)

AI crawlers can be beneficial as they can help users finding your site, but for some educational sites or those not interested in being indexed by AI crawlers, you can block them using the `blockAiBots` option.

nuxt.config.ts

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

This will block the following AI crawlers: `GPTBot`, `ChatGPT-User`, `Claude-Web`, `anthropic-ai`, `Applebot-Extended`, `Bytespider`, `CCBot`, `cohere-ai`, `Diffbot`, `FacebookBot`, `Google-Extended`, `ImagesiftBot`, `PerplexityBot`, `OmigiliBot`, `Omigili`

[Edit this page](https://github.com/harlan-zw/nuxt-seo/edit/main/docs/content/6.migration-guide/0.rc-to-stable.md)

[Markdown For LLMs](https://nuxtseo.com/docs/nuxt-seo/migration-guide/rc-to-stable.md)

Did this page help you?

[Updating Nuxt Modules Keep your Nuxt SEO modules up-to-date for bug fixes and new features.](https://nuxtseo.com/docs/nuxt-seo/guides/updating-modules) [v2 Beta to v2 RC Migrate from the Nuxt SEO v2 beta to the v2 RC.](https://nuxtseo.com/docs/nuxt-seo/migration-guide/beta-to-rc)

On this page

- [Introduction](#introduction)
- [Support](#support)
- [Nuxt Site Config v3](#nuxt-site-config-v3)
- [Nuxt SEO Utils v6](#nuxt-seo-utils-v6)
- [Nuxt Sitemap v7](#nuxt-sitemap-v7)
- [Nuxt Robots v5](#nuxt-robots-v5)
- [Features](#features)

[GitHub](https://github.com/harlan-zw/nuxt-seo) [ Discord](https://discord.com/invite/275MBUBvgP)

### [NuxtSEO](https://nuxtseo.com/ "Home")

- [Getting Started](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [MCP](https://nuxtseo.com/docs/nuxt-seo/guides/mcp)

Modules

- [Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

### [NuxtSEO Pro](https://nuxtseo.com/pro "Nuxt SEO Pro")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/pro/docs/getting-started/mcp-setup)

### [Learn SEO](https://nuxtseo.com/learn-seo "Learn SEO")

Nuxt

- [Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)
- [Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
- [Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)
- [Staying Secure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

Vue

- [Vue SEO Guide](https://nuxtseo.com/learn-seo/vue)
- [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/vue/controlling-crawlers)
- [SPA SEO](https://nuxtseo.com/learn-seo/vue/spa)
- [SSR Frameworks](https://nuxtseo.com/learn-seo/vue/ssr-frameworks)
- [SEO Checklist](https://nuxtseo.com/learn-seo/checklist)
- [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup)
- [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

### [Tools](https://nuxtseo.com/tools "SEO Tools")

- [Social Share Debugger](https://nuxtseo.com/tools/social-share-debugger)
- [Robots.txt Generator](https://nuxtseo.com/tools/robots-txt-generator)
- [Meta Tag Checker](https://nuxtseo.com/tools/meta-tag-checker)
- [HTML to Markdown](https://nuxtseo.com/tools/html-to-markdown)
- [XML Sitemap Validator](https://nuxtseo.com/tools/xml-sitemap-validator)
- [Schema.org Validator](https://nuxtseo.com/tools/schema-validator)
- [Keyword Idea Generator](https://nuxtseo.com/tools/keyword-generator)
- [Keyword Research](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings](https://nuxtseo.com/tools/domain-rankings)

Copyright © 2023-2026 Harlan Wilton - [MIT License](https://github.com/harlan-zw/nuxt-seo/blob/main/license) · [mdream](https://mdream.dev)