---
title: サイトマップと robots
description: >-
  Blume がクローラー向けに書き出す sitemap.xml と robots.txt、そして AI クローラーにドキュメントの利用方法を伝える Content-Signal 行について。
---

検索クローラーも AI クローラーも、サイトルートにある同じ 2 つのファイルから始めます。Blume はビルドのたびに両方を書き出し、`robots.txt` には AI クローラーが参照するコンテンツ利用シグナルが含まれます。つまり、ここは発見可能性の検索側とエージェント側が交わる場所です。

## サイトマップ [#sitemap]

Blume はビルド時に、インデックス対象となるすべてのページを含む `sitemap.xml` を書き出します。絶対 URL の [`deployment.site`](/docs/deployment) が必要で、下書き・非表示・[`noindex`](/docs/discoverability/metadata#per-page-overrides) のページを除くすべてのページを列挙します。[バージョン管理された](/docs/content/versioning)サイトでは、canonical が現行版を指しているアーカイブページも除外されます — インデックスすべきなのは現行のページだからです。デフォルトで有効です:

```ts blume.config.ts lineNumbers
seo: {
  sitemap: true,
}
```

独自の `public/sitemap.xml` を配置すれば、そちらが優先されます — Blume が `public/` に置いたファイルを上書きすることはありません。

## Robots

Blume は、すべてのクローラーを許可し、[コンテンツシグナル](#content-signals)を宣言し、サイトマップが利用可能な場合はそれを指す `Sitemap:` 行を追加した `robots.txt` を書き出します。デフォルトで有効です:

```ts blume.config.ts lineNumbers
seo: {
  robots: true,
}
```

```txt robots.txt
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /

Sitemap: https://docs.example.com/sitemap.xml
```

### コンテンツシグナル [#content-signals]

`Content-Signal` 行は、コンテンツ利用に関する新たな慣例であり、AI クローラーがドキュメントをどのように再利用してよいかを宣言します。Blume は、ドキュメントは人間にもエージェントにも開かれているという方針に沿って、**デフォルトで有効、かつすべてのシグナルを `yes`** として出力します:

- `search` — 従来の検索および AI 検索のインデックス
- `aiInput` — 回答時のグラウンディング / RAG
- `aiTrain` — モデルの学習

いずれかのシグナルを制限するには `false` を設定します。指定しなかったものは `yes` のままです:

```ts blume.config.ts lineNumbers
seo: {
  contentSignals: {
    aiTrain: false, // opt out of training, keep search + grounding
  },
}
```

```txt robots.txt
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
```

宣言そのものを削除するには `contentSignals: false` を設定します:

```ts blume.config.ts lineNumbers
seo: {
  contentSignals: false,
}
```

| Prop | Type | Default | Description |
| - | - | - | - |
| `seo.contentSignals?` | `boolean \| object` | - | Content-Signal 宣言。true または省略した場合はすべてのシグナルを yes として出力し、false の場合は行を削除、オブジェクトを指定するとシグナルを個別に設定します。 |
| `contentSignals.search?` | `boolean` | - | 検索インデックス (search) での利用を許可します。デフォルトは true。 |
| `contentSignals.aiInput?` | `boolean` | - | 回答時の AI グラウンディング / RAG (ai-input) での利用を許可します。デフォルトは true。 |
| `contentSignals.aiTrain?` | `boolean` | - | AI モデルの学習 (ai-train) での利用を許可します。デフォルトは true。 |

コンテンツシグナルは希望を表明するものであり、アクセス制御ではありません。行儀のよいクローラーに対してコンテンツをどのように利用してほしいかを伝えるものであり、それを尊重するかどうかはクローラー側に委ねられています。同じポリシーは[エージェント可読性マニフェスト](/docs/discoverability/agent-discovery#agent-readability)に `contentUsage` として反映されるため、`robots.txt` を一切読まないエージェントでもこれを参照できます。

独自の `public/robots.txt` を配置すれば、そちらが優先されます。
