v4.0.0 · Nuxt Robots · 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/robots/getting-started/introduction)

[API](https://nuxtseo.com/docs/robots/api/use-robots-rule)

[Releases](https://nuxtseo.com/docs/robots/releases/v6)

Robots

- [Switch to Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Switch to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/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`` /`

v6.0.7

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

### Changelog

### Releases

- [v6.0.0](https://nuxtseo.com/docs/robots/releases/v6)
- [v5.0.0](https://nuxtseo.com/docs/robots/releases/v5)
- [v4.0.0](https://nuxtseo.com/docs/robots/releases/v4)
- [v3.0.0](https://nuxtseo.com/docs/robots/releases/v3)

Releases

# v4.0.0

[Copy for LLMs](https://nuxtseo.com/docs/robots/releases/v4.md)

## [Nuxt Simple Robots is now Nuxt Robots](#nuxt-simple-robots-is-now-nuxt-robots)

In a [discussion](https://github.com/nuxt-modules/robots/issues/116) with the team and the community, we have decided to migrate `nuxt-simple-robots` into the `@nuxtjs/robots` module.

This will allow me to better maintain the module and provide a more consistent experience across the Nuxt ecosystem.

To upgrade simply replace the dependency in `package.json` and update your nuxt.config.

```
- 'nuxt-simple-robots'
+ '@nuxtjs/robots'
```

If you're coming from `nuxt-simple-robots` then no other changes are needed. If you're coming from `@nuxtjs/robots` v3, then the following breaking changes exist.

### [`@nuxtjs/robots` v3 breaking changes](#nuxtjsrobots-v3-breaking-changes)

- The `configPath` config is no longer supported. For custom runtime config you should use [Nitro Hooks](https://nuxtseo.com/docs/robots/nitro-api/nitro-hooks).
- The `rules` config is deprecated but will continue to work. Any `BlankLine` or `Comment` rules will no longer work.
- Using `CleanParam`, `CrawlDelay` and `Disavow` requires targeting the [Yandex](https://nuxtseo.com/docs/robots/advanced/yandex) user agent.

## [Features](#features)

### [useRobotsRule()](#userobotsrule)

A new Nuxt composable [useRobotsRule()](https://nuxtseo.com/docs/robots/api/use-robots-rule) has been introduced to allow you to access and modify the current robots rule for the current route.

```
import { useRobotsRule } from '#imports'

const rule = useRobotsRule()
// Ref<'noindex, nofollow'>
```

### [Robots.txt validation ](#robotstxt-validation)

When loading in a `robots.txt` file, the module will now validate the file to ensure each of the `disallow` and `allow` paths are valid.

This will help you avoid errors from Google Search Console and Google Lighthouse.

### [Default Meta Tag ](#default-meta-tag)

The module now adds the meta tag to your site by default. The composable and component helpers used to define this previously have been deprecated.

```
<!-- Example for an indexable route -->
<meta name="robots" content="index, follow">
```

Adding the meta tag is important for pages that are prerendered as the `X-Robots-Tag` header is not available.

You can opt out with `metaTag: false.`

### [I18n Integration ](#i18n-integration)

The module now integrates with [nuxt-i18n](https://i18n.nuxtjs.org/).

This will automatically re-configure your `allow` and `disallow` rules to include the locale prefix if you have omitted it.

```
export default defineNuxtConfig({
  robots: {
    allow: ['/about'],
    disallow: ['/admin'],
  },
  i18n: {
    strategy: 'prefix_except_default',
    locales: ['en', 'fr'],
    defaultLocale: 'en',
  },
})
```

```
# robots.txt
User-agent: *
Allow: /about
Allow: /fr/about
Disallow: /admin
Disallow: /fr/admin
```

Learn more on the [I18n Integration](https://nuxtseo.com/docs/robots/advanced/i18n) docs.

### [Nuxt Content Integration ](#nuxt-content-integration)

The module now integrates with [@nuxt/content](https://content.nuxt.com/). Allowing you to use the `robots` frontmatter key within your markdown files.

```
---
robots: false
---
```

Learn more on the [Nuxt Content](https://nuxtseo.com/docs/robots/advanced/content) docs.

### [Nuxt DevTools Integration ](#nuxt-devtools-integration)

The module now integrates with [Nuxt DevTools](https://devtools.nuxt.com/).

You can visit the Robots tab and see if the current route is indexable, and if not, why.

![](https://github.com/harlan-zw/nuxt-simple-robots/assets/5326365/c9442b1f-75c6-47c1-b61d-76c949964ef4) ### [New Nitro Hook and Util Exports ](#new-nitro-hook-and-util-exports)

In this version the new hook Nitro hook as introduced `robots:config`. This hook will let you override the robots.txt data as a JavaScript object, instead of a string.

Like-wise you can now re-use any of the internal functions to parse, validate and generate robots.txt data using the `@nuxtjs/robots/util` export.

```
import { parseRobotsTxt } from '@nuxtjs/robots/util'

export default defineNitroPlugin((nitroApp) => {
  nitroApp.hooks.hook('robots:config', async (ctx) => {
    if (ctx.context === 'robots.txt') {
      const customRobotsTxt = await $fetch('https://example.com/robots.txt')
      const parsed = parseRobotsTxt(config)
      config.groups = defu(config.groups, parsed.groups)
    }
  })
})
```

## [Breaking Changes](#breaking-changes)

### [Site Config](#site-config)

The deprecated Nuxt Config site config keys have been removed: `host`, `siteUrl`, `indexable`.

You will need to configure these using [Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction).

```
export default defineNuxtConfig({
  robots: {
-    indexable: false,
  },
  site: {
+   indexable: false,
  }
})
```

## [Deprecations](#deprecations)

### [`defineRobotMeta()` and `<RobotMeta>`](#definerobotmeta-and-robotmeta)

Because the module now uses a default meta tag, the `defineRobotMeta()` function and `<RobotMeta>` component are deprecated.

You should remove this from your code.

### [`index` Route Rule](#index-route-rule)

The `index` route rule has been deprecated in favour of the `robots` rule. This provides less ambiguity and more control over the rule.

```
export default defineNuxtConfig({
  routeRules: {
    '/admin': {
-      index: false,
+      robots: false,
    }
  }
})
```

[Edit this page](https://github.com/nuxt-modules/robots/edit/main/docs/content/4.releases/5.v4.md)

[Markdown For LLMs](https://nuxtseo.com/docs/robots/releases/v4.md)

Did this page help you?

[v5.0.0 Release notes for Nuxt Robots v5.0.0.](https://nuxtseo.com/docs/robots/releases/v5) [v3.0.0 Release notes for Nuxt Robots v3.0.0.](https://nuxtseo.com/docs/robots/releases/v3)

On this page

- [Nuxt Simple Robots is now Nuxt Robots](#nuxt-simple-robots-is-now-nuxt-robots)
- [Features](#features)
- [Breaking Changes](#breaking-changes)
- [Deprecations](#deprecations)

[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)