ByteScope

llms.txt Generator

サイトマップから、今日公開できる llms.txt を。

サイトマップの URL と各ページの head は Worker が取得し、保存しません。アップロードした XML はブラウザから出ません。

1. サイトマップ

または XML をアップロード:

置き場所と Content-Type

ファイルをサイトのルートに置いて /llms.txt で開けるようにし、Content-Type: text/plain; charset=utf-8 で配信します。charset がないと日本語のタイトルが文字化けすることがあり、どのパスにも HTML の外枠を返す SPA だと、ファイルの代わりにその外枠が配信されてしまいます。

Cloudflare Pages / Workers の静的アセット: 出力フォルダの _headers

/llms.txt
  Content-Type: text/plain; charset=utf-8

Netlify: 公開フォルダの _headers

/llms.txt
  Content-Type: text/plain; charset=utf-8

nginx: server ブロックの中

location = /llms.txt {
    types { text/plain txt; }
    charset utf-8;
}

Vercel: プロジェクト直下の vercel.json

{
  "headers": [
    {
      "source": "/llms.txt",
      "headers": [
        {
          "key": "Content-Type",
          "value": "text/plain; charset=utf-8"
        }
      ]
    }
  ]
}

公開したら、トップページで AI 検索チェックを実行し、テキストとして読まれるか確かめてください。

このツールについて

llms.txt はサイトのルートに置く Markdown ファイルで、AI ツールに主要ページの地図を短く渡すためのものです。サイト名の H1、1 行の要約を引用ブロックで、その下に - [タイトル](URL): 説明 のリンクを並べた H2 セクション、という形です(llmstxt.org の慣例)。何百行も手で書かなくて済むように、このツールはサイトマップから自動で組み立てます。

使い方

サイトマップの URL を貼るか、XML ファイルをアップロードします。サイトマップインデックスなら子サイトマップを最大 20 個まで自動でたどります。ページはパスの最初の階層でセクションに分け、1 ページしかないグループは先頭のセクションにまとめます。セクション名はあとから変えられます。URL が /en/ や /ja/ のような言語プレフィックスで始まるなら、言語を 1 つ選んでください。同じサイトが 3 回並ぶのを防げます。除外ルールは robots.txt と同じ書き方で、* は何にでも一致し、末尾の $ は行末を表します。ページ数の上限は初期値 500、最大 2,000 です。

タイトルと説明文

「タイトルを取得」を押すと、各ページの <title> と <meta name="description"> を Worker 経由で読みます。1 リクエスト 10 ページ、同時に 2 リクエストまでです。Worker の制限は IP アドレスごとに毎分 60 リクエストなので、500 ページならおよそ 1 分で終わり、制限に当たったら自動で待ってから再開します。途中で止めてもそこまでの結果は残り、取得そのものを飛ばして URL のパスをタイトル代わりにもできます。AI が文章を書くことはなく、説明文はページにすでに書かれているものです。

どこに置くか

ファイルはサイトのルートに置き、/llms.txt で Content-Type: text/plain; charset=utf-8 として配信します。たいていのホスティングは .txt を text/plain で返しますが、charset を付けないところもあり、そうなると日本語のタイトルが文字化けします。また SPA は知らないパスに HTML の外枠を返しがちで、AI ツールはそれを llms.txt として読んでしまいます。プレビューの下に Cloudflare、Netlify、nginx、Vercel 向けのヘッダー設定例を載せています。

よくある質問

llms.txt はどんな形式ですか?

llmstxt.org で提案されている Markdown ファイルです。サイト名やプロジェクト名の # 見出しを 1 つ、任意で > の要約、続いて - [タイトル](URL): メモ 形式のリンクを並べた ## セクションを置きます。Optional という名前のセクションは、コンテキストが足りないときに AI ツールが読み飛ばしてよいリンクの印です。

サイトマップから llms.txt を作るには?

サイトマップの URL(ふつうは /sitemap.xml、または robots.txt の Sitemap: 行)を貼り、多言語サイトなら言語を選び、除外ルールを足してタイトルを取得します。必要ならセクション名を直し、ダウンロードしたファイルをサイトのルートに置けば完了です。

llms.txt の Content-Type は何にすべき?

text/plain; charset=utf-8 です。中身は Markdown ですが、プレーンテキストならどのクライアントでも受け取れますし、charset があれば日本語のタイトルも崩れません。公開したらトップページで AI 検索チェックを実行してください。llms.txt のカードが、HTML として返ってきてしまうファイルを見つけてくれます。

説明文は AI が書くのですか?

いいえ。各リンクにはそのページ自身の <title> と meta description を、改行や余分な空白を詰めて使います。description がないページはメモなしになります。もっと良い要約にしたければ、ダウンロード後に手で直してください。

タイトルが URL のパスのままのページがあるのはなぜ?

そのページの head を読めなかったからです。エラーが返った、リダイレクト先で失敗した、HTML ではなかった、<title> がない、のいずれかです。取得を飛ばしたときや途中で止めたときも、残りのページはパスのままになります。ファイルとしての誤りではなく、読める代わりの表記です。

サイトマップやサイトの内容は保存されますか?

保存しません。アップロードした XML はブラウザ内で解析します。サイトマップの URL と各ページの head は Worker が取得してブラウザに返すだけで、何も残しません。回数制限は IP アドレスごとに毎分 60 リクエストです。