コンテンツにスキップ
Blume
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

サイトマップと robots

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

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

サイトマップ

Blume はビルド時に、インデックス対象となるすべてのページを含む sitemap.xml を書き出します。絶対 URL の deployment.site が必要で、下書き・非表示・noindex のページ、および seo.canonical で別の URL を指定しているページを除くすべてのページを列挙します。バージョン管理されたサイトでは、canonical が現行版を指しているアーカイブページも除外されます — インデックスすべきなのは現行のページだからです。デフォルトで有効です:

seo: {
  sitemap: true,
}

ロケールの代替リンク

多言語サイトでは、サイトマップに代替リンクを含めるようオプトインできます:

seo: {
  sitemap: { alternates: true },
}

翻訳された各ページは、自身を含むすべての翻訳を xhtml:link 要素として列挙し、デフォルトロケールにそのページがある場合は x-default リンクも追加します。これらはページの head に含まれる hreflang リンクと同じものです。noindex・非表示・canonical が別の URL を指している翻訳は、どちらにも含まれません。列挙されるロケールが 2 つ未満のページには、代替リンクは付きません。URL にはデプロイメントのベースパスが含まれます。sitemap: true と sitemap: {} では代替リンクは無効のままで、sitemap: false を指定するとサイトマップ自体が無効になります。

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

Robots

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

seo: {
  robots: true,
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /

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

コンテンツシグナル

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

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

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

agents: {
  contentSignals: {
    aiTrain: false, // opt out of training, keep search + grounding
  },
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /

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

agents: {
  contentSignals: false,
}
プロパティ型
agents.contentSignals?boolean | object

Content-Signal 宣言。true または省略した場合はすべてのシグナルを yes として出力し、false の場合は行を削除、オブジェクトを指定するとシグナルを個別に設定します。

型boolean | object
contentSignals.search?boolean

検索インデックス (search) での利用を許可します。デフォルトは true。

型boolean
contentSignals.aiInput?boolean

回答時の AI グラウンディング / RAG (ai-input) での利用を許可します。デフォルトは true。

型boolean
contentSignals.aiTrain?boolean

AI モデルの学習 (ai-train) での利用を許可します。デフォルトは true。

型boolean

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

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

最終更新

このページは役に立ちましたか?