貼り付けまたは取得 · 行ごとの診断

llms.txt バリデーター

貼り付けられたコンテンツは、お使いのブラウザで解析されます。公開URLを確認する場合、当社のCloudflare機能がファイルを取得し、その後、お使いのブラウザがその構造を解析します。

最終更新:

バリデータ

ドメインを入力してください(そのドメインの /llms.txt)または完全なファイルURLを指定できます。取得はエッジ関数を経由するため、対象サイトのCORS制限は適用されません。

確認項目

バリデーターは、 llmstxt.org:

  • H1 が必須。 任意の UTF-8 BOM の後に、レベル1見出しがちょうど1つあること。
  • 引用ブロックの概要。 H1 の直後に推奨されます。
  • H2のファイル一覧セクション。 各セクションはMarkdownリストで、 - [name](url) 項目のリストで、任意で : notes.
  • 絶対 URL. 相対 URL は警告として扱われます。
  • セクション外にコンテンツを置かない。 最初の H2 の後に想定されるのは、ファイルリストだけです。
  • 前文の見出しは不要。 最初のH2より前の自由形式コンテキストには、H3-H6の見出しを追加できません。
  • サイズの制限。 50 KBを超えるファイルには、llms-full.txtの利用を提案する情報レベルの注記が表示されます。 llms-full.txt.

各診断にはルールコード(例: H1_REQUIRED, URL_RELATIVE)なので、CI ログから grep できます。

CIから使用する

このページを支えるのと同じパーサーをビルドに組み込めます。以下のルールコードは安定しているため、スクリプトで CI ログから grep できます。最小限の Node チェック:

import { readFileSync } from 'node:fs';
import { parseLlmsTxt, summarize } from './validator/validate'; // same parser as this validator

const input = readFileSync('public/llms.txt', 'utf8');
const parsed = parseLlmsTxt(input);
const sum = summarize(parsed);

if (!sum.passes) {
  for (const d of parsed.diagnostics) {
    console.error(`${d.severity.toUpperCase()} [${d.rule}] line ${d.line}: ${d.message}`);
  }
  process.exit(1);
}
console.log(`OK, ${parsed.sections.length} sections, ${parsed.sizeBytes} bytes`);

次のステップ

検証に合格したファイルでも、正しいファイルとは限りません。 ベストプラクティスの 10 個のルール では、バリデーターでは確認できない点を扱います。つまり、一覧にしたページがモデルに実際に必要なページかどうかです。それらが最も訪問数の多いページであることはめったにありません。ゼロから始めますか? ジェネレーター がサイトマップから有効なファイルを生成し、 llms.txt の作成方法 では技術構成ごとのデプロイ方法を説明しています。構文自体については、 形式リファレンス、または 実際のファイル Anthropic、Cloudflare、Stripeにより公開。

ソース