---
title: "AI Content Signals"
description: "Publish AI usage preferences through robots.txt directives."
canonical_url: "https://nuxtseo.com/docs/ai-ready/guides/content-signals"
last_updated: "2026-09-26T12:05:02.579Z"
---

Content Signals in `robots.txt`{lang="txt"} declare how you want AI systems to use your content.
They rely on the receiving system to honor them. They do not restrict access to a page.

## Standards

The module emits two directive formats:

**[Content-Usage](https://ietf-wg-aipref.github.io/drafts/draft-ietf-aipref-attach.html#name-robots-exclusion-protocol-c)** (values: `y`/`n`)

- `train-ai`: foundation model training

**[Content-Signal](https://contentsignals.org/)** (values: `yes`/`no`)

- `search`: indexing/snippets
- `ai-input`: RAG, grounding, AI search
- `ai-train`: model training/fine-tuning

See [Nuxt Robots AI Directives](/docs/robots/guides/ai-directives) for full documentation.

## Enable

The module emits no Content Signals by default. Set the uses you want to allow:

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  aiReady: {
    contentSignal: {
      aiTrain: true,
      search: true,
      aiInput: true
    }
  }
})
```

The module adds these directive lines to a wildcard user-agent group:

```txt [robots.txt]
Content-Usage: train-ai=y
Content-Signal: ai-train=yes, search=yes, ai-input=yes
```

Set `contentSignal.contentUsage: false`{lang="ts"} to omit the draft `Content-Usage`{lang="txt"} row while keeping the `Content-Signal`{lang="txt"} row for tooling that specifically rejects `Content-Usage`{lang="txt"}.

Nuxt AI Ready requires [`@nuxtjs/robots`](https://nuxtseo.com/robots) 6.0.0 or later.
If you omit a permission from an enabled `contentSignal` object, the module emits `no` for that permission.

## Selective Permissions

Allow search indexing while declaring no permission for AI training or AI input:

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  aiReady: {
    contentSignal: {
      search: true,
      aiInput: false,
      aiTrain: false
    }
  }
})
```

Set `contentSignal: false`{lang="ts"} to disable (default).

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
