DiscourseでネイティブLLMs.txtサポートを有効にする

:bookmark: このガイドでは、llms.txt 標準を通じて、コミュニティを AI エージェントや LLM クローラーに発見・利用可能にする方法を説明します。自動生成されるデフォルト文書と、カスタムでアップロードしたファイルの両方についてカバーしています。

:person_raising_hand: 必要なユーザー権限: 管理者

概要

Discourse は、Web サイトの LLM フレンドリーな概要を提供するための提案された慣行である llms.txt 標準 に対してネイティブサポートを提供しています。これは「AI 向けの robots.txt」と考えてください。/llms.txt に配置される小さな Markdown ファイルで、大規模言語モデル(LLM)や AI エージェントが、サイトが何を扱っているのか、そしてどのように責任を持ってアクセスすべきかを理解するのに役立ちます。

以下の 2 つのアプローチから選択するか、組み合わせることができます:

  1. サイト設定からデフォルト文書を自動的に生成させる
  2. カスタムの llms.txt ファイルをアップロードして、コンテンツを完全に制御する

カスタムアップロードは、常に生成された文書よりも優先されます。

llms.txt とは?

llms.txt は、Web サイトのエージェントフレンドリーなマップを提供する提案された標準です。サイトルート(/llms.txt)で配信され、厳密な Markdown 形式に従います:

  • サイト名を含む H1 見出し(必須の唯一のセクション)
  • 短い概要を含む引用ブロック
  • より詳細な情報を含む任意の Markdown セクション
  • 有用なリンクのリストを含む H2 で区切られたセクション

検索エンジン向けにページを列挙する sitemap.xml とは異なり、llms.txt は LLM のコンテキストウィンドムに収まるよう設計された簡潔な概要です。詳細はリンクの奥にあり、必要になった場合にのみ取得されます。

Discourse v2026.1.0 以降、Discourse はサイトルートから llms.txt を配信できます。

Discourse が /llms.txt を配信する方法

Discourse は /llms.txt へのリクエストを以下の順序で処理します:

  1. カスタムファイルをアップロードしている場合、Discourse はそれを text/plain として変更なしで配信します
  2. カスタムファイルがアップロードされておらず、生成デフォルトが有効な場合、Discourse は文書を生成して配信します
  3. それ以外の場合、Discourse は 404 を返します

生成された文書は、匿名の訪問者とログイン済みユーザーの両方で同一であり、ログイン必須 リダイレクトの影響を受けません。

生成されるデフォルト文書

カスタムファイルがアップロードされておらず、機能が有効な場合、Discourse はサイトの既存の設定とサイトのデフォルトロケールを使用して簡潔な文書を構築します。以下が含まれます:

  • サイトタイトルtitle 設定から)、ホスト名がフォールバックとして使用される
  • 概要引用ブロックsite_description を使用し、フォールバックとして short_site_description が使用される)
  • 人間向けコミュニティポリシー(サイトは人間向けの議論用であり、エージェントは人間が明示的に要求した場合にのみ書き込みを行うべきであると述べるもの)
  • エージェントアクセスポリシー(エージェントには必要最小限の情報のみを取得し、robots.txt とクローラー制御を尊重し、Retry-After 間隔に従って HTTP 429 を尊重するよう求めるもの)
  • Discourse MCP 参照(エージェントに Discourse MCP サーバー を優先的で権限認識可能なインターフェースとして示すもの)
  • 優先エージェントインターフェース セクション(Discourse MCP のセットアップリンクを含む)
  • 公開 Web アクセス セクション(/search/filter/latest/categories へのリンク、および enable_sitemap 設定がオンの場合の /sitemap.xml
  • 任意 セクション(/about/guidelines/tos/privacy へのリンク)

サイトに login_required が有効な場合、文書にはコンテンツが認証済みメンバーのみ利用可能であるという注記が追加され、上記の公開ディスカバリーリンクは省略されます。リンクはベースパスを認識するため、サブフォルダインストールでも正しく動作します。

アナウンスと生成テンプレートに関する議論は Automatically generated llms.txt で確認できます。Meta 自体は現在、カスタムのサイト固有ファイル を配信しています。

生成デフォルト文書を有効にする

生成デフォルトは、Upcoming Changes システムを通じて、管理者がオプトインまたはオプトアウトできるベータ変更として提供されます。

  1. 管理者 → 設定 → Upcoming Changes に移動するか、/admin/config/upcoming-changes を訪問する
  2. カスタムファイルがアップロードされていない場合にデフォルトの /llms.txt を生成する変更を見つける
  3. 有効にする対象 ドロップダウンで、すべての訪問者に対して有効にするには 全員 を選択する
  4. 無効にするには 誰も を選択する

プロモーションされた変更は、準備が整った時点で自動的にここに表示され、管理者はダッシュボードで通知されます。llms.txt ファイルを一切配信したくない場合は、この変更を 誰も に設定するか、最小限のカスタムファイルをアップロードしてください。

カスタム llms.txt をアップロードする

コンテンツを正確に制御したい場合は、独自のファイルをアップロードできます。

  1. .txt または .md 形式の llms.txt ファイルを準備する(最大ファイルサイズは 512 KB)
  2. 管理者 → 設定 → セキュリティ に移動するか、/admin/config/security を訪問し、LLMs TXT を検索する
  3. ファイルをアップロードして設定を保存する

設定が完了すると、Discourse はファイルを以下に変更なしで配信します:

https://yourforum.com/llms.txt

構文と形式のガイダンスについては llmstxt.org を参照してください。カスタムアップロードは常に生成された文書を上書きします。参考までに、Meta のファイル を表示できます。

セットアップの確認

ブラウザや curl を使用してファイルのリクエストを行い、エージェントが何を見るかを確認できます:

curl https://yourforum.com/llms.txt

ベストプラクティス

  • ファイルは簡潔に保つこと。llms.txt はマニフェストではなくマップです。すべてのトークンはコンテキストのコストを伴い、巨大なファイルはエージェントの混乱と結果の悪化を招きます
  • 生成デフォルトは、そのコンテンツがポリシーと一致する場合にのみ配信すること。異なる表現が必要な場合は、生成されたテキストをコピーしてコミュニティに合わせて編集し、カスタムファイルとしてアップロードしてください
  • カスタムファイルは仕様に従って構成すること:H1 タイトル、引用ブロックによる概要、次にリンクリストを含む H2 セクション、二次的なリンクには Optional セクションを使用する
  • llms.txt をクローラー制御と組み合わせること。自動アクセスを調整するには、slow_down_crawler_user_agentsslow_down_crawler_rate 設定を構成する(管理者 → 設定 → セキュリティ)
  • llms.txt はサイトを説明するもの、robots.txt はアクセスを制御するものであることを忘れないでください。これらは異なる目的を持ち、互いを補完します

よくある問題と解決策

/llms.txt で 404 が返される

これは、カスタムファイルがアップロードされておらず、生成デフォルトが有効になっていない場合に発生します。カスタムファイルをアップロードするか、管理者 → Upcoming Changes で生成デフォルトを有効にするか、または両方を実行してください。

llms.txt Generator プラグインを使用しており、メインファイルが動作しなくなった

コアの Discourse は /llms.txt パスを配信するため、それを生成するプラグインよりも優先されます。プラグインによって動的に生成されるファイル(完全なトピックインデックスなど)に依存している場合、実用的な回避策として、プラグイン生成コンテンツへのリンクを含む最小限のカスタム llms.txt をアップロードすることです。例:

# [あなたのサイトタイトル]

https://yourforum.com/llms-full.txt を参照してください

プラグインはまた、影響を受けないカテゴリ別、トピック別、タグ別のファイルも生成します。

ファイルをアップロードしたが、/llms.txt が 404 を返す

アップロードされたファイルがストレージから読み取れない場合(例えば、外部オブジェクトストアから欠落している場合)、Discourse は 404 を返し、生成文書へのフォールバックは行いません。これを解決するには、ファイルを再アップロードしてください。

サイトはログイン必須ですが、どのように動作しますか?

生成された文書は引き続き動作します:アカウント必須の通知を含み、公開ディスカバリーリンクは省略されます。カスタムアップロードは常にそのまま配信されます。エージェントがコンテンツにアクセスできるようにしたい場合は、ログイン設定がクローラビリティに与える影響を検討してください。

よくある質問

Discourse は llms.txt にすべてのトピックを自動的に列挙しますか?

いいえ、生成デフォルトは意図的に個々のトピックを列挙しません。これは、サイトを説明し、アクセスポリシーを述べ、エージェントを Discourse MCP インターフェースと一部のディスカバリールートに導くための最小限のマップです。

生成された文書の言語はどれですか?

リクエストの言語に関係なく、サイトのデフォルトロケール(default_locale 設定)で生成されます。

オプトアウトできますか?

はい。管理者 → Upcoming Changes で変更を 誰も に設定してください。または、独自のコンテンツを含むカスタムファイルをアップロードしてください。

なぜ生成された文書は Discourse MCP に言及しているのですか?

Discourse MCP サーバーは、トピック、投稿、検索、ユーザー、カテゴリ、およびサポートされているコミュニティアクションに対する権限認識可能なツールを提供します。エージェントがあなたのコミュニティと連携するための優先方法であり、利用可能な場合は「優先エージェントインターフェース」セクションにローカル MCP セットアップへのリンクが表示されます。

追加リソース

「いいね!」 14

Discourse がサイトの llms.txt を動的に生成することは不可能なのでしょうか?それははるかに有用な機能だと思われますし、🤖 Discourse llms.txt Generator Plugin - #2 by Ivan_Rapekas というプラグインと整合性を取るものでもあります。しかし、この新機能はそれと衝突し、プラグインが正しく設定されていても /llms.txt のパスをオーバーライドして 404 エラーを返してしまいます。

この機能追加はロードマップのどこかに記載されていますか?

「いいね!」 5

この問題に対する私の回避策は以下の通りです:

  • VS Code に llms.txt ファイルを作成し、以下の内容のみを含めます:

    [https://<YOUR-BASEURL>/llms-full.txt](https://<YOUR-BASEURL>/llms-full.txt) に移動してください
    
  • このファイルを Discourse コアの llms.txt セクション(admin/config/security?filter=LLMs%20TXT)にアップロードし、保存します。

  • https://<YOUR-BASEURL>/llms.txt にアクセスした際に、上記のテキストファイルの内容が表示されることを確認します。

  • これで、llms.txt に到達した LLM が、🤖 Discourse llms.txt Generator Plugin によって動的に生成される llms-full.txt に誘導されるはずです。

「いいね!」 1

Automatically generated llms.txt で発表された変更を反映し、ガイドを更新しました。

「いいね!」 3