llms.txtは、LLMやエージェント向けにサイトの概要と資料へのリンクをMarkdownで示す提案です。
LMS教材の規格や、robots.txtのUser-agent・Disallowを記載するファイルではありません。
小さな案内ファイルから作る
以下はサイトのホームURL直下にllms.txtを返す例です。
WordPressのホームが/blog/なら/blog/llms.txtを対象にし、投稿ごとの末尾には追加しません。
既存の実ファイルやSEOプラグインが同じURLを提供していないことを確認します。
バックアップを取り、子テーマのfunctions.phpまたはPHPスニペットのどちらか一方へ次の例を追加します。
function waza_llms_request_matches( $uri, $method ) {
return in_array( $method, array( 'GET', 'HEAD' ), true )
&& wp_parse_url( $uri, PHP_URL_PATH ) === wp_parse_url( home_url( '/llms.txt' ), PHP_URL_PATH );
}
function waza_llms_text() {
// サイト名・説明・公開資料のURLを自分のサイトに合わせて編集します。
return "# サンプルサイト\n\n> WordPressの使い方を紹介するサイトです。\n\n"
. "## 公開資料\n\n- [トップページ](" . esc_url_raw( home_url( '/' ) ) . "): サイトの入口\n";
}
function waza_serve_llms() {
$method = $_SERVER['REQUEST_METHOD'] ?? '';
if ( ! waza_llms_request_matches( $_SERVER['REQUEST_URI'] ?? '', $method ) ) {
return;
}
status_header( 200 );
nocache_headers();
header( 'Content-Type: text/plain; charset=utf-8' );
if ( 'GET' === $method ) {
echo waza_llms_text();
}
exit;
}
add_action( 'init', 'waza_serve_llms', 20 );
内容と適用範囲
サンプルサイト名と説明を置き換え、ログアウト状態で読める資料だけを選んでリンクに追加します。
Markdown版の資料がある場合はそのURLを使い、存在しない.mdのURLを生成しないでください。
記事本文・会員情報を自動列挙しない構成なので、限定本文をこの出力へ複製する処理は含みません。
この実装は案内ファイルの出力だけであり、アクセス制御や学習拒否、AIへの採用、順位向上を保証するものではありません。
URLと公開範囲を決める
| WordPressのホーム | 案内ファイルのURL | 対象外のURL |
|---|---|---|
| https://example.com/ | https://example.com/llms.txt | 各投稿URLの末尾に付けた/llms.txt |
| https://example.com/blog/ | https://example.com/blog/llms.txt | https://example.com/llms.txt |
公開資料のリンクは、ログアウト状態で最後のURLまで開き、本文が読めることを確認します。別サービスの資料、会員限定のページ、存在しないMarkdown URLを自動的に追加しません。
案内が反映されない場合は、まずPHPがそのURLの処理を受け取っているか確認します。受け取らない構成では、同じパスの静的ファイルへ切り替えます。サイト全体のURL構造を変更する必要はありません。
確認と戻し方
対象URLへGETでアクセスし、200、text/plain、Markdown本文を確認します。
HEADでは本文がなく、通常の記事URLには影響しないことも確認します。
サーバーが存在しない.txtをWordPressへ渡さない構成では、このPHP処理に到達しないため、同じ内容の静的ファイルを設置する方法を選びます。
戻す場合は追加した関数とフックを停止し、必要に応じてそのURLのキャッシュを更新します。
隔離WordPressの実initフックから、GETの200・text/plain本文、HEADの本文なし、クエリー付きURL、ホーム配下の/blog/llms.txt、POSTと通常ページへの非適用、解除後の復帰を確認しました。PHPへ渡す検証用ルーターを使用しており、本番Webサーバーのrewrite設定や静的ファイルとの優先順位は導入先で確認してください。
仕様の根拠:llms.txtの提案。



