コンテンツを AI から見つけやすくし、プレーンテキストでも利用しやすくするために、いくつかの方法を取っています。
この分野の主な提案は llms.txt ↗ です。すべてのページを Markdown のリストにした、よく知られたパスを提供します。
llms.txt と llms-full.txt は、次のように実装しています。
llms.txt— すべての Cloudflare ドキュメント製品をカテゴリ別にまとめたディレクトリです。各エントリは、その製品固有のllms.txtにリンクします。たとえば/workers/llms.txtは、その製品の全ページを Markdown 形式で一覧します。llms-full.txt— すべての Cloudflare ドキュメントの全文を 1 つのファイルにまとめたものです。オフラインのインデックス作成、一括ベクトル化、大きなコンテキストのモデル向けです。製品単位のllms-full.txtも提供しています。例:/workers/llms-full.txt。
単一のドキュメントページの Markdown 版を取得するには、次のいずれかを使います。
-
/$page/index.mdにリクエストを送信します — 任意のページの末尾に/index.mdを付けると Markdown 版を取得できます。例:/docs-for-agents/index.md。 -
任意のページに
Accept: text/markdownヘッダーを付けてリクエストを送信します — Markdown for Agents を使い、ネットワーク層でページを Markdown に変換します。例:curl "https://developers.cloudflare.com/docs-for-agents/" \ --header "Accept: text/markdown"
どちらの方法も、Markdown for Agents による同じ Markdown 出力を返します。
このページの右上にある Page options ボタンから、現在のページを Markdown としてコピーし、任意の LLM に渡せます。

HTML は解析しやすいです。今読んでいるページを描画するために、ブラウザーも HTML を解析します。ただし、あまり 移植しやすく ありません。この制限は AI の文脈では特に問題になります。余分な表示情報が追加のトークンを消費するからです。
たとえば Tabs では、タブをクリックするまでパネルは非表示です。
このコンポーネントが出力する HTML を turndown ↗ のような変換にかけると、次のようになります。
- [One](#tab-panel-6)
- [Two](#tab-panel-7)
One Content
Two Content通常は JavaScript が扱うパネルの id への参照は表示されますが、機能しません。
主な回答や中核となる手順は、タブや折りたたみセクションの中だけに置かず、必ず本文の流れに書いてください。
タブは、一般的な概念を述べたあとに、プラットフォーム固有の違い(たとえば Dashboard、API、Terraform)に使います。Details は補足情報向けであり、主な回答には使いません。
この問題を解決するために、Markdown for Agents を使います。Cloudflare のネットワーク層で HTML を Markdown に変換します。次の処理を行います。
- コンテンツではないタグ(
script、style、linkなど)の削除 Tabsなどのインタラクティブなコンポーネントを、標準の箇条書きリストへ変換- コードブロックの HTML を、きれいな Markdown のフェンス付きコードブロックへ変換
前のセクションの Tabs の例では、Markdown for Agents は通常の箇条書きリストを返し、内容は各リスト項目に正しく対応します。
- One
One Content
- Two
Two Content任意のページを Markdown として取得する方法は次の 2 つです。
-
Accept: text/markdownヘッダーを付けてリクエストする:curl "https://developers.cloudflare.com/docs-for-agents/" \ --header "Accept: text/markdown" -
URL の末尾に
index.mdを付ける。例:/docs-for-agents/index.md
多くの AI の料金は入力トークンと出力トークンに基づきます。Markdown は必要な入力トークン数を大きく減らします。
たとえば、Workers の Get Started に必要なトークン数を OpenAI の tokenizer ↗ で見ると、次のとおりです。
- HTML: 15,229 トークン
- Markdown: 2,110 トークン(HTML の 7.22 分の 1)
コンテンツを AI に渡すとき、入力トークンのコストは実測で約 7 分の 1 になります。
コンテンツを 発見しやすくする 作業以外は、AI 向けのコンテンツ作りの多くは SEO やコンテンツのベストプラクティスと重なります。例は次のとおりです。
- セマンティック HTML を使う
- 見出しを付ける
- 名称の不統一や古い情報を減らす
詳細は Google の AI ガイダンス ↗ を参照してください。
特別に行っているのは、特定の種類のコンテンツに noindex ディレクティブ ↗ を付けることだけです(frontmatter のタグ 経由)。
<meta name="robots" content="noindex">たとえば、Wrangler 1 のように非推奨機能を扱うページがあります。技術的には正確でも、今は従うべきではなく、AI の出力を混乱させるおそれがあります。
現時点では、すべての AI クローラーがこのディレクティブに従うかは不明です。ただし、インデックスから除外するための合図はこの方法だけです(個別ページ向けに WAF ルールを設けることはしません)。